Tento návod je súčasťou: Klávesnice
Všetky videá o klávesnici sú uvedené tu.
Používanie 4x3 klávesnice s Arduinom
V tomto návode si ukážeme, ako používať 4x3 klávesnicu s Arduino na čítanie stlačení klávesov. Túto klávesnicu možno využiť v rôznych projektoch, napríklad na vytvorenie jednoduchého vstupného rozhrania pre bezpečnostný systém alebo akúkoľvek aplikáciu vyžadujúcu vstup od používateľa. Na konci tejto príručky budete schopní čítať stlačenia klávesov a reagovať na konkrétne klávesy.

Nezabudnite si pozrieť sprievodné video pre vizuálnu ukážku zapojenia a implementácie kódu (vo videu o 00:00).
Vysvetlenie hardvéru
Hlavné komponenty pre tento projekt zahŕňajú 4x3 klávesnicu a dosku Arduino. Klávesnica pozostáva z matice tlačidiel usporiadaných v 4 riadkoch a 3 stĺpcoch. Keď sa stlačí tlačidlo, spojí konkrétny riadok s konkrétnym stĺpcom, čo umožňuje Arduinu identifikovať, ktoré tlačidlo bolo stlačené.
Doska Arduino funguje ako centrálny ovládač, ktorý číta vstupy z klávesnice. Využíva knižnicu Keypad, ktorá zjednodušuje proces správy maticovej klávesnice a uľahčuje detekciu stlačení klávesov.
Podrobnosti z datasheetu
| Výrobca | Rôzni |
|---|---|
| Číslo dielu | 4x3 klávesnica |
| Logické napätie | 5 V |
| Prevádzkový prúd | ≤ 20 mA |
| Životnosť klávesov | ≥ 1 000 000 stlačení |
| Balenie | Maticová klávesnica |
- Pripojte piny klávesnice správne k digitálnym pinom Arduina.
- V prípade potreby použite pull-up alebo pull-down rezistory v závislosti od vášho zapojenia.
- Uistite sa, že knižnica Keypad je zahrnutá vo vašom Arduino IDE.
- V softvéri vykonajte debouncing stlačení klávesov, aby ste predišli viacnásobnému čítaniu.
- Otestujte každý kláves, aby ste potvrdili správne zapojenie a funkčnosť.
Pokyny na zapojenie

Na zapojenie 4x3 klávesnice k Arduinu pripojíte piny riadkov a stĺpcov z klávesnice k digitálnym pinom na Arduine. Pripojte piny riadkov (zvyčajne 4 piny) k pinom 2, 3, 4 a 5 na Arduine. Piny stĺpcov (zvyčajne 3 piny) by mali byť pripojené k pinom 6, 7 a 8.
Uistite sa, že uzemňovací pin klávesnice pripojíte k uzemneniu Arduina a napájací pin k výstupu 5V. Toto zapojenie umožní Arduinu čítať stav každého klávesu pri stlačení pomocou knižnice Keypad na spracovanie skenovania matice.
Príklady kódu a vysvetlenie
Nasledujúci kód inicializuje klávesnicu a vypisuje stlačený kláves do sériového monitora. Hodnoty klávesov sú uložené v poli znakov.
const byte ROWS = 4; //štyri riadky
const byte COLS = 3; //tri stĺpce
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
Pole keys definuje rozloženie klávesnice, ktoré zodpovedá fyzickému usporiadaniu klávesov. Každý znak predstavuje tlačidlo na klávesnici.

Ďalej nastavíme klávesnicu vo funkcii setup():
void setup(){
Serial.begin(9600);
Serial.println("Robojax 4x3 klávesnica");
}
Tento segment inicializuje sériovú komunikáciu pri prenosovej rýchlosti 9600, čo nám umožňuje zobraziť stlačenia klávesov v sériovom monitore.
Nakoniec slučka kontroluje stlačenia klávesov a primerane reaguje:
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Kláves 4 je stlačený");
}
}
Tu program kontroluje, či je stlačený nejaký kláves pomocou keypad.getKey(). Ak je kláves stlačený, vypíše jeho hodnotu. Okrem toho, ak je stlačený kláves '4', zobrazí sa konkrétna správa.
Ukážka / Čo očakávať
Keď je zapojenie dokončené, stlačenie ľubovoľného klávesu na klávesnici by malo vypísať zodpovedajúci znak do sériového monitora. Ak sa stlačí kláves '4', vypíše sa špeciálna správa oznamujúca aktiváciu tohto klávesu. Táto funkcia vám umožňuje stavať na tomto základe pre zložitejšie aplikácie.
Buďte opatrní pri plávajúcich vstupoch, ktoré môžu viesť k nepravidelnému správaniu. Uistite sa, že všetky spojenia sú pevné, a otestujte každý kláves, aby ste potvrdili správnu funkčnosť (vo videu o 00:00).
Tento návod je súčasťou: Klávesnice
- Kód Arduina a video pre štvortlačidlovú klávesnicu
- Kód Arduina a video: 4x4 maticová čierna klávesnica
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Ako používať 4x4 mäkkú klávesnicu s Arduinom
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- 1602 LCD klávesnicový štít: Základný kód
/*
* Library taken from: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x3 keypad.
* Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
resources page: www.Robojax.com/RJT104
*
* Modified by Ahmad Shamshiri for the Robojax Video channel: www.Robojax.com/RJT104
* Date: July 11, 2018 at 19:56 in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
* This code has been downloaded from https://robojax.com
* Watch video instructions for this code:
*
*/
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
// Robojax 4x3 keypad test
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}
void loop(){
// Robojax 4x3 keypad test
char key = keypad.getKey();
// Just print the pressed key
if (key){
Serial.println(key);
}
// This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
if (key =='4'){
// If key matches what you are looking for
Serial.println("Key 4 is pressed");
}
}
Veci, ktoré by ste mohli potrebovať
-
AmazonPurchase 4x3 keypad from Amazonamzn.to
Zdroje a referencie
Zatiaľ žiadne zdroje.
Súbory📁
Súbor Fritzing
-
Membrane Matrix Keypad 4x3
Membrane Matrix Keypad 4x3.fzpz0.01 MB
Iné súbory
-
LCD keypad library
robojax-1602_LCD_keypad.zip0.01 MB