Sisukord:
- 1. samm: alustamine
- 2. samm: 12 -kohalise klaviatuuri kasutamine
- 3. samm: 16 -kohalise klaviatuuri kasutamine
- Samm 4: Näidisprojekt - PIN -juurdepääsusüsteem
Video: Numbriklaviatuuride kasutamine Arduinoga: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Numbriklahvistikud võivad pakkuda lihtsat lõppkasutaja alternatiivi teie projektide erinevate liideste jaoks. Või kui vajate palju nuppe, võivad need ehitamisel palju aega säästa. Läbime nende ühendamise, kasutades Arduino raamatukogu, ja lõpetame seejärel kasuliku näitejoonisega.
1. samm: alustamine
Pole tähtis, kust võtate oma klaviatuurid, veenduge, et saate andmelehe kätte - see muudab nende ühendamisel elu lihtsamaks. Näiteks - pilt selles etapis.
Andmeleht on oluline, kuna see ütleb teile, millised klaviatuuri tihvtid või pistikud on ridade ja veergude jaoks. Kui teil pole andmelehte - peate käsitsi kindlaks määrama, millised kontaktid on ridade ja veergude jaoks.
Seda saab teha multimeetri (sumin) järjepidevusfunktsiooni abil. Alustuseks asetage üks andur tihvtile 1, teine sond kontaktile 2 ja vajutage klahve ükshaaval. Märkige üles, millal nupp vooluringi lõpetab, seejärel liikuge järgmise tihvti juurde. Varsti saate teada, kumb on kumb. Näiteks näites on klahvistiku tihvtid 1 ja 5 mõeldud nupule „1”, 2 ja 5 nupule „4” jne …
Siinkohal palun laadige alla ja installige klaviatuur Arduino raamatukogu. Nüüd näitame lihtsate näidete abil, kuidas mõlemat klaviatuuri kasutada.
2. samm: 12 -kohalise klaviatuuri kasutamine
Kuvamiseks kasutame väikest musta klahvistikku, Arduino Uno-ühilduvat ja I2C-liidesega LCD-ekraani. Kui teil pole vedelkristallekraani, saate teksti alati saata jadamonitorile.
Ühendage LCD -ekraan ja ühendage klaviatuur Arduinoga järgmisel viisil: Klaviatuuri rida 1 kuni Arduino digitaalne 5 Klaviatuuri rida 2 kuni Arduino digitaalne 4K -klahvistiku rida 3 kuni Arduino digitaalne 3 Klaviatuuri rida 4 kuni Arduino digitaalne 2 Klaviatuuri veerg 1 kuni Arduino digitaalne 8 Klaviatuuri veerg 2 kuni Klahvistiku veerg 3 kuni Arduino digitaalne 6 Kui teie klaviatuur erineb meie klahvistikust, pange tähele joonise jooni:
// klaviatuuri tüübi määratlus
Nagu peate muutma massiivides olevate numbrite riduPins [ROWS] ja colPins [COLS]. Sisestate vastavalt klahvistiku ridade ja veergudega ühendatud digitaalsed pin -numbrid.
Lisaks salvestavad massiiviklahvid teatud nupu vajutamisel LCD -ekraanil kuvatud väärtused. Näete, et oleme selle sobitanud kasutatud füüsilise klaviatuuriga, kuid saate selle muuta mis tahes vajalikuks. Nüüd aga sisestage ja laadige üles järgmine visand, kui olete rea/pin -numbri eraldamisega rahul:
/ * Numbriklahvistik ja I2C LCD https://tronixstuff.com Kasutab Arduino klahvistiku kogu https://www.arduino.cc/playground/Code/Klaviatuur, autor Mark Stanley, Alexander Brevig */
#include "Keypad.h"
#include "Wire.h" // I2C LCD jaoks #include "LiquidCrystal_I2C.h" // I2C bussi LCD mooduli jaoks // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C LCD (0x27, 16, 2); // määrake 16 -märgilise ja kaherealise ekraani jaoks LCD -aadressiks 0x27
// klaviatuuri tüübi määratlus
const bait RIDA = 4; // neli rida const bait COLS = 3; // kolme veeru sümboliklahvid [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
bait rowPins [ROWS] = {
5, 4, 3, 2}; // ühenduda klaviatuuri ridade pistikutega bait colPins [COLS] = {8, 7, 6}; // ühendada klahvistiku veergude pistikutega
int loend = 0;
Klahvistiku klaviatuur = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS);
tühine seadistus ()
{lcd.init (); // initsialiseeri lcd lcd.backlight (); // LCD taustvalgustuse sisselülitamine}
tühine tsükkel ()
{char -klahv = keypad.getKey (); if (võti! = NO_KEY) {lcd.print (võti); loe ++; if (count == 17) {lcd.clear (); loendus = 0; }}}
Ja visandi tulemused on näidatud videos. Nüüd näete, kuidas nupuvajutusi saab visandis kasutamiseks andmeteks tõlkida. Nüüd kordame seda demonstratsiooni suurema klahvistikuga.
3. samm: 16 -kohalise klaviatuuri kasutamine
Kasutame kuvamiseks suuremat 4 × 4 klaviatuuri, Arduino Uno-ühilduvat ja vahelduseks I2C LCD-d Akafugu-st. Jällegi, kui teil pole vedelkristallekraani, võite teksti alati saata jadamonitorile. Ühendage LCD juhtmega ja ühendage klaviatuur Arduinoga järgmisel viisil:
- Klaviatuuri rida 1 (kaheksa tihvtiga) Arduino digitaalsele 5
- Klaviatuuri rida 2 (tihvt 1) Arduino digitaalsele 4
- Klaviatuuri rida 3 (tihvt 2) Arduino digitaalsele 3
- Klaviatuuri rida 4 (tihvt 4) Arduino digitaalsele 2
- Klaviatuuri veerg 1 (tihvt 3) Arduino digitaalsele 9
- Klaviatuuri veerg 2 (tihvt 5) kuni Arduino digital 8
- Klaviatuuri veerg 3 (tihvt 6) kuni Arduino digital 7
- Klaviatuuri veerg 4 (tihvt 7) kuni Arduino digital 6
Nüüd visand - võtke teadmiseks, kuidas oleme suurema numbriklaviatuuri jaoks sobitunud: massiivi lisav veerg sümboliklahvides massiivis colPins ja bait COLS = 4.
/ * Numbriklahvistik ja I2C LCD https://tronixstuff.com Kasutab Arduino klahvistiku kogu https://www.arduino.cc/playground/Code/Klaviatuur, autor Mark Stanley, Alexander Brevig */
#include "Keypad.h"
#include "Wire.h" // I2C LCD jaoks #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const bait RIDA = 4; // neli rida
const bait COLS = 4; // nelja veeru sümboliklahvid [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; bait rowPins [ROWS] = {5, 4, 3, 2}; // ühenduda klaviatuuri ridade pistikutega bait colPins [COLS] = {9, 8, 7, 6}; // ühenduda klaviatuuri veergude pistikutega int count = 0;
Klahvistiku klaviatuur = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS);
tühine seadistus ()
{Serial.begin (9600); lcd.algus (16, 2); lcd.print ("Klaviatuuri test!"); viivitus (1000); lcd.clear (); }
tühine tsükkel ()
{char -klahv = keypad.getKey (); if (võti! = NO_KEY) {lcd.print (võti); Serial.print (võti); loe ++; if (count == 17) {lcd.clear (); loendus = 0; }}}
Ja jälle näete videol ülaltoodud visandi tulemusi.
Nüüd näiteprojekt, mis on tõenäoliselt numbriklaviatuuri kõige nõutavam kasutamine…
Samm 4: Näidisprojekt - PIN -juurdepääsusüsteem
Tundub, et numbriklahvistiku kõige nõutavam kasutamine on PIN-stiilis rakendus, kus Arduinole tehakse ülesandeks midagi teha, lähtudes õigest numbrist klaviatuuri sisestamisel. Järgmine visand kasutab eelmise visandi jaoks kirjeldatud riistvara ja rakendab kuuekohalist PIN-koodi sisestamise süsteemi.
Toiminguid saab sisestada funktsioonidesse correctPIN () ja nepareizPIN (). Ja PIN -kood määratakse massiivi sümbolisse [6]. Väikese lisatööga saate luua ka oma PIN-koodi muutmise funktsiooni.
// PIN-lüliti 16-kohalise numbriklaviatuuriga // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const bait RIDA = 4; // neli rida
const bait COLS = 4; // nelja veeru sümboliklahvid [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; bait rowPins [ROWS] = {5, 4, 3, 2}; // ühenduda klaviatuuri ridade pistikutega bait colPins [COLS] = {9, 8, 7, 6}; // ühendada klahvistiku veergude pistikutega
Klahvistiku klaviatuur = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS);
char PIN [6] = {
„1”, „2”, „A”, „D”, „5”, „6”}; // meie salajane (!) number char katse [6] = {'0', '0', '0', '0', '0', '0'}; // kasutatakse võrdluseks int z = 0;
tühine seadistus ()
{Serial.begin (9600); lcd.algus (16, 2); lcd.print ("PIN -lukk"); viivitus (1000); lcd.clear (); lcd.print ("Sisesta PIN …"); }
void correctPIN () // tehke seda, kui sisestasite õige PIN -koodi
{lcd.print (" * Õige PIN *"); viivitus (1000); lcd.clear (); lcd.print ("Sisesta PIN …"); }
void correctPIN () // tehke seda vale PIN -koodi sisestamise korral
{lcd.print (" * Proovige uuesti *"); viivitus (1000); lcd.clear (); lcd.print ("Sisesta PIN …"); }
tühine kontrollPIN ()
{int õige = 0; int i; jaoks (i = 0; i <6; i ++) {
if (katse == PIN )
{õige ++; }} kui (õige == 6) {correctPIN (); } else {falsePIN (); }
jaoks (int zz = 0; zz <6; zz ++) {katse [zz] = '0'; }}
void readKlahvistik ()
{char -klahv = keypad.getKey (); if (võti! = NO_KEY) {katse [z] = võti; z ++; lüliti (võti) {case '*': z = 0; murda; juhtum '#': z = 0; viivitus (100); // täiendava tagasilöögi jaoks lcd.clear (); checkPIN (); murda; }}}
tühine tsükkel ()
{readKlaviatuur (); }
Projekti demonstreeritakse videos.
Nüüd on teil võimalus oma Arduino süsteemidega kasutada kaheteistkümne ja kuueteistkümne nupuga klaviatuuri. Olen kindel, et leiate klahvistike abil lähitulevikus midagi kasulikku ja huvitavat.
Selle postituse toob teile pmdway.com - kõik tegijatele ja elektroonikahuvilistele, tasuta kohaletoimetamine kogu maailmas.
Soovitan:
RFID-RC522 mooduli kasutamine Arduinoga: 5 sammu
Kuidas kasutada RFID-RC522 moodulit koos Arduinoga: selles juhendis annan ülevaate RFID-mooduli põhiprintsiibist koos selle siltide ja kiipidega. Toon ka lühikese näite projektist, mille tegin, kasutades seda RFID -moodulit koos RGB LED -iga. Nagu mu Inside puhul tavaliselt
20x4 I2C sümboliga LCD -ekraani kasutamine Arduinoga: 6 sammu
Kuidas kasutada 20x4 I2C sümboliga LCD -ekraani Arduinoga: Selles lihtsas õpetuses õpime, kuidas kasutada 20x4 I2C sümboliga LCD -ekraani koos Arduino Unoga lihtsa teksti "Tere maailm" kuvamiseks. Vaadake videot
DHT12 I2C niiskus- ja temperatuurianduri kasutamine Arduinoga: 7 sammu
DHT12 I2C niiskus- ja temperatuurianduri kasutamine Arduinoga
4 numbri ja 7 segmendi kuva kasutamine koos Arduinoga: 7 sammu
4 -kohalise ja 7 -segmendilise ekraani kasutamine koos Arduinoga: selles õpetuses näitan teile, kuidas kasutada arduino abil nelja segmenti sisaldavat 7 -segmendilist ekraani. Mõned põhilised asjad, millele tahaksin tähelepanu juhtida, on see, et see võtab peaaegu kõik digitaalsed nööpnõelad arduino uno, Leonardo ja 13 digitaalse tahvliga
Infrapunaanduri kasutamine Arduinoga: 8 sammu (piltidega)
Infrapunaanduri kasutamine Arduinoga: Mis on infrapuna (teise nimega IR) andur? IR -andur on elektrooniline instrument, mis skaneerib infrapunasignaale kindlates sagedusvahemikes, mis on määratletud standardites, ja teisendab need oma väljundpoldi (tavaliselt nimetatakse signaali tihvtiks) elektrisignaalideks . IR -signaal