Sisällysluettelo:
- Vaihe 1: Aloittaminen
- Vaihe 2: 12 -numeroisen näppäimistön käyttö
- Vaihe 3: 16 -numeroisen näppäimistön käyttö
- Vaihe 4: Esimerkkihanke - PIN -käyttöjärjestelmä
Video: Numeronäppäimistöjen käyttäminen Arduinon kanssa: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Numeeriset näppäimistöt voivat tarjota yksinkertaisen vaihtoehdon loppukäyttäjille eri käyttöliittymille projekteillesi. Tai jos tarvitset paljon painikkeita, ne voivat säästää paljon aikaa rakentamiseen. Käymme läpi niiden yhdistämisen Arduino -kirjaston avulla ja lopetamme sitten hyödyllisellä esimerkkiluonnoksella.
Vaihe 1: Aloittaminen
Riippumatta siitä, mistä saat näppäimistön, varmista, että saat käyttöturvallisuustiedotteen - se helpottaa elämää johdotettaessa. Esimerkiksi - kuva tässä vaiheessa.
Tietolomake on tärkeä, koska se kertoo, mitkä näppäimistön nastat tai liittimet ovat rivejä ja sarakkeita varten. Jos sinulla ei ole tietolomaketta - sinun on määritettävä manuaalisesti rivit ja sarakkeet.
Tämä voidaan tehdä käyttämällä yleismittarin jatkuvuustoimintoa (summeri). Aloita asettamalla yksi anturi nastaan 1, toinen anturi nastaan 2 ja paina näppäimiä yksi kerrallaan. Merkitse muistiin, milloin painike suorittaa piirin loppuun, ja siirry sitten seuraavaan nastaan. Pian tiedät mikä on mikä. Esimerkiksi esimerkkinäppäimistön nastat 1 ja 5 ovat painikkeelle "1", 2 ja 5 "4" jne.…
Lataa ja asenna tässä vaiheessa Arduino -näppäimistö. Nyt näytämme, kuinka molempia näppäimistöjä käytetään yksinkertaisissa esimerkeissä.
Vaihe 2: 12 -numeroisen näppäimistön käyttö
Käytämme näyttöä varten pientä mustaa näppäimistöä, Arduino Uno -yhteensopivaa ja LCD-näyttöä, jossa on I2C-liitäntä. Jos sinulla ei ole LCD -näyttöä, voit aina lähettää tekstin sarjamonitoriin.
Kytke LCD -näyttö ja kytke sitten näppäimistö Arduinoon seuraavasti: Näppäimistön rivi 1 - Arduino digital 5 Näppäimistön rivi 2 - Arduino -digitaalinen 4K -näppäimistön rivi 3 - Arduino -digitaalinen 3 Näppäimistön rivi 4 Arduino -digitaaliseen 2 -näppäimistö Sarake 1 - Arduino digital 8 Arduino digital 7 Näppäimistön sarake 3 - Arduino digital 6 Jos näppäimistösi on erilainen kuin meidän, ota huomioon luonnoksen rivit:
// näppäimistötyypin määritelmä
Kun joudut muuttamaan taulukon numeroiden riviäPin [ROWS] ja colPins [COLS]. Syötä näppäimistön riveihin ja sarakkeisiin yhdistetyt digitaaliset nastanumerot.
Lisäksi matriisinäppäimet tallentavat nestekidenäytössä näkyvät arvot tiettyä painiketta painettaessa. Näet, että olemme sovittaneet sen käytetyn fyysisen näppäimistön kanssa, mutta voit muuttaa sen mihin tahansa. Kirjoita ja lähetä nyt kuitenkin seuraava luonnos, kun olet tyytyväinen rivi-/pin -numeroiden jakamiseen:
/ * Numeronäppäimistö ja I2C LCD https://tronixstuff.com Käyttää Arduinon näppäimistökirjastoa https://www.arduino.cc/playground/Code/Keypad, kirjoittanut Mark Stanley, Alexander Brevig */
#include "Keypad.h"
#include "Wire.h" // for I2C LCD #include "LiquidCrystal_I2C.h" // for I2C bus LCD -moduuli // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // aseta LCD -osoitteeksi 0x27, jos haluat 16 merkkiä ja 2 riviä
// näppäimistötyypin määritelmä
const tavu RIVIT = 4; // neljä riviä const tavu COLS = 3; // kolmen sarakkeen char -näppäimet [RIVIT] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
tavu rowPins [ROWS] = {
5, 4, 3, 2}; // muodosta yhteys näppäimistön rivipistoihin tavu colPins [COLS] = {8, 7, 6}; // muodostaa yhteys näppäimistön sarakkeiden pinouteihin
int -luku = 0;
Näppäimistön näppäimistö = Näppäimistö (makeKeymap (näppäimet), rowPins, colPins, ROWS, COLS);
mitätön asennus ()
{lcd.init (); // alustetaan lcd lcd.backlight (); // kytke LCD -taustavalo päälle}
tyhjä silmukka ()
{char -näppäin = keypad.getKey (); if (avain! = NO_KEY) {lcd.print (avain); laskea ++; if (count == 17) {lcd.clear (); määrä = 0; }}}
Ja luonnoksen tulokset näkyvät videossa. Joten nyt voit nähdä, kuinka painikkeen painallukset voidaan muuntaa luonnokseen käytettäväksi dataksi. Toistamme nyt tämän esityksen suuremmalla näppäimistöllä.
Vaihe 3: 16 -numeroisen näppäimistön käyttö
Käytämme suurempaa 4 × 4-näppäimistöä, Arduino Uno -yhteensopivaa ja vaihtamaan I2C-nestekidenäyttöä Akafugusta näyttötarkoituksiin. Jälleen, jos sinulla ei ole LCD -näyttöä, voit aina lähettää tekstin sarjamonitoriin. Kytke LCD -näyttö ja kytke sitten näppäimistö Arduinoon seuraavalla tavalla:
- Näppäimistön rivi 1 (nasta kahdeksan) Arduino digital 5: een
- Näppäimistön rivi 2 (nasta 1) Arduino digital 4: een
- Näppäimistön rivi 3 (nasta 2) Arduino digital 3: een
- Näppäimistön rivi 4 (nasta 4) Arduino digital 2: een
- Näppäimistön sarake 1 (nasta 3) - Arduino digital 9
- Näppäimistön sarake 2 (nasta 5) - Arduino digital 8
- Näppäimistön sarake 3 (nasta 6) - Arduino digital 7
- Näppäimistön sarake 4 (nasta 7) - Arduino digital 6
Nyt luonnos - ota huomioon, miten olemme ottaneet käyttöön suuremman numeronäppäimistön: ylimääräinen sarake taulukon char -näppäimissä ylimääräinen nasta taulukossa colPins ja tavu COLS = 4.
/ * Numeronäppäimistö ja I2C LCD https://tronixstuff.com Käyttää Arduinon näppäimistökirjastoa https://www.arduino.cc/playground/Code/Keypad, kirjoittanut Mark Stanley, Alexander Brevig */
#include "Keypad.h"
#Sisällytä "Wire.h" // I2C LCD: lle #Sisällytä "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const tavu RIVIT = 4; // neljä riviä
const tavu COLS = 4; // neljän sarakkeen char -näppäimet [RIVIT] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; tavu rowPins [ROWS] = {5, 4, 3, 2}; // muodosta yhteys näppäimistön rivipistoihin tavu colPins [COLS] = {9, 8, 7, 6}; // muodosta yhteys näppäimistön sarakkeiden pinouteihin int count = 0;
Näppäimistön näppäimistö = Näppäimistö (makeKeymap (näppäimet), rowPins, colPins, ROWS, COLS);
mitätön asennus ()
{Serial.begin (9600); lcd. alku (16, 2); lcd.print ("Näppäimistötesti!"); viive (1000); lcd.clear (); }
tyhjä silmukka ()
{char -näppäin = keypad.getKey (); if (avain! = NO_KEY) {lcd.print (avain); Serial.print (avain); laskea ++; if (count == 17) {lcd.clear (); määrä = 0; }}}
Ja jälleen voit nähdä yllä olevan luonnoksen tulokset videosta.
Nyt esimerkkiprojekti, joka on luultavasti halutuin numeerisen näppäimistön käyttö…
Vaihe 4: Esimerkkihanke - PIN -käyttöjärjestelmä
Numeronäppäimistön halutuin käyttö näyttää olevan”PIN” -tyylisovellus, jossa Arduinoa kehotetaan tekemään jotain sen perusteella, että näppäimistö on syötetty oikein. Seuraava luonnos käyttää edellisen luonnoksen laitteistoa ja sisältää kuusinumeroisen PIN-syöttöjärjestelmän.
Tapahtumat voidaan lisätä toimintoihin correctPIN () ja falsePIN (). Ja PIN -koodi asetetaan taulukon char -PIN -koodiin [6]. Pienellä lisätyöllä voit myös luoda oman PIN-koodinvaihtotoiminnon.
// PIN-kytkin 16-numeroisella numeronäppäimistöllä // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const tavu RIVIT = 4; // neljä riviä
const tavu COLS = 4; // neljän sarakkeen char -näppäimet [RIVIT] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; tavu rowPins [ROWS] = {5, 4, 3, 2}; // muodosta yhteys näppäimistön rivipistoihin tavu colPins [COLS] = {9, 8, 7, 6}; // muodostaa yhteys näppäimistön sarakkeiden pinouteihin
Näppäimistön näppäimistö = Näppäimistö (makeKeymap (näppäimet), rowPins, colPins, ROWS, COLS);
char -PIN [6] = {
'1', '2', 'A', 'D', '5', '6'}; // salainen (!) numeroharjoitusyrityksemme [6] = {'0', '0', '0', '0', '0', '0'}; // käytetään vertailuun int z = 0;
mitätön asennus ()
{Serial.begin (9600); lcd. alku (16, 2); lcd.print ("PIN -lukko"); viive (1000); lcd.clear (); lcd.print ("Anna PIN …"); }
void correctPIN () // tee tämä, jos syötit oikean PIN -koodin
{lcd.print (" * Oikea PIN *"); viive (1000); lcd.clear (); lcd.print ("Anna PIN …"); }
void correctPIN () // tee tämä, jos PIN -koodi on syötetty väärin
{lcd.print (" * Yritä uudelleen *"); viive (1000); lcd.clear (); lcd.print ("Anna PIN …"); }
mitätön checkPIN ()
{int oikein = 0; int i; (i = 0; i <6; i ++) {
jos (yritä == PIN -koodi )
{oikein ++; }} if (correct == 6) {correctPIN (); } else {correctPIN (); }
for (int zz = 0; zz <6; zz ++) {yritys [zz] = '0'; }}
tyhjä luku Näppäimistö ()
{char -näppäin = keypad.getKey (); if (avain! = NO_KEY) {try [z] = key; z ++; kytkin (avain) {case '*': z = 0; tauko; tapaus '#': z = 0; viive (100); // lisäpoistumisesta lcd.clear (); checkPIN (); tauko; }}}
tyhjä silmukka ()
{readKeypad (); }
Projekti esitetään videossa.
Joten nyt sinulla on mahdollisuus käyttää kaksitoista ja kuusitoista näppäintä Arduino-järjestelmien kanssa. Olen varma, että keksit jotain hyödyllistä ja mielenkiintoista näppäimistöjen avulla lähitulevaisuudessa.
Tämän viestin tuo sinulle pmdway.com - kaikki valmistajille ja elektroniikan harrastajille, ilmainen toimitus maailmanlaajuisesti.
Suositeltava:
RFID-RC522-moduulin käyttäminen Arduinon kanssa: 5 vaihetta
RFID-RC522-moduulin käyttäminen Arduinon kanssa: Tässä opetusohjelmassa esitän RFID-moduulin perusperiaatteen yhdessä sen tunnisteiden ja sirujen kanssa. Annan myös lyhyen esimerkin projektista, jonka tein käyttämällä tätä RFID -moduulia, jossa on RGB -LED. Kuten tavallisesti Insissäni
Infrapuna -anturin käyttäminen Arduinon kanssa: 8 vaihetta (kuvien kanssa)
Infrapuna -anturin käyttäminen Arduinon kanssa: Mikä on infrapuna -anturi? . IR -signaali
Äänianturin käyttäminen Arduinon kanssa: 5 vaihetta
Äänianturin käyttäminen Arduinon kanssa: Hei kaikki, tässä artikkelissa näytän sinulle, miten voit käyttää äänianturia arduino uno -laitteella ohjaamaan lediä tekemällä kovia ääniä. Tässä tekemäni opetusvideo
DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa: 4 vaihetta
DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa: Useat projektit vaativat äänentoistoa jonkinlaisen toiminnallisuuden lisäämiseksi. Näistä projekteista korostamme: saavutettavuutta näkövammaisille, MP3 -musiikkisoittimille ja esimerkiksi äänien suorittamista robottien toimesta
RPLIDAR 360 ° -laserskannerin käyttäminen Arduinon kanssa: 3 vaihetta (kuvien kanssa)
RPLIDAR 360 ° -laserskannerin käyttäminen Arduinon kanssa: Olen suuri sumorobotien rakentamisen fani ja etsin aina uusia mielenkiintoisia antureita ja materiaaleja, joita voin käyttää paremman, nopeamman ja älykkäämmän robotin rakentamiseen. Sain tietää RPLIDAR A1: stä, jonka voit saada 99 dollarilla osoitteessa DFROBOT.com. Sanoin olevani kiinnostunut