Satura rādītājs:
- 1. darbība. Darba sākšana
- 2. darbība: 12 ciparu tastatūras izmantošana
- 3. darbība: 16 ciparu tastatūras izmantošana
- 4. solis: projekta piemērs - PIN piekļuves sistēma
Video: Ciparu tastatūru izmantošana ar Arduino: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Ciparu tastatūras var nodrošināt vienkāršu gala lietotāja alternatīvu dažādām saskarnēm jūsu projektiem. Vai arī, ja jums ir nepieciešams daudz pogu, tās var ietaupīt daudz laika būvniecībā. Mēs veiksim to savienošanu, izmantojot Arduino bibliotēku, un pēc tam pabeigsim ar noderīgu skices piemēru.
1. darbība. Darba sākšana
Neatkarīgi no tā, no kurienes jūs saņemat tastatūras, pārliecinieties, vai varat iegūt datu lapu - jo tas atvieglos dzīvi, savienojot tās. Piemēram - attēls šajā solī.
Datu lapa ir svarīga, jo tā jums pateiks, kuras tapas vai savienotāji tastatūrā ir rindām un kolonnām. Ja jums nav datu lapas - jums manuāli jānosaka, kuri kontakti ir rindām un kolonnām.
To var izdarīt, izmantojot multimetra nepārtrauktības funkciju (skaņas signālu). Sāciet, ievietojot vienu zondi uz 1. tapas, otru zondi uz 2. tapas un nospiediet taustiņus pa vienam. Pierakstiet, kad poga pabeidz ķēdi, un pēc tam pārejiet uz nākamo tapu. Drīz jūs zināt, kas ir kurš. Piemēram, piemēra tastatūras tapas 1 un 5 ir pogai “1”, 2 un 5 - “4” utt.
Šajā brīdī, lūdzu, lejupielādējiet un instalējiet tastatūras Arduino bibliotēku. Tagad mēs vienkāršos piemēros parādīsim, kā izmantot abas tastatūras.
2. darbība: 12 ciparu tastatūras izmantošana
Displeja nolūkiem mēs izmantosim mazo melno tastatūru, ar Arduino Uno saderīgu un LCD ar I2C saskarni. Ja jums nav LCD, jūs vienmēr varat nosūtīt tekstu uz seriālo monitoru.
Pievienojiet LCD, pēc tam pievienojiet tastatūru Arduino šādā veidā: 1. tastatūras rinda līdz Arduino digitālajai 5. tastatūras 2. rindai līdz Arduino digitālajai 4K 3. tastatūras rindai 3. līdz Arduino digitālajai 3. tastatūras 4. rindai līdz Arduino digitālajai 2. tastatūrai 1. kolonna līdz Arduino digitālajai 8. tastatūras kolonna 2. līdz Arduino digital 7 Taustiņu 3. sleja līdz Arduino digital 6
// tastatūras tipa definīcija
Kā jums ir jāmaina skaitļi masīvos rowPins [ROWS] un colPins [COLS]. Jūs ievadāt ciparu tapu numurus, kas attiecīgi savienoti ar tastatūras rindām un kolonnām.
Turklāt masīva taustiņi saglabā LCD ekrānā parādītās vērtības, nospiežot noteiktu pogu. Jūs varat redzēt, ka esam to saskaņojuši ar izmantoto fizisko tastatūru, tomēr varat to mainīt uz visu nepieciešamo. Bet pagaidām ievadiet un augšupielādējiet šādu skici, kad esat apmierināts ar rindu/tapu numuru piešķiršanu:
/ * Ciparu tastatūra un I2C LCD https://tronixstuff.com Izmanto Arduino tastatūras bibliotēku https://www.arduino.cc/playground/Code/Klaviatūra, ko iesniedza Marks Stenlijs, Aleksandrs Brevigs */
#include "Keypad.h"
#include "Wire.h" // I2C LCD #include "LiquidCrystal_I2C.h" // I2C autobusu LCD modulim // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C LCD (0x27, 16, 2); // iestatiet LCD adresi uz 0x27, lai parādītu 16 rakstzīmes un 2 rindas
// tastatūras tipa definīcija
const baits ROWS = 4; // četras rindas const baits COLS = 3; // trīs kolonnu simbolu taustiņi [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
baits rowPins [ROWS] = {
5, 4, 3, 2}; // izveidot savienojumu ar tastatūras rindu pinouts baitu colPins [COLS] = {8, 7, 6}; // izveidot savienojumu ar tastatūras kolonnu pinouts
int skaits = 0;
Tastatūras tastatūra = tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS);
anulēts iestatījums ()
{lcd.init (); // inicializēt lcd lcd.backlight (); // ieslēgt LCD apgaismojumu}
tukša cilpa ()
{char taustiņš = keypad.getKey (); if (atslēga! = NO_KEY) {lcd.print (atslēga); skaitīt ++; ja (skaits == 17) {lcd.clear (); skaits = 0; }}}
Un skices rezultāti ir parādīti videoklipā. Tātad tagad jūs varat redzēt, kā pogu nospiešanu var pārvērst datos, lai tos izmantotu skicē. Tagad mēs atkārtosim šo demonstrāciju ar lielāku tastatūru.
3. darbība: 16 ciparu tastatūras izmantošana
Mēs izmantosim lielāku 4 × 4 tastatūru, kas ir saderīga ar Arduino Uno, un lai mainītu displeja nolūkos I2C LCD no Akafugu. Atkal, ja jums nav LCD, jūs vienmēr varat nosūtīt tekstu uz seriālo monitoru. Pievienojiet LCD vadu un pēc tam pievienojiet tastatūru Arduino šādā veidā:
- Tastatūras 1. rinda (astotā tapa) līdz Arduino digital 5
- Tastatūras 2. rinda (1. tapa) līdz Arduino digital 4
- Tastatūras 3. rinda (2. tapa) uz Arduino digital 3
- Tastatūras 4. rinda (4. tapa) uz Arduino digital 2
- Tastatūras 1. sleja (3. tapa) līdz Arduino digital 9
- Tastatūras 2. sleja (5. tapa) līdz Arduino digital 8
- Tastatūras 3. sleja (6. tapa) līdz Arduino digital 7
- Tastatūras 4. sleja (7. tapa) līdz Arduino digital 6
Tagad par skici - ņemiet vērā, kā mēs esam pielāgojušies lielākajai ciparu tastatūrai: papildu kolonna masīva char taustiņos papildu tapa masīvā colPins un baits COLS = 4.
/ * Ciparu tastatūra un I2C LCD https://tronixstuff.com Izmanto Arduino tastatūras bibliotēku https://www.arduino.cc/playground/Code/Klaviatūra Marks Stenlijs, Aleksandrs Brevigs */
#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 baits ROWS = 4; // četras rindas
const baits COLS = 4; // četras kolonnas char taustiņi [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; baits rowPins [ROWS] = {5, 4, 3, 2}; // izveidot savienojumu ar tastatūras rindu pinouts baitu colPins [COLS] = {9, 8, 7, 6}; // izveidot savienojumu ar tastatūras kolonnu pinouts int count = 0;
Tastatūras tastatūra = tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS);
anulēts iestatījums ()
{Sērijas sākums (9600); lcd. sākums (16, 2); lcd.print ("Tastatūras tests!"); kavēšanās (1000); lcd.clear (); }
tukša cilpa ()
{char taustiņš = keypad.getKey (); if (atslēga! = NO_KEY) {lcd.print (atslēga); Serial.print (atslēga); skaitīt ++; ja (skaits == 17) {lcd.clear (); skaits = 0; }}}
Un atkal jūs varat redzēt iepriekš redzamās skices rezultātus videoklipā.
Tagad par projekta piemēru, kas, iespējams, ir visvairāk pieprasītais ciparu tastatūras lietojums …
4. solis: projekta piemērs - PIN piekļuves sistēma
Šķiet, ka vispieprasītākais ciparu tastatūras lietojums ir “PIN” stila lietojumprogramma, kurā Arduino tiek uzdots kaut ko darīt, pamatojoties uz tastatūrā ievadītu pareizu numuru. Turpmākajā skicē izmantota iepriekšējai skicei aprakstītā aparatūra un ieviesta sešciparu PIN ievades sistēma.
Veicamās darbības var ievietot funkcijās correctPIN () un nepareiziPIN (). Un PIN ir iestatīts masīva ogles PIN [6]. Ar nelielu papildu darbu jūs varētu izveidot arī savu PIN maiņas funkciju.
// PIN slēdzis ar 16 ciparu ciparu tastatūru // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const baits ROWS = 4; // četras rindas
const baits COLS = 4; // četras kolonnas char taustiņi [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; baits rowPins [ROWS] = {5, 4, 3, 2}; // izveidot savienojumu ar tastatūras rindu pinouts baitu colPins [COLS] = {9, 8, 7, 6}; // izveidot savienojumu ar tastatūras kolonnu pinouts
Tastatūras tastatūra = tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS);
ogles PIN [6] = {
“1”, “2”, “A”, “D”, “5”, “6”}; // mūsu slepenais (!) skaitļa simbolu mēģinājums [6] = {'0', '0', '0', '0', '0', '0'}; // izmantots salīdzināšanai int z = 0;
anulēts iestatījums ()
{Sērijas sākums (9600); lcd. sākums (16, 2); lcd.print ("PIN atslēga"); kavēšanās (1000); lcd.clear (); lcd.print ("Ievadiet PIN …"); }
void correctPIN () // dariet to, ja ievadīts pareizs PIN
{lcd.print (" * Pareizais PIN *"); kavēšanās (1000); lcd.clear (); lcd.print ("Ievadiet PIN …"); }
void correctPIN () // dariet to, ja ievadīts nepareizs PIN
{lcd.print (" * Mēģiniet vēlreiz *"); kavēšanās (1000); lcd.clear (); lcd.print ("Ievadiet PIN …"); }
void checkPIN ()
{int pareizi = 0; int i; par (i = 0; i <6; i ++) {
ja (mēģinājums == PIN )
{pareizi ++; }} ja (pareizi == 6) {correctPIN (); } cits {correctPIN (); }
par (int zz = 0; zz <6; zz ++) {mēģinājums [zz] = '0'; }}
void readTastatūra ()
{char taustiņš = keypad.getKey (); ja (atslēga! = NO_KEY) {mēģinājums [z] = atslēga; z ++; slēdzis (atslēga) {case '*': z = 0; pārtraukums; gadījums '#': z = 0; kavēšanās (100); // papildu debounce lcd.clear (); checkPIN (); pārtraukums; }}}
tukša cilpa ()
{readKeypad (); }
Projekts ir demonstrēts video.
Tātad tagad jums ir iespēja ar savām Arduino sistēmām izmantot divpadsmit un sešpadsmit taustiņu tastatūras. Esmu pārliecināts, ka tuvākajā laikā, izmantojot tastatūras, jūs izdomāsit kaut ko noderīgu un interesantu.
Šo ziņu jums sniedz pmdway.com - viss veidotājiem un elektronikas entuziastiem, ar bezmaksas piegādi visā pasaulē.
Ieteicams:
4 ciparu 7 segmentu displejs 14 tapas ar Arduino: 3 soļi
4 ciparu 7 segmentu displejs 14 tapas ar Arduino: vienmēr ir laba ideja pārbaudīt, vai ierīce darbojas pareizi vai nē, ja šai sastāvdaļai ir ļoti daudz tapu. Šajā projektā esmu pārbaudījis savu 4 ciparu 7 segmentu 14 kontaktu displeju. Visi 7 segmenti vienlaikus parādīs no 0 līdz 9
Izmantojot 4 ciparu un 7 segmentu displeju ar Arduino: 7 soļi
Izmantojot 4 ciparu un 7 segmentu displeju ar Arduino: Šajā apmācībā es jums parādīšu, kā izmantot 7 segmentu displeju ar 4 cipariem, izmantojot arduino. Dažas pamata lietas, kuras es vēlētos norādīt, ir tas, ka tas aizņem gandrīz visas digitālās tapas arduino uno, Leonardo, dēļos ar 13 digitālajām ierīcēm
Sūtiet ciparu datus no viena Arduino uz citu: 16 soļi
Sūtiet ciparu datus no viena Arduino uz citu: Ievads David Palmer, CDIO Tech. Astonas universitātē. Vai jums kādreiz bija jānosūta daži numuri no viena Arduino uz otru? Šī pamācība parāda, kā. Jūs varat viegli pārbaudīt tā darbību, vienkārši ierakstot ciparu virkni, lai to nosūtītu S
3 ciparu Arduino binārais skaitītājs: 8 soļi (ar attēliem)
3 ciparu Arduino binārais skaitītājs: šis projekts ir skaitītājs 1-999, izmantojot 4-LED katram ciparam, bet tā vadības tapa ir anods, atstājot brīvus katodus savienošanai ar atbilstošo LED rindu un rezistoru starp šo un Arduino tapu . Kopējie anodi būs
Pamācība Kā izveidot 4 ciparu displeja saskarni ar Arduino UNO: 6 soļi (ar attēliem)
Pamācība Kā izveidot 4 ciparu displeja saskarni ar Arduino UNO: Šī apmācība iemācīs jums dažus pamatus par četrciparu displeja izmantošanu ar Arduino UNO