W artykule zostanie przedstawione podłączenie i wykorzystanie jedenastu różnych klawiatur membranowych do Arduino. Każda klawiatura będzie miała przedstawione połączenie oraz gotowy kod do użycia.
Spis treści
- Potrzebna biblioteka
- Klawiatura Membranowa 1 przycisk
- Klawiatura Membranowa 2 przyciski
- Klawiatura Membranowa 3 przyciski
- Klawiatura Membranowa 3 przyciski Menu Przód Tył Kropka
- Klawiatura Membranowa 4 przyciski
- Klawiatura Membranowa 4 przyciski Numeryczne od 1 do 4
- Klawiatura Membranowa 5 przycisków
- Klawiatura Membranowa 5 przycisków Kierunkowych
- Klawiatura Membranowa 6 przycisków
- Klawiatura membranowa 4 x 5 matryca
- Pliki do pobrania
Potrzebna biblioteka
Potrzebną bibliotekę do poniższych klawiatur można pobrać z samego dołu artykułu lub klikając tutaj. Będzie ona niezbędna do wykonania przykładów.
Klawiatura Membranowa 1 przycisk
Specyfikacja
– ilość przycisków: 1
– wymiary: 20 x 23 x 0,8 mm
– długość taśmy wraz ze złączem: 900 mm
– rodzaj złącza: 1 x 2 pin, raster 2.54 pod goldpin
Podłączenie
Jeden z pinów wpinamy do 8, a drugi do GDN. Po wykonaniu takiego podłączenia mamy działający przycisk.
Zaprogramowanie
Działanie przycisku można sprawdzić za pomocą prostego programu poniżej.
void setup() { pinMode(8, INPUT_PULLUP); Serial.begin(9600); } void loop() { if(digitalRead(8)==LOW) { Serial.println("Wcisniety"); } }
Gdy wgramy program, po wciśnięciu przycisku w monitorze portu szeregowego powinno wyświetlić się słowo “Wcisniety”.
Klawiatura Membranowa 2 przyciski
Specyfikacja
– ilość przycisków: 2
– wymiary: 40 x 20 x 0,8 mm
– długość taśmy wraz ze złączem: 100 mm
– rodzaj złącza: 1 x 3 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9 i pin 8 do Arduino. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 2; //four rows const byte COLS = 1; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'c'}, {'z'} }; byte rowPins[ROWS] = {8,9}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu czerwonego, zielonego lub żółtego przycisku. W monitorze portu szeregowego powinna wyświetlić się literka c – czerwony albo z – żółty. Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura Membranowa 3 przyciski
Specyfikacja
– ilość przycisków: 3
– wymiary: 57 x 20 x 0,8 mm
– długość taśmy wraz ze złączem: 100 mm
– rodzaj złącza: 1 x 4 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9, pin 8 i pin 7 do Arduino. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 3; //four rows const byte COLS = 1; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'c'}, {'z'}, {'Z'} }; byte rowPins[ROWS] = {7,8,9}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu zielonego, żółtego lub czerwonego przycisku. W monitorze portu szeregowego powinna wyświetlić się literka Z – zielony, c – czerwony albo z – żółty. Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura Membranowa 3 przyciski Menu Przód Tył Kropka
Specyfikacja
– ilość przycisków: 3
– wymiary: 59 x 40.5 x 0,8 mm
– długość taśmy wraz ze złączem: 105 mm
– rodzaj złącza: 1 x 4 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9, pin 8 i pin 7 do Arduino. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 3; //four rows const byte COLS = 1; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'S'}, {'D'}, {'U'} }; byte rowPins[ROWS] = {7,8,9}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu strzałki w górę, strzałki w dół lub kropki. W monitorze portu szeregowego powinna wyświetlić się literka U – up, D – down albo S – select. Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura Membranowa 4 przyciski
Specyfikacja
– ilość przycisków: 4
– wymiary: 107 x 20 x 0,8 mm
– długość taśmy wraz ze złączem: 80 mm
– rodzaj złącza: 1 x 5 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9, pin 8, pin 7 i pin 6 do Arduino. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 1; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'c'}, {'z'}, {'z'}, {'Z'} }; byte rowPins[ROWS] = {6,7,8,9}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu zielonego, żółtego lub czerwonego przycisku. W monitorze portu szeregowego powinna wyświetlić się literka Z – zielony, c – czerwony albo z – żółty. Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura Membranowa 4 przyciski Numeryczne od 1 do 4
Specyfikacja
– ilość przycisków: 4
– wymiary: 70 x 20 x 0,8 mm
– długość taśmy wraz ze złączem: 79 mm
– rodzaj złącza: 1 x 6 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9, pin 8, pin 7 i pin 6 do Arduino. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 1; //four rows const byte COLS = 4; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'2','1','4','3'} }; byte rowPins[ROWS] = {10}; //connect to the row pinouts of the keypad byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu przycisku w monitorze portu szeregowego powinna wyświetlić się cyfra 1, 2, 3 albo 4. Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura Membranowa 5 przycisków
Specyfikacja
– ilość przycisków: 5
– wymiary: 107 x 20 x 0,8 mm
– długość taśmy wraz ze złączem: 900 mm
– rodzaj złącza: 1 x 6 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9, pin 8, pin 7, pin 6 i pin 5 do Arduino. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 5; //four rows const byte COLS = 1; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'c'}, {'z'}, {'z'}, {'z'}, {'Z'} }; byte rowPins[ROWS] = {5,6,7,8,9}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu zielonego, żółtego lub czerwonego przycisku. W monitorze portu szeregowego powinna wyświetlić się literka Z – zielony, c – czerwony albo z – żółty. Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura Membranowa 5 przycisków Kierunkowych
Specyfikacja
– ilość przycisków: 5
– wymiary: 40 x 40.5 x 0,8 mm
– długość taśmy wraz ze złączem: 100 mm
– rodzaj złącza: 1 x 6 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9, pin 8, pin 7, pin 6 i pin 5 do Arduino. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 5; //four rows const byte COLS = 1; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'c'}, {'z'}, {'z'}, {'z'}, {'Z'} }; byte rowPins[ROWS] = {5,6,7,8,9}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu przycisku w monitorze portu szeregowego powinna wyświetlić się literka I – INC, B – BEFORE, S – SEL, N – NEXT albo D – DEC. Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura Membranowa 6 przycisków
Specyfikacja
– ilość przycisków: 6
– wymiary: 104 x 24 x 0,8 mm
– długość taśmy wraz ze złączem: 100 mm
– rodzaj złącza: 1 x 9 pin, raster 2.54 pod goldpin
Podłączenie
Kładziemy na przeciwko siebie klawiaturę i od lewej strony podłączamy następująco: pin 10, pin 9, pin 8, pin 7, pin 6 i pin 5 do Arduino. Następnie podpinamy diodę, czyli dwa ostatnie piny klawiatury do GND i 3.3V. Po takim podłączeniu możemy przejść do zaprogramowania klawiatury.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 1; //four rows const byte COLS = 6; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'A','M','L','R','S','O'} }; byte rowPins[ROWS] = {10}; //connect to the row pinouts of the keypad byte colPins[COLS] = {9,8,7,6,5,4}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu przycisku w monitorze portu szeregowego powinna wyświetlić się literka A – AUTO, M – MENU, L – LEFT, R – RIGHT, S – SELECT albo O – ON/OFF . Zależy od tego jaki przycisk aktualnie wciskamy.
Klawiatura membranowa 4 x 5 matryca
Specyfikacja
– ilość przycisków: 20
– wymiary: 73 x 85 x 0,8 mm
– długość taśmy wraz ze złączem: 105 mm
– rodzaj złącza: 1 x 9 pin, raster 2.54 pod goldpin
Podłączenie
Połączenie będzie bardzo proste, trzymając na przeciwko klawiaturę, zaczynamy podłączać od lewej jej strony do kolejnych pinów arduino 10, 9, 8, 7, 6, 5, 4, 3, 2.
Zaprogramowanie
Jest to przerobiony specjalnie pod rozmiar klawiatury jeden z przykładów biblioteki Keypad.
#include <Keypad.h> const byte ROWS = 5; //four rows const byte COLS = 4; //four columns //define the cymbols on the buttons of the keypads char hexaKeys[ROWS][COLS] = { {'F','f','#','*'}, {'1','2','3','U'}, {'4','5','6','D'}, {'7','8','9','e'}, {'L','0','R','E'} }; byte rowPins[ROWS] = {2, 3, 4, 5, 6}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10, 9, 8, 7}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
Po wgraniu programu i naciśnięciu przycisku w monitorze portu szeregowego powinna wyświetlić się literka. Litery które wymagają omówienia to: e – Esc, E – Ent, F – F1, f- F2, U – ↑, D – ↓, L – ←, R – → . Zależy od tego jaki przycisk aktualnie wciskamy.