Бұл оқулық бөлігі болып табылады: Keypads
All keypad videos are listed here.
Ардуино коды және бейне: 4x4 матрицалық қара пернетақта
Бұл оқулықта біз Arduino-мен 4x4 матрицалық пернетақтаны қалай пайдалану керектігін зерттейміз, пернелерді басуға негізделген әрекеттерді орындау үшін. Пернетақта '6', 'A', 'B', 'D' сияқты мәндерді енгізуге және осы пернелер басылғанда нақты тапсырмаларды орындауға мүмкіндік береді. Осыны орындау арқылы сіз пернетақтаны қалай орнату керектігін және онымен тиімді әрекеттесу үшін қажетті кодты жазу керектігін үйренесіз. Қосымша түсініктеме алу үшін бейнені тексеріңіз (бейнеде 00:00).

Аппараттық құрал түсіндірмесі
4x4 матрицалық пернетақта 4x4 торда орналасқан 16 пернеден тұрады. Әр пернені басу нақты жолдар мен бағандарды қосады, бұл микроконтроллерге қай перненің басылғанын анықтауға мүмкіндік береді. Пернетақта Arduino-ға цифрлық түйреуіштер арқылы қосылады, олар кодта пернелерді басуды оқу үшін конфигурацияланады.
Бұл жобада біз пернетақтадан кірісті оқу процесін жеңілдететін Keypad кітапханасын қолданамыз. Кітапхана жолдар мен бағандарды сканерлеу логикасын өңдейді, бұл сізге жобаңыздың функционалдығына назар аударуды жеңілдетеді.
Деректер парағының мәліметтері
| Өндіруші | Generic |
|---|---|
| Бөлшек нөмірі | 4x4 Матрицалық Пернетақта |
| Логика/IO кернеуі | 5 В |
| Перненің қызмет мерзімі | 1,000,000 басу |
| Өлшемдері | 68.5 мм x 9.8 мм |
| Салмағы | 23 г |
- Жол түйреуіштерін 2-5 цифрлық түйреуіштерге қосыңыз.
- Баған түйреуіштерін 6-9 цифрлық түйреуіштерге қосыңыз.
- Қате оқуларды болдырмау үшін дұрыс сым қосылымын қамтамасыз етіңіз.
- Тұрақтылық үшін қажет болса, жоғары тарту резисторларын қолданыңыз.
- Бірнеше оқуларды болдырмау үшін бағдарламалық қамтамасыз етуде пернелерді басуды дебаунс жасаңыз.
Сым қосу нұсқаулары
4x4 матрицалық пернетақтаны Arduino-ға қосу үшін жол түйреуіштерін қосудан бастаңыз. Бірінші жол түйреуішін цифрлық түйреуішке 5, екінші жол түйреуішін 4, үшінші жол түйреуішін 3, төртінші жол түйреуішін 2 қосыңыз. Содан кейін баған түйреуіштерін қосыңыз, бірінші баған түйреуішін цифрлық түйреуішке 9, екінші баған түйреуішін 8, үшінші баған түйреуішін 7, төртінші баған түйреуішін 6 қосыңыз. Бұл орнату бейнеде сипатталғандай оңнан солға қарай сым қосу тәсілін ұстанады (бейнеде 00:00).
Сымдарды пернетақтаға және Arduino-ға мықтап бекітіңіз, бос қосылыстарды болдырмау үшін. Қосылыстарды ыңғайлы ету үшін аналық қосқыштарды қолдануға болады. Егер макет тақтасын қолдансаңыз, барлық қосылыстардың мықтап орнатылғанына көз жеткізіңіз.
Код мысалдары және түсіндірме
Келесі код пернетақтаны инициализациялайды және сериялық байланысты орнатады. Бұл қай перненің басылғанын сериялық мониторда көруге мүмкіндік береді.
#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("Key ");
Serial.print(key);
Serial.println(" is pressed");
}
}
loop функциясы keypad.getKey() арқылы пернелерді басуды үздіксіз тексереді. Егер перне басылса, ол перненің мәнін сериялық мониторға басып шығарады. Міне, сіз кірістің нақты уақыттағы кері байланысын көресіз.

Демонстрация / Не күтуге болады
Сым қосу және код дұрыс орнатылғаннан кейін, пернелерді басу сериялық мониторда көрсетілуі керек. '4' пернесін басу нақты әрекетті іске қосады, оны кодта теңшеуге болады. Бұл орнату пайдаланушы кірісіне негізделген құрылғыларды басқару сияқты әртүрлі қолданбаларға мүмкіндік береді. Полярлықтың ауысуына абай болыңыз және мәселелерді болдырмау үшін барлық қосылыстардың мықты екеніне көз жеткізіңіз (бейнеде 00:00).
Бейне уақыт белгілері
- 00:00 Кіріспе
- 01:30 Пернетақтаны сым қосу
- 02:45 Кодты түсіндіру
- 04:00 Пернелерді басу демонстрациясы
Бұл оқулық бөлігі болып табылады: Keypads
- Arduino көмегімен 4x3 пернетақтаны қолдану
- Ардуино коды және төрт пернелі пернетақтаға арналған бейне
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- 4x4 Soft Keypad-ты 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 пернетақта қалқаны: Негізгі код
/*
* 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");
}
}
Сізге қажет болуы мүмкін нәрселер
-
АмазонкаBuy 4x4 keypad from Amazonamzn.to
-
Амазонка
Ресурстар мен сілтемелер
Әлі ресурстар жоқ.