Orodha ya maudhui:
- Hatua ya 1: Kuanza
- Hatua ya 2: Kutumia Keypad ya Nambari 12
- Hatua ya 3: Kutumia Keypad 16 ya Nambari
- Hatua ya 4: Mfano wa Mradi - Mfumo wa Ufikiaji wa PIN
Video: Kutumia keypads za Nambari na Arduino: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Keypads za Nambari zinaweza kutoa njia mbadala rahisi ya mtumiaji wa mwisho kwa njia anuwai za miradi yako. Au ikiwa unahitaji vifungo vingi, vinaweza kukuokoa muda mwingi kwa ujenzi. Tutakimbia kupitia kuziunganisha, kwa kutumia maktaba ya Arduino na kisha kumaliza na mfano muhimu wa mchoro.
Hatua ya 1: Kuanza
Haijalishi wapi unapata vitufe vyako kutoka, hakikisha unaweza kupata karatasi ya data - kwani hii itafanya maisha iwe rahisi wakati wa kuziunganisha. Kwa mfano - picha katika hatua hii.
Karatasi ya data ni muhimu kwani itakuambia ni pini gani au viunganishi kwenye keypad ni kwa safu na safu. Ikiwa huna karatasi ya data - utahitaji kuamua mwenyewe ni anwani zipi kwa safu na safu.
Hii inaweza kufanywa kwa kutumia mwendelezo wa multimeter (buzzer). Anza kwa kuweka uchunguzi mmoja kwenye pini 1, uchunguzi mwingine kwenye pini 2, na ubonyeze funguo moja kwa moja. Andika muhtasari wa wakati kitufe kinakamilisha mzunguko, kisha nenda kwenye pini inayofuata. Hivi karibuni utajua ambayo ni ipi. Kwa mfano, kwenye mfano vifungo vya keypad 1 na 5 ni vya kitufe cha "1 ″, 2 na 5 kwa" 4 ″, n.k.
Wakati huu tafadhali pakua na usakinishe maktaba ya Arduino. Sasa tutaonyesha jinsi ya kutumia vitufe vyote katika mifano rahisi.
Hatua ya 2: Kutumia Keypad ya Nambari 12
Tutatumia keypad ndogo nyeusi, Arduino Uno-sambamba na LCD iliyo na kiolesura cha I2C kwa madhumuni ya kuonyesha. Ikiwa huna LCD unaweza kutuma maandishi kwa mfuatiliaji wa serial badala yake.
Waya waya LCD yako kisha unganisha keypad kwa Arduino kwa njia ifuatayo: Kitufe cha keypad 1 hadi Arduino digital 5Keypad safu ya 2 hadi Arduino digital 4KKiashiria cha 3 hadi Arduino digital 3Kiungo cha 4 kwa Arduino digital 2Keypad safu 1 kwa Arduino digital 8Keypad safu ya 2 hadi Arduino digital 7Keypad safu ya 3 hadi Arduino digital 6 Ikiwa keypad yako ni tofauti na yetu, zingatia mistari kwenye mchoro kutoka:
Ufafanuzi wa aina ya keypad
Kama unahitaji kubadilisha nambari kwenye safu za safu safu [ROWS] na colPins [COLS]. Unaingiza nambari za pini za dijiti zilizounganishwa kwenye safu na safu wima za kitufe mtawaliwa.
Kwa kuongezea, vitufe vya safu huhifadhi maadili yaliyoonyeshwa kwenye LCD wakati kitufe fulani kinabanwa. Unaweza kuona kuwa tumeilinganisha na keypad ya mwili inayotumika, hata hivyo unaweza kuibadilisha kuwa chochote unachohitaji. Lakini kwa sasa, ingiza na upakie mchoro ufuatao mara tu utakaporidhika na mgao wa nambari za safu / pini:
/ * Kitufe cha Nambari na I2C LCD https://tronixstuff.com Inatumia maktaba ya Keypad kwa Arduino https://www.arduino.cc/playground/Code/Keypad na Mark Stanley, Alexander Brevig * /
# pamoja na "Keypad.h"
# pamoja na "Wire.h" // kwa I2C LCD # pamoja na "LiquidCrystal_I2C.h" // kwa I2C basi LCD moduli // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // weka anwani ya LCD kwa 0x27 kwa chars 16 na onyesho la laini 2
Ufafanuzi wa aina ya keypad
const byte ROWS = 4; // safu nne const byte COLS = 3; // funguo tatu za safu wima [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
Pini za baiti [ROWS] = {
5, 4, 3, 2}; // unganisha kwenye pini zilizowekwa kwenye safu ya keypad byte colPins [COLS] = {8, 7, 6}; // unganisha kwenye vifungo vya safu ya keypad
hesabu = 0;
Keypad keypad = Keypad (makeKeymap (funguo), safu za pini, colPins, ROWS, COLS);
kuanzisha batili ()
{lcd.init (); // kuanzisha lcd lcd. taa ya nyuma (); // washa taa ya nyuma ya LCD}
kitanzi batili ()
{char ufunguo = keypad.getKey (); ikiwa (ufunguo! = NO_KEY) {lcd.print (ufunguo); hesabu ++; ikiwa (hesabu == 17) {lcd. clear (); hesabu = 0; }}}
Na matokeo ya mchoro yanaonyeshwa kwenye video. Kwa hivyo sasa unaweza kuona jinsi vitufe vya kitufe vinaweza kutafsiriwa kuwa data kwa matumizi kwenye mchoro. Sasa tutarudia onyesho hili na kitufe kikubwa.
Hatua ya 3: Kutumia Keypad 16 ya Nambari
Tutatumia keypad kubwa ya 4 × 4, Arduino Uno-sambamba na kubadilisha I2C LCD kutoka Akafugu kwa madhumuni ya kuonyesha. Tena, ikiwa huna LCD unaweza kutuma maandishi kwa mfuatiliaji wa serial badala yake. Washa LCD na kisha unganisha kitufe kwa Arduino kwa njia ifuatayo:
- Mstari wa keypad 1 (pini nane) kwa Arduino digital 5
- Mstari wa keypad 2 (pin 1) kwa Arduino digital 4
- Mstari wa keypad 3 (pini 2) kwa Arduino digital 3
- Mstari wa keypad 4 (pin 4) kwa Arduino digital 2
- Keypad safu 1 (pini 3) kwa Arduino digital 9
- Keypad safu 2 (pin 5) kwa Arduino digital 8
- Keypad safu 3 (pin 6) kwa Arduino digital 7
- Safu ya keypad 4 (pin 7) kwa Arduino digital 6
Sasa kwa mchoro - angalia jinsi tumeishi kwa kitufe kikubwa cha nambari: safu ya ziada kwenye vitufe vya safu ya safu pini ya ziada kwenye safu za safu na baiti COLS = 4.
/ * Kitufe cha Nambari na I2C LCD https://tronixstuff.com Inatumia maktaba ya Keypad kwa Arduino https://www.arduino.cc/playground/Code/Keypad na Mark Stanley, Alexander Brevig * /
# pamoja na "Keypad.h"
# pamoja na "Wire.h" // kwa I2C LCD # pamoja na "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // safu nne
const byte COLS = 4; // funguo nne za safu wima [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; Pini za baiti [ROWS] = {5, 4, 3, 2}; // unganisha kwenye pini za safu mlalo za kepi za keypad byte [COLS] = {9, 8, 7, 6}; // unganisha kwenye vifungo vya safu ya keypad int count = 0;
Keypad keypad = Keypad (makeKeymap (funguo), safu za pini, colPins, ROWS, COLS);
kuanzisha batili ()
{Serial.begin (9600); lcd kuanza (16, 2); lcd.print ("Jaribio la keypad!"); kuchelewesha (1000); lcd wazi (); }
kitanzi batili ()
{char ufunguo = keypad.getKey (); ikiwa (ufunguo! = NO_KEY) {lcd.print (ufunguo); Serial.print (ufunguo); hesabu ++; ikiwa (hesabu == 17) {lcd. clear (); hesabu = 0; }}}
Na tena unaweza kuona matokeo ya mchoro hapo juu kwenye video.
Sasa kwa mradi wa mfano, moja ambayo labda ni matumizi yaliyoombwa zaidi ya vitufe vya nambari…
Hatua ya 4: Mfano wa Mradi - Mfumo wa Ufikiaji wa PIN
Matumizi yaliyoombwa zaidi kwa kitufe cha nambari inaonekana kuwa programu ya mtindo wa "PIN", ambapo Arduino imeagizwa kufanya kitu kulingana na nambari sahihi inayoingizwa kwenye kitufe. Mchoro ufuatao hutumia vifaa vilivyoelezewa kwa mchoro uliopita na kutekeleza mfumo wa kuingiza PIN wa tarakimu sita.
Vitendo vya kuchukua vinaweza kuingizwa katika kazi sahihiPIN () na isiyo sahihiPIN (). Na PIN imewekwa katika safu ya siri ya PIN [6]. Kwa kazi ya ziada kidogo unaweza kuunda kazi yako ya kubadilisha PIN pia.
// Kubadilisha PIN na kitufe cha nambari 16 // https://tronixstuff.com # pamoja na "Keypad.h" # pamoja na # pamoja na LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // safu nne
const byte COLS = 4; // funguo nne za safu wima [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; Pini za baiti [ROWS] = {5, 4, 3, 2}; // unganisha kwenye pini za safu mlalo za kepi za keypad byte [COLS] = {9, 8, 7, 6}; // unganisha kwenye vifungo vya safu ya keypad
Keypad keypad = Keypad (makeKeymap (funguo), safu za pini, colPins, ROWS, COLS);
char PIN [6] = {
'1', '2', 'A', 'D', '5', '6'}; // siri yetu (!) nambari ya jaribio la char [6] = {'0', '0', '0', '0', '0', '0'}; // kutumika kwa kulinganisha int z = 0;
kuanzisha batili ()
{Serial.begin (9600); lcd kuanza (16, 2); lcd.print ("PIN Lock"); kuchelewesha (1000); lcd wazi (); lcd.print ("Ingiza PIN…"); }
batiliPIN () // fanya hii ikiwa PIN sahihi imeingizwa
{lcd.print ("* PIN sahihi *"); kuchelewesha (1000); lcd wazi (); lcd.print ("Ingiza PIN…"); }
batili isiyo sahihiPIN () // fanya hivi ikiwa PIN isiyo sahihi imeingizwa
{lcd.print ("* Jaribu tena *"); kuchelewesha (1000); lcd wazi (); lcd.print ("Ingiza PIN…"); }
kuangalia batiliPIN ()
{int sahihi = 0; int i; kwa (i = 0; i <6; i ++) {
ikiwa (jaribu == PIN )
+ sahihi ++; }} ikiwa (sahihi == 6) {correctPIN (); } mwingine {sio sahihiPIN (); }
kwa (int zz = 0; zz <6; zz ++) {kujaribu [zz] = '0'; }}
kusoma batili ()
{char ufunguo = keypad.getKey (); ikiwa (ufunguo! = NO_KEY) {kujaribu [z] = ufunguo; z ++; kubadili (ufunguo) {kesi '*': z = 0; kuvunja; kesi '#': z = 0; kuchelewesha (100); // kwa lcd ya ziada ya kufuta.. wazi (); kuangaliaPIN (); kuvunja; }}}
kitanzi batili ()
{somaKibodi (); }
Mradi huo umeonyeshwa kwenye video.
Kwa hivyo sasa una uwezo wa kutumia vitufe vya vitufe kumi na mbili na kumi na sita na mifumo yako ya Arduino. Nina hakika utakuja na kitu muhimu na cha kuvutia ukitumia vitufe katika siku za usoni.
Chapisho hili linaletwa kwako na pmdway.com - kila kitu kwa watengenezaji na wapenda umeme, na uwasilishaji wa bure ulimwenguni.
Ilipendekeza:
Kutumia Nambari 4 na 7 ya Kuonyesha Sehemu, na Arduino: Hatua 7
Kutumia Nambari 4 na 7 ya Kuonyesha, Na Arduino: Katika mafunzo haya nitakuonyesha jinsi ya kutumia onyesho la sehemu 7 na nambari 4 ukitumia arduino. Baadhi ya mambo ya msingi ambayo ningependa kuelezea ni kwamba hii inachukua karibu pini zote za dijiti juu ya arduino uno, Leonardo, bodi zilizo na digi 13
Nambari 4 ya Nambari 7 ya Kitengo Na Kitufe cha Rudisha: Hatua 5
4 Nambari ya Sehemu ya 7 ya Kitengo na Kitufe cha Rudisha: Hii inayoweza kufundishwa itakufundisha jinsi ya kuunda kipima muda cha kutumia saa 4 ya Kitambulisho cha Sehemu 7 ambazo zinaweza kuweka upya na kitufe. Pamoja na hii inayoweza kufundishwa ni vifaa vinavyohitajika, wiring sahihi, na faili inayoweza kupakuliwa ya nambari ambayo ilikuwa
NODEMcu Usb Port Haifanyi Kazi? Pakia Nambari ya Kutumia USB kwa Moduli ya TTL (FTDI) katika Hatua 2 tu: Hatua 3
NODEMcu Usb Port Haifanyi Kazi? Pakia Nambari ya Kutumia USB kwa Moduli ya TTL (FTDI) kwa Hatua 2 tu: Umechoka kuunganisha kwa waya nyingi kutoka USB hadi moduli ya TTL kwa NODEMcu, fuata hii inayoweza kufundishwa, kupakia nambari hiyo kwa hatua 2 tu. Ikiwa bandari ya USB ya NODEMcu haifanyi kazi, basi usiogope. Ni tu chip ya dereva ya USB au kontakt USB,
Jifunze Kutumia Nambari Kutumia Kobe ya Chatu: Hatua 4
Jifunze Kutumia Nambari Turtle ya Chatu: Katika mafunzo haya tutaanzisha ulimwengu wa kufurahisha wa kuweka nambari kwa kutumia Python, haswa maktaba ya Turtle. Ikiwa una nia ya kujifunza zaidi, tunashauri kusoma kitabu cha mwandishi: https: //www.amazo
Jinsi ya Kutumia Nambari Kutumia Mwanzo: Hatua 15
Jinsi ya Kutumia Nambari Kutumia Mwanzo: Halo jamani! Hii ni floppyman2! Mradi huu utakupa wazo la jinsi ya kuanza mchezo wa jukwaa mwanzoni