Овој туторијал е дел од: Тастатури
Сите видеа на тастатурата се наведени овде.
Како да користите 4x4 мек тастатура со Arduino
Во ова упатство, ќе истражиме како да поврземе и користиме 4x4 мека тастатура со Arduino. Оваа тастатура има шеснаесет копчиња, но бара само осум пинови за поврзување, што ја прави компактна и ефикасна влезна направа за различни проекти. До крајот на ова упатство, ќе можете да читате влезови од тастатурата и да активирате дејства врз основа на тие влезови.

Ќе ја користиме библиотеката Keypad за да комуницираме со тастатурата, што ќе ни овозможи лесно да откриеме кое копче е притиснато. Програмата што ќе ја имплементираме ќе го прикажува притиснатото копче на серискиот монитор и ќе преземе дејство кога ќе се притисне одредено копче, како копчето '4'. За повеќе визуелни насоки, задолжително погледнете го видеото (во видеото на 00:00).
Објаснување на хардверот
Главната компонента на овој проект е 4x4 меката тастатура, која се состои од 16 копчиња распоредени во мрежа. Секое копче се поврзува со одреден пин на Arduino, што овозможува откривање кога е притиснато копче. Тастатурата работи со метод на матрично скенирање, каде редовите и колоните се активираат последователно за да се одреди кое копче е притиснато.
За да ја поврзете тастатурата, ќе треба да користите осум дигитални пинови на Arduino. Редовите обично се поврзуваат со пиновите 2 до 5, додека колоните се поврзуваат со пиновите 6 до 9. Овој распоред му овозможува на Arduino ефикасно да ја чита состојбата на секое копче.
Детали од техничката спецификација
| Ширина | 69мм |
|---|---|
| Должина | 76мм |
| Должина на кабелот | 84мм |
| Ширина на конекторот | 20мм |
| Растојание помеѓу дупките на конекторот | 2.56мм |
- Осигурете се правилно поврзување на пиновите за редови и колони за да избегнете погрешни читања.
- Користете pull-up отпорници ако е потребно за да ги стабилизирате влезните читања.
- Дебунсирајте ги копчињата во софтверот за да избегнете повеќекратни читања за едно притискање.
- Тестирајте го секое копче поединечно за да се осигурате дека функционира.
- Чувајте ја тастатурата сува и чиста за да ја одржите нејзината функционалност.
Инструкции за поврзување

За да ја поврзете 4x4 тастатурата со Arduino, поврзете ги пиновите на редовите од тастатурата со дигиталните пинови на Arduino на следниов начин: поврзете го првиот ред со пин 2, вториот ред со пин 3, третиот ред со пин 4 и четвртиот ред со пин 5. За пиновите на колоните, поврзете ја првата колона со пин 6, втората колона со пин 7, третата колона со пин 8 и четвртата колона со пин 9.
Оваа поставка му овозможува на Arduino ефикасно да ги скенира редовите и колоните. Проверете ги врските двапати за да се осигурате дека секој пин одговара правилно на својот назначен ред или колона. Во видеото, накратко се дискутираат алтернативни конфигурации на поврзување (во видеото на 01:15). Ако одберете да поврзете поинаку, едноставно ажурирајте ги броевите на пиновите во кодот соодветно.
Примери на код и објаснување
Во кодот, започнуваме со вклучување на библиотеката Keypad и дефинирање на распоредот на тастатурата. Редовите и колоните се поставени со користење на низи, каде rowPins се мапира на дигиталните пинови поврзани со редовите, а colPins се мапира на колоните.
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'}
};
Во овој извадок, го дефинираме бројот на редови и колони, како и распоредот на карактерите на копчињата. Оваа поставка е клучна за идентификување кое копче е притиснато врз основа на активираниот ред и колона.
void setup(){
Serial.begin(9600);
}
Функцијата setup ја иницијализира сериската комуникација со брзина од 9600 бауди. Ова е важно за испраќање податоци за притиснати копчиња до серискиот монитор за дебагирање и проверка.
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Копчето 4 е притиснато");
}
}
Во функцијата loop, постојано проверуваме дали е притиснато копче користејќи keypad.getKey(). Ако е притиснато копче, ја печати вредноста на копчето на серискиот монитор. Дополнително, ако е притиснато копчето '4', печати специфична порака што означува дека копчето '4' е активирано. Овој дел од кодот овозможува интеракција во реално време врз основа на корисничкиот влез.
Демонстрација / Што да очекувате
Откако сè ќе биде поставено и кодот ќе биде испратен на вашиот Arduino, треба да ги видите притиснатите копчиња прикажани во Серискиот монитор. Ако го притиснете копчето '4', пораката „Копчето 4 е притиснато“ ќе се појави, потврдувајќи дека влезот е успешно откриен. Бидете внимателни на вообичаените замки, како што се лебдечки влезови или неправилно поврзување, кои можат да доведат до погрешни читања (во видеото на 02:30).
Временски ознаки од видеото
- 00:00 - Вовед во тастатурата
- 01:15 - Инструкции за поврзување
- 02:30 - Објаснување на кодот и демонстрација
Овој туторијал е дел од: Тастатури
- Користење на 4x3 тастатура со Arduino
- Ардуино код и видео за тастатура со четири копчиња
- Ардуино код и видео: 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
- 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: 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");
}
}
Работи што можеби ќе ви требаат
-
AmazonBuy 4x4 keypad from Amazonamzn.to
-
AliExpressBuy soft keypad from AliExpresss.click.aliexpress.com
Ресурси и референци
Сè уште нема ресурси.