This tutorial is part of: Ba claviers
Ba vidéos nionso ya clavier ezali na liste awa.
Lolenge ya kosalela 4x4 Soft Keypad na Arduino
Na boyekoli oyo, tokotalela ndenge ya kokɔta mpe kosalela keypad ya pete 4x4 na Arduino. Keypad oyo ezali na bato zomi na motoba (seize) kasi esengeli kaka na ba pin mwambe (huit) mpo na kokɔta, yango esalaka ete ezali esaleli ya moke mpe ya kitoko mpo na misala ndenge na ndenge. Na suka ya boyekoli oyo, okokoka kotanga ba entrées na keypad mpe kosala ba actions kolanda ba entrées yango.

Tokosalela bibliothèque ya Keypad mpo na kosangisa na keypad, mpo na koyeba pete nini ya key oyo epresé. Programme oyo tokosalela ekolakisa key oyo epresé na écran ya serial mpe ekosala action soki key moko ya sikisiki epresé, lokola key '4'. Mpo na lisungi ya kotala, tala vidéo na (na vidéo na 00:00).
Explication ya Matériel
Élément principal ya projet oyo ezali keypad ya pete 4x4, oyo ezali na ba boutons zomi na motoba (16) oyo ebongisami na forme ya grille. Chaque bouton ekɔtaka na pin moko ya sikisiki na Arduino, mpo na koyeba soki bouton epresé. Keypad esalelaka méthode ya scanning ya matrice, epai ba lignes mpe ba colonnes eactivé na séquence mpo na koyeba nini ya key oyo epresé.
Mpo na kokɔta keypad, esengeli kosalela ba pin mwambe (8) ya digitale na Arduino. Ba lignes (rows) ekɔtaka na ba pins 2 téé 5, mpe ba colonnes ekɔtaka na ba pins 6 téé 9. Bokabwani oyo esalaka ete Arduino akoka kotanga état ya chaque key na ndenge ya malamu.
Détails ya Datasheet
| Largeur | 69mm |
|---|---|
| Longueur | 76mm |
| Longueur ya câble | 84mm |
| Largeur ya connecteur | 20mm |
| Espacement ya ba trous ya connecteur | 2.56mm |
- Kokamba malamu ba fils ya lignes mpe ba colonnes mpo na kokima ba erreurs ya kotanga.
- Sala uso ya ba résistances ya pull-up soki esengeli mpo na kopesa stabilité na ba lectures ya entrée.
- Debouncer ba keys na logiciel mpo na kokima ba lectures ebele mpo na pression moko.
- Meka chaque key moko na moko mpo na koyeba soki esalaka malamu.
- Keba ete keypad ezala na mokili mpe peto mpo na kobatela performance na yango.
Ba Instructions ya Kokɔta (Wiring)

Mpo na kokɔta keypad 4x4 na Arduino, kokɔta ba pins ya lignes ya keypad na ba pins ya digitale na Arduino ndenge oyo: kokɔta ligne ya liboso na pin 2, ligne ya mibale na pin 3, ligne ya misato na pin 4, mpe ligne ya minei na pin 5. Mpo na ba pins ya colonnes, kokɔta colonne ya liboso na pin 6, colonne ya mibale na pin 7, colonne ya misato na pin 8, mpe colonne ya minei na pin 9.
Bokabwani oyo esalaka ete Arduino akoka koscaner ba lignes mpe ba colonnes na ndenge ya malamu. Tika ete okamba malamu ba connexions mpo na koyeba ete chaque pin ekɔtani na ligne to colonne na yango ya sikisiki. Na vidéo, ba configurations ya kokɔta mosusu etali mokuse (na vidéo na 01:15). Soki oponi kokɔta na ndenge mosusu, kaka bongola ba numéro ya ba pins na code ndenge esengeli.
Ba Exemples ya Code & Explication
Na code, tobandi na kosangisa bibliothèque ya Keypad mpe na kopesa définition ya mise en page ya keypad. Ba lignes mpe ba colonnes ebongisami na ba tableaux, epai rowPins ekɔtani na ba pins ya digitale oyo ekɔtani na ba lignes mpe colPins ekɔtani na ba colonnes.
const byte ROWS = 4; //ba lignes minei
const byte COLS = 4; //ba colonnes minei
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Na eteni oyo, topesaka nombre ya ba lignes mpe ba colonnes, mpe mpe mise en page ya ba caractères ya ba keys. Bokabwani oyo ezali mpenza ntina mpo na koyeba nini ya key oyo epresé kolanda ligne mpe colonne oyo eactivé.
void setup(){
Serial.begin(9600);
}
Fonction setup ebandisaka communication ya serial na vitesse ya 9600 baud. Oyo ezali ntina mpo na kotinda ba données ya pression ya key na écran ya serial mpo na débogage mpe vérification.
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Key 4 epresé");
}
}
Na fonction loop, tozali koluka mbala na mbala mpo na key oyo epresé na kosalela keypad.getKey(). Soki key epresé, ekomaka valeur ya key na écran ya serial. Na libanda, soki key '4' epresé, ekomaka message ya sikisiki oyo elakisi ete key '4' eactivé. Eteni oyo ya code esalaka ete interaction ezala na tango ya solo kolanda ba entrées ya utilisateur.
Démonstration / Nini Okokanela
Ntango nyonso esili kobongisama mpe code ekomi na Arduino na yo, okomona ba keys oyo epresé na écran ya Serial Monitor. Soki opresi key '4', message "Key 4 epresé" ekomonana, mpo na kolakisa ete entrée yango emonani malamu. Keba na ba pièges ya mbala mingi, lokola ba entrées oyo ezali na flottement to kokɔta ya mabe, oyo ekoki komemela ba lectures ya mabe (na vidéo na 02:30).
Ba Timestamps ya Vidéo
- 00:00 - Introduction na keypad
- 01:15 - Ba instructions ya kokɔta
- 02:30 - Explication ya code mpe démonstration
This tutorial is part of: Ba claviers
- Kosakola na 4x3 Keypad na Arduino
- Code Arduino mpe Vidéo ya keypad ya ba touches minei
- Code ya Arduino mpe Video: Keypad Moiro ya 4x4
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- 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
- Écran LCD 1602 avec clavier : Code de base
/*
* Original source: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x4 keypad.
* Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
*
* Written by Ahmad Nejrabi for Robojax Video channel: www.Robojax.com
* Date: December 18, 2017, 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
*
*/
/* @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 = 4; //four columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
}
void loop(){
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'){
Serial.println("Key 4 is pressed");
}
}
Nko o na nki.
-
AmazonPurchase 4x4 keypad from Amazonamzn.to
-
AliExpressPurchase soft keypad from Aliexpresss.click.aliexpress.com
Mokili na bisika
Pas encore de ressources.