Zaloguje się
or
Tel +48 698 615 740

Podłączenie klawiatur membranowych do Arduino

24 marca, 2022

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.

Pliki do pobrania

Sticky
Możliwość komentowania Podłączenie klawiatur membranowych do Arduino została wyłączona
Adrian Wojtala

Adrian Wojtala

Ma 21 lat. Studiuje informatykę na Uniwersytecie DSW, ukończył technikum o profilu technik-informatyk. Interesuje się programowaniem i w przyszłości ma plan zostać back-end developerem. Swoją przygodę z Arduino rozpoczął podczas praktyk od września 2021 r.

Comments are closed.

Strona korzysta z plików cookies w celu realizacji usługi i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.