This tutorial is part of: Tastaturi
Toate videoclipurile cu tastaturi sunt listate aici.
Cod Arduino și Video: Tastatură Neagră cu Matrice 4x4
În acest tutorial, vom explora cum să folosim o tastatură matriceală 4x4 cu Arduino pentru a efectua acțiuni pe baza apăsărilor de taste. Tastatura vă permite să introduceți valori, cum ar fi '6', 'A', 'B', 'D', și să efectuați sarcini specifice atunci când aceste taste sunt apăsate. Urmărind tutorialul, veți învăța cum să configurați tastatura și să scrieți codul necesar pentru a interacționa cu ea eficient. Pentru clarificări suplimentare, asigurați-vă că vizionați videoclipul (în videoclip la 00:00).

Hardware Explicat
Tastatura matriceală 4x4 constă din 16 taste aranjate într-o grilă 4x4. Fiecare apăsare de tastă conectează rânduri și coloane specifice, permițând microcontrolerului să determine care tastă a fost apăsată. Tastatura este conectată la Arduino folosind pini digitali, care vor fi configurați în cod pentru a citi apăsările de taste.
În acest proiect, vom folosi biblioteca Keypad, care simplifică procesul de citire a intrărilor de la tastatură. Biblioteca gestionează logica de scanare a rândurilor și coloanelor, facilitând concentrarea pe funcționalitatea proiectului dumneavoastră.
Detalii din Fișa Tehnică
| Producător | Generic |
|---|---|
| Număr de piesă | Tastatură Matriceală 4x4 |
| Tensiune logică/IO | 5 V |
| Durată de viață a tastelor | 1.000.000 de apăsări |
| Dimensiuni | 68,5 mm x 9,8 mm |
| Greutate | 23 g |
- Conectați pinii de rând la pinii digitali 2-5.
- Conectați pinii de coloană la pinii digitali 6-9.
- Asigurați o cablare corectă pentru a evita citiri greșite.
- Utilizați rezistențe pull-up dacă este necesar pentru stabilitate.
- Debounce apăsările de taste în software pentru a evita citiri multiple.
Instrucțiuni de Cablare
Pentru a cabla tastatura matriceală 4x4 la Arduino, începeți prin conectarea pinilor de rând. Conectați primul pin de rând la pinul digital 5, al doilea pin de rând la 4, al treilea pin de rând la 3, și al patrulea pin de rând la 2. Apoi, conectați pinii de coloană, începând cu primul pin de coloană la pinul digital 9, al doilea pin de coloană la 8, al treilea pin de coloană la 7, și al patrulea pin de coloană la 6. Această configurare urmează o abordare de cablare de la dreapta la stânga, așa cum este descris în videoclip (în videoclip la 00:00).
Asigurați-vă că atașați ferm firele la tastatură și la Arduino pentru a preveni conexiunile slabe. Puteți folosi conectori femei pentru a face conexiunile mai ușor de gestionat. Dacă folosiți o breadboard, asigurați-vă că toate conexiunile sunt bine fixate.
Exemple de Cod și Explicații
Următorul cod inițializează tastatura și configurează comunicarea serială. Acest lucru vă permite să vedeți care tastă este apăsată în monitorul serial.
#include
const byte ROWS = 4; //patru rânduri
const byte COLS = 4; //patru coloane
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
În acest fragment, definim numărul de rânduri și coloane și creăm o matrice de caractere keys care mapează tastele de pe tastatură. Această matrice va fi folosită pentru a identifica care tastă este apăsată.
void setup(){
Serial.begin(9600);
}
În funcția setup, inițializăm comunicarea serială la o rată de transmisie de 9600. Acest lucru ne permite să afișăm apăsările de taste în monitorul serial pentru depanare și observare.
void loop(){
char key = keypad.getKey();
if (key){
Serial.print("Tasta ");
Serial.print(key);
Serial.println(" este apăsată");
}
}
Funcția loop verifică continuu apăsările de taste folosind keypad.getKey(). Dacă o tastă este apăsată, afișează valoarea tastei în monitorul serial. Aici veți vedea feedback-ul în timp real al intrării dumneavoastră.

Demonstrație / Ce să Vă Așteptați
Odată ce cablarea și codul sunt configurate corect, ar trebui să vedeți apăsările de taste afișate în monitorul serial. Apăsarea tastei '4' va declanșa o acțiune specifică, pe care o puteți personaliza în cod. Această configurare permite diverse aplicații, cum ar fi controlul dispozitivelor pe baza intrărilor utilizatorului. Fiți atenți la polaritatea inversată și asigurați-vă că toate conexiunile sunt sigure pentru a evita probleme (în videoclip la 00:00).
Marcaje Temporale din Videoclip
- 00:00 Introducere
- 01:30 Cablarea tastaturii
- 02:45 Explicația codului
- 04:00 Demonstrația apăsărilor de taste
This tutorial is part of: Tastaturi
- Utilizarea tastaturii 4x3 cu Arduino
- Cod Arduino și Video pentru o Tastatură cu Patru Taste
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Cum să folosești tastatura soft 4x4 cu Arduino
- 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 Keypad Shield: Cod de bază
/*
* Original source: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x4 keypad.
* Watch the video for details and demo: https://youtu.be/1rfrvOTxtrg
* *
* Written by Ahmad S. for Robojax Video channel www.Robojax.com
resources page for this code robojax.com/RJT75
* Date: April 15, 2018, 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'}
};
// connect the pins from right to left to pins 2, 3, 4, 5, 6, 7, 8, 9
byte rowPins[ROWS] = {5,4,3,2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9,8,7,6}; //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.print("Key ");
Serial.print(key);
Serial.println(" is pressed");
}
// This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
if (key =='4'){
// Do something here if 4 is pressed
Serial.println("Key 4 is pressed -> Action");
}
}
Lucruri de care ai putea avea nevoie
-
Amazon
-
AmazonPurchase 4x4 keypad from Amazonamzn.to
Resurse și referințe
Încă nu sunt resurse.