Съдържание:
- Стъпка 1: Първи стъпки
- Стъпка 2: Използване на 12 -цифрена клавиатура
- Стъпка 3: Използване на 16 -цифрена клавиатура
- Стъпка 4: Примерен проект - система за достъп до PIN
Видео: Използване на цифрови клавиатури с Arduino: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Цифровите клавиатури могат да предоставят проста алтернатива на крайния потребител за различни интерфейси за вашите проекти. Или ако имате нужда от много бутони, те могат да ви спестят много време по отношение на конструкцията. Ще преминем през свързването им, използвайки библиотеката Arduino и след това ще завършим с полезна примерна скица.
Стъпка 1: Първи стъпки
Независимо откъде получавате клавиатурите си, уверете се, че можете да получите информационния лист - тъй като това ще улесни живота при свързването им. Например - изображението в тази стъпка.
Информационният лист е важен, тъй като ще ви каже кои щифтове или съединители на клавиатурата са за редовете и колоните. Ако нямате лист с данни - ще трябва ръчно да определите кои контакти са за редовете и колоните.
Това може да стане с помощта на функцията за непрекъснатост на мултицет (зумера). Започнете, като поставите една сонда на щифт 1, другата сонда на щифт 2 и натиснете клавишите един по един. Забележете кога бутон завършва веригата, след това преминете към следващия щифт. Скоро ще разберете кое е кое. Например в примера пиновете на клавиатурата 1 и 5 са за бутон „1 ″, 2 и 5 за„ 4 ″ и т.н.
На този етап, моля, изтеглете и инсталирайте библиотеката Arduino на клавиатурата. Сега ще покажем как да използвате и двете клавиатури в прости примери.
Стъпка 2: Използване на 12 -цифрена клавиатура
Ще използваме малката черна клавиатура, съвместима с Arduino Uno и LCD с I2C интерфейс за дисплеи. Ако нямате LCD, винаги можете да изпратите текста на серийния монитор.
Свържете вашия LCD, след това свържете клавиатурата към Arduino по следния начин: Клавиатура ред 1 към Arduino цифрова 5 Клавиатура ред 2 към Arduino цифрова 4 клавиатура ред 3 към Arduino цифрова 3 Клавиатура ред 4 към Arduino цифрова 2 клавиатура колона 1 към Arduino цифрова 8 клавиатура колона 2 към Arduino digital 7Keypad колона 3 до Arduino digital 6 Ако вашата клавиатура е различна от нашата, обърнете внимание на редовете в скицата от:
// определение на типа клавиатура
Тъй като трябва да промените числата в масивите rowPins [ROWS] и colPins [COLS]. Въвеждате цифровите пинови номера, свързани съответно с редовете и колоните на клавиатурата.
Освен това клавишите на масива съхраняват стойностите, показани на LCD дисплея, когато се натисне определен бутон. Можете да видите, че сме го съпоставили с използваната физическа клавиатура, но можете да го промените на каквото имате нужда. Но засега въведете и качете следната скица, след като сте доволни от разпределението на ред/пин номер:
/ * Цифрова клавиатура и I2C LCD https://tronixstuff.com Използва библиотека с клавиатури за Arduino https://www.arduino.cc/playground/Code/Keypad от Марк Стенли, Александър Бревиг */
#include "Keypad.h"
#include "Wire.h" // за I2C LCD #include "LiquidCrystal_I2C.h" // for I2C bus LCD LCD module // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // задайте LCD адреса на 0x27 за 16 символен и 2 -редов дисплей
// определение на типа клавиатура
const байт ROWS = 4; // четири реда const байт COLS = 3; // три колони символни клавиши [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
байт rowPins [ROWS] = {
5, 4, 3, 2}; // свързване към изводите на реда на байта на клавиатурата colPins [COLS] = {8, 7, 6}; // свързване към изводите на колони на клавиатурата
int брой = 0;
Клавиатура на клавиатурата = Клавиатура (makeKeymap (клавиши), rowPins, colPins, ROWS, COLS);
void setup ()
{lcd.init (); // инициализираме lcd lcd.backlight (); // включете LCD подсветката}
void loop ()
{char key = keypad.getKey (); if (ключ! = NO_KEY) {lcd.print (ключ); брой ++; if (брой == 17) {lcd.clear (); брой = 0; }}}
А резултатите от скицата са показани във видеото. Така че сега можете да видите как натискането на бутоните може да се преобразува в данни за използване в скица. Сега ще повторим тази демонстрация с по -голямата клавиатура.
Стъпка 3: Използване на 16 -цифрена клавиатура
Ще използваме по-голямата клавиатура 4 × 4, съвместима с Arduino Uno и за промяна I2C LCD от Akafugu за дисплейни цели. Отново, ако нямате LCD, винаги можете да изпратите текста на серийния монитор. Свържете LCD дисплея и след това свържете клавиатурата към Arduino по следния начин:
- Клавиатура ред 1 (щифт осем) към Arduino digital 5
- Ред на клавиатурата 2 (щифт 1) към Arduino digital 4
- Ред на клавиатурата 3 (щифт 2) към Arduino digital 3
- Ред на клавиатурата 4 (щифт 4) към Arduino digital 2
- Колона от клавиатурата 1 (щифт 3) към Arduino digital 9
- Колоната на клавиатурата 2 (щифт 5) към Arduino digital 8
- Колона от клавиатурата 3 (щифт 6) към Arduino digital 7
- Колоната на клавиатурата 4 (щифт 7) към Arduino digital 6
Сега за скицата - обърнете внимание как сме се приспособили за по -голямата цифрова клавиатура: допълнителната колона в клавишите char масива допълнителния щифт в масива colPins и байта COLS = 4.
/ * Цифрова клавиатура и I2C LCD https://tronixstuff.com Използва библиотека с клавиатури за Arduino https://www.arduino.cc/playground/Code/Keypad от Марк Стенли, Александър Бревиг */
#include "Keypad.h"
#include "Wire.h" // за I2C LCD #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const байт ROWS = 4; // четири реда
const байт COLS = 4; // четири колони символни клавиши [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; байт rowPins [ROWS] = {5, 4, 3, 2}; // свързване към изводите на реда на байта на клавиатурата colPins [COLS] = {9, 8, 7, 6}; // свързване към изводите на колони на клавиатурата int count = 0;
Клавиатура на клавиатурата = Клавиатура (makeKeymap (клавиши), rowPins, colPins, ROWS, COLS);
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Тест на клавиатурата!"); забавяне (1000); lcd.clear (); }
void loop ()
{char key = keypad.getKey (); if (ключ! = NO_KEY) {lcd.print (ключ); Serial.print (ключ); брой ++; if (брой == 17) {lcd.clear (); брой = 0; }}}
И отново можете да видите резултатите от скицата по -горе във видеото.
Сега за пример проект, който е може би най -търсената употреба на цифровата клавиатура …
Стъпка 4: Примерен проект - система за достъп до PIN
Най-търсената употреба за цифрова клавиатура изглежда е приложение в стил „ПИН”, където Arduino е инструктирано да направи нещо въз основа на правилен номер, въведен в клавиатурата. Следващата скица използва хардуера, описан за предишната скица, и реализира шестцифрена система за въвеждане на ПИН код.
Действията, които трябва да се извършат, могат да бъдат вмъкнати във функции correPIN () и неправиленPIN (). И ПИН кодът е зададен в ПИН кода на масива [6]. С малко допълнителна работа можете да създадете и своя собствена функция за промяна на ПИН кода.
// ПИН ключ с 16-цифрена цифрова клавиатура // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const байт ROWS = 4; // четири реда
const байт COLS = 4; // четири колони символни клавиши [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; байт rowPins [ROWS] = {5, 4, 3, 2}; // свързване към изводите на реда на байта на клавиатурата colPins [COLS] = {9, 8, 7, 6}; // свързване към изводите на колони на клавиатурата
Клавиатура на клавиатурата = Клавиатура (makeKeymap (клавиши), rowPins, colPins, ROWS, COLS);
char PIN [6] = {
„1“, „2“, „А“, „D“, „5“, „6“}; // нашия опит за таен (!) номер char [6] = {'0', '0', '0', '0', '0', '0'}; // използва се за сравнение int z = 0;
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("PIN Lock"); забавяне (1000); lcd.clear (); lcd.print ("Въведете ПИН …"); }
void correctPIN () // направете това, ако е въведен правилен ПИН
{lcd.print (" * Правилен ПИН *"); забавяне (1000); lcd.clear (); lcd.print ("Въведете ПИН …"); }
void wrongPIN () // направете това, ако е въведен неправилен ПИН
{lcd.print (" * Опитайте отново *"); забавяне (1000); lcd.clear (); lcd.print ("Въведете ПИН …"); }
void checkPIN ()
{int правильно = 0; int i; за (i = 0; i <6; i ++) {
ако (опит == ПИН )
{правилно ++; }} ако (правилно == 6) {правильноPIN (); } else {неправиленPIN (); }
for (int zz = 0; zz <6; zz ++) {опит [zz] = '0'; }}
void readKeypad ()
{char key = keypad.getKey (); if (ключ! = NO_KEY) {опит [z] = ключ; z ++; ключ (ключ) {случай '*': z = 0; прекъсване; случай '#': z = 0; забавяне (100); // за допълнителна информация lcd.clear (); checkPIN (); прекъсване; }}}
void loop ()
{readKeypad (); }
Проектът е демонстриран във видеото.
Така че сега имате възможност да използвате клавиатури с дванадесет и шестнадесет бутона с вашите системи Arduino. Сигурен съм, че в близко бъдеще ще излезете с нещо полезно и интересно с клавиатурите.
Тази публикация ви е предоставена от pmdway.com - всичко за производители и любители на електрониката, с безплатна доставка по целия свят.
Препоръчано:
Цифрови зарчета Ludo с проект за 7 -сегментен дисплей на Arduino: 3 стъпки
Цифрови лудо зарове с проект за 7 -сегментен дисплей на Arduino: В този проект 7 -сегментният дисплей се използва за показване на число от 1 до 6 на случаен принцип, когато натискаме бутона. Това е един от най -готините проекти, които всеки обича да прави. За да се научите как да работите със 7 -сегментен дисплей, щракнете тук: -7 сегмент
Neopixel Ws2812 Rainbow LED Glow с M5stick-C - Стартиране на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: 5 стъпки
Neopixel Ws2812 Rainbow LED Glow с M5stick-C | Изпълнение на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: Здравейте момчета в тази инструкция ще се научим как да използваме неопиксели ws2812 светодиоди или LED лента или LED матрица или LED пръстен с m5stack m5stick-C платка за разработка с Arduino IDE и ние ще направим модел на дъга с него
Направи си сам „Измервателен уред за използване на компютър ROG Base“Използване на Arduino и Python: 5 стъпки (със снимки)
Направи си сам „Измерител за използване на компютър ROG Base“Използване на Arduino и Python: ************************************* +На първо място, тези инструкции са написани от неносещ англоговорящ … не е професор по английски, така че, моля, информирайте за някаква граматическа грешка, преди да ми се подигравате.: P +и моля, не имитирайте
Броня от клавиатури: 7 стъпки
Броня от клавиатури: Това е инструкция как да създадете броня от набор от клавиатури. Не използвайте ножовки, тъй като те ще бъдат съсипани от това и тъй като ще боравите с всякакви гадни уреди и остри ръбове, бъдете много внимателни, за да не нараните
Цифрови зарове: проект на Arduino .: 4 стъпки
Цифрови зарове: проект на Arduino .: Хората харесват игри „високотехнологични“. Например: в моята страна има игра, наречена „Монопол“. В тази игра човек трябва да събира „улици“, като ги купува с пари. Тази игра наскоро пусна версия, в която човек не плаща с хартия, а с кредит с