Kazalo:
- 1. korak: Začnite
- 2. korak: Uporaba 12 -mestne tipkovnice
- 3. korak: Uporaba 16 -mestne tipkovnice
- 4. korak: Primer projekta - sistem za dostop do PIN
Video: Uporaba številskih tipkovnic z Arduinom: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Številčne tipkovnice lahko ponujajo preprosto alternativo končnim uporabnikom za različne vmesnike za vaše projekte. Če pa potrebujete veliko gumbov, vam lahko prihranijo veliko časa pri gradnji. Skozi povezovanje jih bomo uporabili s knjižnico Arduino, nato pa zaključili s koristno zgledno skico.
1. korak: Začnite
Ne glede na to, od kod dobite tipkovnice, poskrbite, da boste dobili podatkovni list - saj bo to olajšalo življenje, ko jih povežete. Na primer - slika v tem koraku.
Podatkovni list je pomemben, saj vam bo povedal, kateri zatiči ali priključki na tipkovnici so za vrstice in stolpce. Če nimate podatkovnega lista - boste morali ročno določiti, kateri stiki so za vrstice in stolpce.
To lahko storite s funkcijo kontinuitete multimetra (brenčalo). Začnite tako, da eno sondo postavite na nožico 1, drugo sondo na nožico 2 in pritisnete tipke eno za drugo. Zapomnite si, kdaj gumb zaključi vezje, nato se pomaknite na naslednji pin. Kmalu boste vedeli, kaj je kaj. Na primer, zatiča tipkovnice 1 in 5 sta za tipko „1 ″, 2 in 5 za„ 4 ″ itd …
Na tej točki prenesite in namestite knjižnico Arduino na tipkovnici. Zdaj bomo v preprostih primerih pokazali, kako uporabljati obe tipkovnici.
2. korak: Uporaba 12 -mestne tipkovnice
Za namene prikaza bomo uporabili majhno črno tipkovnico, združljivo z Arduino Uno in LCD z vmesnikom I2C. Če nimate LCD -ja, lahko besedilo vedno pošljete na serijski monitor.
Priključite svoj LCD in nato tipkovnico povežite z Arduinom na naslednji način: Vrstica tipkovnice 1 do Arduino digitalne 5 Tipkovnica vrstica 2 do Arduino digitalna 4 Tipkovnica vrstica 3 do Arduino digitalna 3 Tipkovnica vrstica 4 do Arduino digitalna 2 Tipkovnica stolpec 1 do Arduino digitalna tipkovnica 8 Tipkovnica 2 do Arduino digitalni 7 -tipkovniški stolpec 3 do Arduino digitalni 6 Če je vaša tipkovnica drugačna od naše, upoštevajte vrstice na skici od:
// definicija vrste tipkovnice
Ker morate spremeniti številke v matrikah Vrstice [ROWS] in ColPins [COLS]. Vnesete številke digitalnih pin, ki so povezane z vrsticami in stolpci tipkovnice.
Poleg tega matrične tipke shranijo vrednosti, prikazane na LCD -zaslonu, ko pritisnete določeno tipko. Vidite, da smo ga ujemali z uporabljeno fizično tipkovnico, vendar ga lahko spremenite tako, kot želite. Toda zaenkrat vnesite in naložite naslednjo skico, ko boste zadovoljni z dodelitvijo številke vrstice/pina:
/ * Numerična tipkovnica in I2C LCD https://tronixstuff.com uporablja knjižnico tipkovnic za Arduino https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#include "Tipkovnica.h"
#include "Wire.h" // za I2C LCD #include "LiquidCrystal_I2C.h" // for I2C bus module LCD module // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // nastavite naslov LCD na 0x27 za 16 -mestni in 2 -vrstni prikaz
// definicija vrste tipkovnice
const byte ROWS = 4; // štiri vrstice const byte COLS = 3; // znaki za tri stolpce [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
byte rowPins [ROWS] = {
5, 4, 3, 2}; // povežemo se z odmiki vrstice bajta tipkovnice colPins [COLS] = {8, 7, 6}; // povežemo se z izpiski stolpcev na tipkovnici
int count = 0;
Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), vrstice, colPins, ROWS, COLS);
void setup ()
{lcd.init (); // inicializiramo lcd lcd.backlight (); // vklop osvetlitve zaslona LCD}
void loop ()
{char key = keypad.getKey (); if (ključ! = NO_KEY) {lcd.print (ključ); count ++; if (število == 17) {lcd.clear (); count = 0; }}}
In rezultati skice so prikazani v videu. Zdaj lahko vidite, kako pritiske na gumbe lahko pretvorimo v podatke za uporabo v skici. Zdaj bomo to predstavitev ponovili z večjo tipkovnico.
3. korak: Uporaba 16 -mestne tipkovnice
Za namene prikaza bomo uporabili večjo tipkovnico 4 × 4, združljivo z Arduino Uno in za spremembo LCD I2C iz Akafuguja. Še enkrat, če nimate LCD -ja, lahko besedilo vedno pošljete na serijski monitor. Priključite LCD in nato tipkovnico priključite na Arduino na naslednji način:
- Vrstica tipkovnice 1 (osmica) na Arduino digital 5
- Vrstica tipkovnice 2 (pin 1) do Arduino digital 4
- Vrstica tipkovnice 3 (pin 2) do Arduino digital 3
- Vrstica tipkovnice 4 (pin 4) do Arduino digital 2
- Stolpec tipkovnice 1 (pin 3) za Arduino digital 9
- Stolpec tipkovnice 2 (pin 5) za Arduino digital 8
- Stolpec tipkovnice 3 (pin 6) za Arduino digital 7
- Stolpec tipkovnice 4 (pin 7) za Arduino digital 6
Zdaj za skico - upoštevajte, kako smo se prilagodili večji številski tipkovnici: dodatni stolpec v tipkah char char dodatni pin v matriki colPins in bajt COLS = 4.
/ * Numerična tipkovnica in I2C LCD https://tronixstuff.com uporablja knjižnico tipkovnic za Arduino https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#include "Tipkovnica.h"
#include "Wire.h" // za LCD I2C #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // štiri vrstice
const bajt COLS = 4; // znaki za štiri stolpce [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // povežemo se z izpisi vrstice bajta tipkovnice colPins [COLS] = {9, 8, 7, 6}; // povežemo se z izpisi stolpcev tipkovnice int count = 0;
Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), vrstice, colPins, ROWS, COLS);
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Test tipkovnice!"); zamuda (1000); lcd.clear (); }
void loop ()
{char key = keypad.getKey (); if (ključ! = NO_KEY) {lcd.print (ključ); Serial.print (ključ); count ++; if (število == 17) {lcd.clear (); count = 0; }}}
In spet si lahko ogledate rezultate skice zgoraj v videu.
Zdaj za primer projekta, ki je verjetno najbolj zahtevana uporaba številske tipkovnice …
4. korak: Primer projekta - sistem za dostop do PIN
Zdi se, da je najbolj zahtevana uporaba številske tipkovnice aplikacija v slogu "PIN", kjer je Arduino naročeno, da naredi nekaj na podlagi pravilne številke, ki je vnesena v tipkovnico. Naslednja skica uporablja strojno opremo, opisano za prejšnjo skico, in izvaja šestmestni sistem za vnos PIN.
Dejanja, ki jih je treba izvesti, je mogoče vstaviti v funkcije correPIN () in wrongPIN (). Koda PIN je nastavljena v matrični kodi PIN [6]. Z malo dodatnega dela bi lahko ustvarili tudi lastno funkcijo spreminjanja kode PIN.
// PIN stikalo s 16-mestno številsko tipkovnico // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // štiri vrstice
const bajt COLS = 4; // znaki za štiri stolpce [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // povežemo se z izpisi vrstice bajta tipkovnice colPins [COLS] = {9, 8, 7, 6}; // povežemo se z izpiski stolpcev na tipkovnici
Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), vrstice, colPins, ROWS, COLS);
PIN PIN [6] = {
'1', '2', 'A', 'D', '5', '6'}; // naš skrivni (!) poskus številke char [6] = {'0', '0', '0', '0', '0', '0'}; // uporabljeno za primerjavo int z = 0;
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("PIN Lock"); zamuda (1000); lcd.clear (); lcd.print ("Vnesite PIN …"); }
void correctPIN () // to storite, če ste vnesli pravilen PIN
{lcd.print (" * Pravilna PIN *"); zamuda (1000); lcd.clear (); lcd.print ("Vnesite PIN …"); }
void wrongPIN () // to storite, če je vnesen napačen PIN
{lcd.print (" * Poskusi znova *"); zamuda (1000); lcd.clear (); lcd.print ("Vnesite PIN …"); }
void checkPIN ()
{int pravilno = 0; int i; za (i = 0; i <6; i ++) {
če (poskus == PIN )
{pravilno ++; }} if (pravilno == 6) {correctPIN (); } else {napačenPIN (); }
for (int zz = 0; zz <6; zz ++) {poskus [zz] = '0'; }}
void readKeypad ()
{char key = keypad.getKey (); if (ključ! = NO_KEY) {poskus [z] = ključ; z ++; stikalo (ključ) {primer '*': z = 0; zlom; primer '#': z = 0; zamuda (100); // za dodatno razpravo lcd.clear (); checkPIN (); zlom; }}}
void loop ()
{readKeypad (); }
Projekt je prikazan v videu.
Tako imate zdaj možnost uporabljati tipkovnice z dvanajstimi in šestnajstimi gumbi s svojimi sistemi Arduino. Prepričan sem, da boste v bližnji prihodnosti s tipkovnicami našli kaj uporabnega in zanimivega.
To objavo vam ponuja pmdway.com - vse za ustvarjalce in navdušence nad elektroniko z brezplačno dostavo po vsem svetu.
Priporočena:
Uporaba 4 -mestnega in 7 -segmentnega zaslona z Arduinom: 7 korakov
Uporaba 4 -mestnega in 7 -segmentnega zaslona z Arduinom: V tej vadnici vam bom pokazal, kako uporabljati 7 -segmentni zaslon s 4 števkami z uporabo arduina. Nekaj osnovnih stvari, na katere bi rad opozoril, je, da to zavzame skoraj vse digitalne zatiče na arduino uno, leonardo, plošče s 13 digi
Uporaba infrardečega senzorja z Arduinom: 8 korakov (s slikami)
Uporaba infrardečega senzorja z Arduinom: Kaj je infrardeči senzor (znan tudi kot IR)? IR senzor je elektronski instrument, ki skenira IR signale v določenih frekvenčnih območjih, določenih s standardi, in jih pretvori v električne signale na svojem izhodnem zatiču (običajno imenovan signalni pin) . IR signal
Uporaba modulov ure v realnem času DS1307 in DS3231 z Arduinom: 3 koraki
Uporaba modulov ure v realnem času DS1307 in DS3231 z Arduinom: Nenehno prejemamo zahteve o uporabi modulov ure v realnem času DS1307 in DS3231 z Arduinom iz različnih virov-zato je to prvi od dveh delov, kako jih uporabljati. Za to vadnico Arduino imamo na voljo dva modula ure v realnem času
Uporaba ESP8266 z Arduinom in Blynkom: 4 koraki
Uporaba ESP8266 z Arduinom in Blynkom: Povežite svojo Arduino Mega z blynk aplikacijo s pomočjo ščita espp8266
Oklep s tipkovnic: 7 korakov
Armor from Keyboards: To je navodilo, kako ustvariti oklep iz kompleta tipkovnic. Ne uporabljajte nožnih žag, saj jih bo to poškodovalo. Ker boste ravnali z vsemi vrstami grdih aparatov in ostrih robov, bodite zelo previdni, da ne poškodujete