Sadržaj:
- Korak 1: Početak
- Korak 2: Upotreba 12 -znamenkasti tipkovnice
- Korak 3: Upotreba 16 -znamenkasti tipkovnice
- Korak 4: Primjer projekta - sustav za pristup PIN -u
Video: Korištenje numeričkih tipkovnica s Arduinom: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Numeričke tipkovnice mogu pružiti jednostavnu alternativu krajnjem korisniku za različita sučelja za vaše projekte. Ili, ako vam je potrebno mnogo gumba, mogu vam uštedjeti mnogo vremena u pogledu izgradnje. Proći ćemo kroz njihovo povezivanje, koristeći biblioteku Arduino, a zatim završiti s korisnim primjerom skice.
Korak 1: Početak
Bez obzira odakle nabavite tipkovnice, pobrinite se da nabavite podatkovnu tablicu - jer će vam to olakšati život pri povezivanju. Na primjer - slika u ovom koraku.
Tehnički list je važan jer će vam reći koji su pinovi ili konektori na tipkovnici za retke i stupce. Ako nemate podatkovni list - morat ćete ručno odrediti koji su kontakti za retke i stupce.
To se može učiniti pomoću funkcije kontinuiteta multimetra (zujalice). Počnite postavljanjem jedne sonde na pin 1, druge sonde na pin 2 i pritisnite tipke jednu po jednu. Zabilježite kada gumb dovrši krug, a zatim prijeđite na sljedeći pin. Uskoro ćete znati što je koje. Na primjer, na primjeru pinovi tipki 1 i 5 služe za tipku „1 ″, 2 i 5 za„ 4 ″, itd…
U ovom trenutku preuzmite i instalirajte Arduino knjižnicu tipkovnice. Sada ćemo u jednostavnim primjerima pokazati kako se koriste obje tipkovnice.
Korak 2: Upotreba 12 -znamenkasti tipkovnice
Za potrebe prikaza koristit ćemo malu crnu tipkovnicu, Arduino Uno-kompatibilnu i LCD s I2C sučeljem. Ako nemate LCD, uvijek biste mogli poslati tekst na serijski monitor.
Povežite svoj LCD, a zatim povežite tipkovnicu s Arduinom na sljedeći način: redak tipkovnice 1 na Arduino digitalnu 5 tipkovnicu red 2 na Arduino digitalnu 4 tipkovnicu red 3 na Arduino digitalnu 3 tipkovnicu red 4 na Arduino digitalnu 2 tipkovnicu stupac 1 na Arduino digitalnu 8 tipkovnicu stupac 2 na Arduino digitalni 7 -tipkovnički stupac 3 do Arduino digitalni 6 Ako se vaša tipkovnica razlikuje od naše, uzmite u obzir retke na skici iz:
// definicija tipa tipkovnice
Kao što morate promijeniti brojeve u nizovima rowPins [ROWS] i colPins [COLS]. Unosite digitalne PIN brojeve povezane s redovima i stupcima tipkovnice.
Nadalje, tipke polja spremaju vrijednosti prikazane na LCD -u kada se pritisne određena tipka. Možete vidjeti da smo ga uskladili s korištenom fizičkom tipkovnicom, no možete ga promijeniti na što god vam je potrebno. No, za sada unesite i prenesite sljedeću skicu kada budete zadovoljni dodjelom broja retka/pina:
/ * Numerička tipkovnica i I2C LCD https://tronixstuff.com koristi biblioteku tipkovnice 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); // postavite LCD adresu na 0x27 za prikaz od 16 znakova i 2 retka
// definicija tipa tipkovnice
const byte ROWS = 4; // četiri retka const byte COLS = 3; // ključevi s tri stupca char [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
byte rowPins [ROWS] = {
5, 4, 3, 2}; // povezivanje s ispisom reda bajta tipkovnice colPins [COLS] = {8, 7, 6}; // povezivanje s ispisima stupaca tipkovnice
int broj = 0;
Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS);
void setup ()
{lcd.init (); // inicijalizira lcd lcd.backlight (); // uključivanje pozadinskog osvjetljenja LCD -a}
void loop ()
{char key = keypad.getKey (); if (ključ! = NO_KEY) {lcd.print (ključ); count ++; if (broj == 17) {lcd.clear (); count = 0; }}}
A rezultati skice prikazani su u videu. Dakle, sada možete vidjeti kako se pritisci gumba mogu prevesti u podatke za upotrebu u skici. Ponovit ćemo ovu demonstraciju s većom tipkovnicom.
Korak 3: Upotreba 16 -znamenkasti tipkovnice
Koristit ćemo veću tipkovnicu 4 × 4, Arduino Uno-kompatibilnu i za promjenu I2C LCD iz Akafugua u svrhu prikaza. Opet, ako nemate LCD, uvijek biste umjesto toga mogli poslati tekst na serijski monitor. Ožičite LCD, a zatim povežite tipkovnicu s Arduinom na sljedeći način:
- Redak tipkovnice 1 (pin osam) na Arduino digital 5
- Redak tipkovnice 2 (pin 1) na Arduino digital 4
- Redak tipkovnice 3 (pin 2) na Arduino digital 3
- Red 4 tipkovnice (pin 4) na Arduino digital 2
- Stupac tipkovnice 1 (pin 3) za Arduino digital 9
- Stupac tipkovnice 2 (pin 5) na Arduino digital 8
- Stupac tipkovnice 3 (pin 6) na Arduino digital 7
- Stupac tipkovnice 4 (pin 7) na Arduino digital 6
Sada za skicu - uzmite u obzir kako smo se prilagodili većoj numeričkoj tipkovnici: dodatni stupac u tipkama char niz dodatni pin u nizu colPins i bajt COLS = 4.
/ * Numerička tipkovnica i I2C LCD https://tronixstuff.com koristi biblioteku tipkovnice za Arduino https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#include "Tipkovnica.h"
#include "Wire.h" // za I2C LCD #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // četiri reda
const bajt COLS = 4; // četiri stupca char ključevi [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // povezivanje s pinout -ovima reda bajta tipkovnice colPins [COLS] = {9, 8, 7, 6}; // spajanje na pinout stupaca tipkovnice int count = 0;
Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS);
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Test tipkovnice!"); kašnjenje (1000); lcd.clear (); }
void loop ()
{char key = keypad.getKey (); if (ključ! = NO_KEY) {lcd.print (ključ); Serijski.ispis (ključ); count ++; if (broj == 17) {lcd.clear (); count = 0; }}}
I opet u skici možete vidjeti rezultate gornje skice.
Sada za primjer projekta, vjerojatno najtraženijeg korištenja numeričke tipkovnice …
Korak 4: Primjer projekta - sustav za pristup PIN -u
Čini se da je najtraženija upotreba numeričke tipkovnice aplikacija u stilu "PIN", gdje je Arduino upućeno da učini nešto na temelju ispravnog broja koji je unet u tipkovnicu. Sljedeća skica koristi hardver opisan za prethodnu skicu i implementira šestoznamenkasti sustav unosa PIN-a.
Radnje koje treba poduzeti mogu se umetnuti u funkcije correPIN () i wrongPIN (). PIN je postavljen u PIN -u polja [6]. Uz malo dodatnog rada, mogli biste stvoriti i vlastitu funkciju promjene PIN-a.
// PIN prekidač sa 16-znamenkasti numeričkom tipkovnicom // https://tronixstuff.com #include "Tipkovnica.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // četiri reda
const bajt COLS = 4; // četiri stupca char ključevi [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // povezivanje s pinout -ovima reda bajta tipkovnice colPins [COLS] = {9, 8, 7, 6}; // povezivanje s ispisima stupaca tipkovnice
Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS);
PIN za char [6] = {
'1', '2', 'A', 'D', '5', '6'}; // naš pokušaj tajnog (!) broja char [6] = {'0', '0', '0', '0', '0', '0'}; // koristi se za usporedbu int z = 0;
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("PIN zaključavanje"); kašnjenje (1000); lcd.clear (); lcd.print ("Unesite PIN …"); }
void correctPIN () // učinite to ako ste unijeli ispravan PIN
{lcd.print (" * Ispravan PIN *"); kašnjenje (1000); lcd.clear (); lcd.print ("Unesite PIN …"); }
void wrongPIN () // učinite to ako ste unijeli netočan PIN
{lcd.print (" * Pokušajte ponovo *"); kašnjenje (1000); lcd.clear (); lcd.print ("Unesite PIN …"); }
void checkPIN ()
{int ispravan = 0; int i; za (i = 0; i <6; i ++) {
if (pokušaj == PIN )
{ispravno ++; }} if (ispravan == 6) {correctPIN (); } else {netočanPIN (); }
za (int zz = 0; zz <6; zz ++) {pokušaj [zz] = '0'; }}
void readKeypad ()
{char key = keypad.getKey (); if (ključ! = NO_KEY) {pokušaj [z] = ključ; z ++; prekidač (ključ) {slučaj '*': z = 0; pauza; slučaj '#': z = 0; kašnjenje (100); // za dodatni debounce lcd.clear (); checkPIN (); pauza; }}}
void loop ()
{readKeypad (); }
Projekt je prikazan u videu.
Dakle, sada imate mogućnost korištenja tipkovnica s dvanaest i šesnaest tipki sa svojim Arduino sustavima. Siguran sam da ćete u bliskoj budućnosti pomoću tipkovnica smisliti nešto korisno i zanimljivo.
Ovaj post donosi vam pmdway.com - sve za proizvođače i ljubitelje elektronike, uz besplatnu dostavu diljem svijeta.
Preporučeni:
Korištenje 4 -znamenkastog i 7 -segmentnog zaslona, s Arduinom: 7 koraka
Korištenje 4 -znamenkastog i 7 -segmentnog zaslona, s Arduinom: U ovom vodiču pokazat ću vam kako koristiti 7 -segmentni zaslon s 4 znamenke pomoću arduina. Neke osnovne stvari koje bih želio istaknuti je da ovo zauzima gotovo sve digitalne pinove na arduino uno, leonardo, ploče s 13 digi
Korištenje infracrvenog senzora s Arduinom: 8 koraka (sa slikama)
Korištenje infracrvenog senzora s Arduinom: Što je infracrveni (poznatiji kao IR) senzor? IR senzor je elektronički instrument koji skenira IC signale u određenim frekvencijskim rasponima definiranim standardima i pretvara ih u električne signale na svom izlaznom pinu (obično se naziva signalni pin) . IC signal
Neopixel Ws2812 Rainbow LED sjaj s M5stick-C - Pokretanje Rainbow na Neopixelu Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE -a: 5 koraka
Neopixel Ws2812 Rainbow LED sjaj s M5stick-C | Pokretanje Rainbow-a na Neopixelu Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE-a: Zdravo dečki, u ovim uputama naučit ćemo kako koristiti neopixel ws2812 LED diode ili LED traku ili LED matricu ili LED prsten s razvojnom pločom m5stack m5stick-C s Arduino IDE-om, a mi ćemo napraviti dugin uzorak s njim
4x4 tipkovnica s Arduinom i obradom: 4 koraka (sa slikama)
4x4 tipkovnica s Arduinom i procesiranjem: Ne sviđaju vam se LCD zasloni? Želite učiniti da vaši projekti izgledaju privlačno? Pa, evo rješenja. U ovom Instructableu moći ćete se osloboditi gnjavaže korištenja LCD zaslona za prikaz sadržaja s vašeg Arduina, a također i za izradu vaše projekcije
Brza i prljava tipkovnica Das (prazna tipkovnica): 3 koraka
Brza i prljava Das tipkovnica (prazna tipkovnica): Dasova tipkovnica naziv je najpopularnije tipkovnice bez natpisa na tipkama (prazna tipkovnica). Das Keyboard se prodaje po cijeni od 89,95 USD. Ovo uputstvo će vas voditi iako ćete sami napraviti bilo koju staru tipkovnicu koja vam leži