Овој туторијал е дел од: Тастатури
Сите видеа на тастатурата се наведени овде.
Ардуино код и видео: 4x4 матрична црна тастатура
Во ова упатство, ќе истражиме како да користиме матрична тастатура 4x4 со Arduino за да извршуваме дејства врз основа на притискање на копчиња. Тастатурата ви овозможува да внесувате вредности, како што се '6', 'A', 'B', 'D', и да извршувате специфични задачи кога тие копчиња се притиснати. Следејќи ги чекорите, ќе научите како да ја поставите тастатурата и да го напишете потребниот код за ефикасна интеракција со неа. За дополнително појаснување, задолжително погледнете го видеото (во видео на 00:00).

Објаснување на хардверот
Матричната тастатура 4x4 се состои од 16 копчиња распоредени во мрежа 4x4. Секое притискање на копче поврзува специфични редови и колони, овозможувајќи му на микроконтролерот да одреди кое копче е притиснато. Тастатурата е поврзана со Arduino користејќи дигитални пинови, кои ќе бидат конфигурирани во кодот за читање на притисоците на копчињата.
Во овој проект, ќе ја користиме библиотеката Keypad, која го поедноставува процесот на читање влез од тастатурата. Библиотеката ја обработува логиката на скенирање на редовите и колоните, што ви олеснува да се фокусирате на функционалноста на вашиот проект.
Детали од техничката документација
| Производител | Генерички |
|---|---|
| Број на дел | Матрична тастатура 4x4 |
| Логички/IO напон | 5 V |
| Животен век на копчињата | 1.000.000 притисоци |
| Димензии | 68,5 mm x 9,8 mm |
| Тежина | 23 g |
- Поврзете ги пиновите на редовите со дигитални пинови 2-5.
- Поврзете ги пиновите на колоните со дигитални пинови 6-9.
- Осигурете правилно поврзување за да избегнете погрешни читања.
- Користете pull-up отпорници ако е потребно за стабилност.
- Дебаунсирајте ги притисоците на копчињата во софтверот за да избегнете повеќекратни читања.
Инструкции за поврзување
За да ја поврзете матричната тастатура 4x4 со Arduino, започнете со поврзување на пиновите на редовите. Поврзете го првиот пин на редот со дигитален пин 5, вториот пин на редот со 4, третиот пин на редот со 3, и четвртиот пин на редот со 2. Потоа, поврзете ги пиновите на колоните, започнувајќи со првиот пин на колоната со дигитален пин 9, вториот пин на колоната со 8, третиот пин на колоната со 7, и четвртиот пин на колоната со 6. Ова поставување следи пристап на поврзување од десно кон лево, како што е опишано во видеото (во видео на 00:00).
Осигурете се дека жиците се цврсто прикачени на тастатурата и Arduino за да спречите лабави врски. Можете да користите женски конектори за да ги направите врските поуредни. Ако користите breadboard, осигурете се дека сите врски се цврсто поставени.
Примери на код и објаснување
Следниот код ја иницијализира тастатурата и ја поставува сериската комуникација. Ова ви овозможува да видите кое копче е притиснато во серискиот монитор.
#include
const byte ROWS = 4; // четири редови
const byte COLS = 4; // четири колони
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Во овој извадок, ги дефинираме бројот на редови и колони и создаваме низа од знаци keys што ги мапира копчињата на тастатурата. Оваа низа ќе се користи за идентификување кое копче е притиснато.
void setup(){
Serial.begin(9600);
}
Во функцијата setup, ја иницијализираме сериската комуникација со брзина од 9600 бауди. Ова ни овозможува да ги испечатиме притисоците на копчињата во серискиот монитор за дебагирање и набљудување.
void loop(){
char key = keypad.getKey();
if (key){
Serial.print("Копче ");
Serial.print(key);
Serial.println(" е притиснато");
}
}
Функцијата loop континуирано проверува за притисоци на копчиња користејќи keypad.getKey(). Ако копче е притиснато, ја печати вредноста на копчето во серискиот монитор. Ова е местото каде што ќе видите повратна информација во реално време за вашиот влез.

Демонстрација / Што да очекувате
Откако поврзувањето и кодот се правилно поставени, треба да ги видите притисоците на копчињата прикажани во серискиот монитор. Притискањето на '4' ќе активира специфично дејство, кое можете да го прилагодите во кодот. Ова поставување овозможува различни апликации, како што е контролирање на уреди врз основа на кориснички влез. Бидете внимателни со обратен поларитет и осигурете се дека сите врски се безбедни за да избегнете проблеми (во видео на 00:00).
Временски ознаки од видеото
- 00:00 Вовед
- 01:30 Поврзување на тастатурата
- 02:45 Објаснување на кодот
- 04:00 Демонстрација на притисоци на копчиња
Овој туторијал е дел од: Тастатури
- Користење на 4x3 тастатура со Arduino
- Ардуино код и видео за тастатура со четири копчиња
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Како да користите 4x4 мек тастатура со 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: Основен код
/*
* 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");
}
}
Работи што можеби ќе ви требаат
-
AmazonBuy 4x4 keypad from Amazonamzn.to
-
Amazon
Ресурси и референци
Сè уште нема ресурси.