Talaan ng mga Nilalaman:
- Hakbang 1: Bill ng Mga Materyales
- Hakbang 2: Schematic at Cicruit
- Hakbang 3: Ang Code
- Hakbang 4: Pagwawasto ng Mga Halaga
- Hakbang 5: Proyekto Matapos ang Kritika at Repasuhin
- Hakbang 6: Pagkatapos ng Ilang Trabaho sa Pag-Soldring
- Hakbang 7: Ang Sandali ng Katotohanan
- Hakbang 8: Ang Wakas
Video: Isang Pin 4 × 4 Keypad: 10 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa tuwing makakakita ako ng isang keypad, may kasamang maraming mga pin, isang malaking pag-aaksaya ng iyong mga pin ng Arduino, kaya maaari ba nating patakbuhin ang isang keypad na may isa at isang pin lamang?. Ang sagot ay narito.
Hakbang 1: Bill ng Mga Materyales
Hardware:
01 Arduino UNO
02 Mga Breadboard
01 LCD na may I2C
16 Mga pindutan ng push
04 resistors 1.5 kΩ
04 resistors 620 Ω
04 resistors 220 Ω
08 resistors 100 Ω
01 risistor 1 kΩ
07 Mga Jumper wires
Software:
Naka-install ang Arduino IDE sa iyong PC
Hakbang 2: Schematic at Cicruit
Ang lahat ng ideya ay mayroon kaming 4 * 4 matrix ng mga push button na konektado patayo sa Ground ng tamang lead at pahalang ng iba pang lead (ang lead ng pindutan) at resistors ng 1.5 kΩ, 620Ω, 220Ω, at 100Ω, ang mga dulo ng ang 4 na mga hilera ay konektado sa pamamagitan ng apat na 100Ω resistors tulad ng ipinakita sa eskematiko.
Sa tuwing pipilitin mo ang isang pindutan isinasara mo ang circuit at ang kasalukuyang dumadaan sa isang iba't ibang mga landas at iba't ibang mga kadena ng resistors na ang dahilan kung bakit tatanggapin ng pin A0 ang isang iba't ibang mga analog na basahin para sa bawat pindutan ng push. Ang kailangan mo lang ngayon ay ang pag-coding.
Hakbang 3: Ang Code
# isama
# isama
LiquidCrystal_I2C lcd (0x3f, 20, 4);
int Button = A0;
int readvalue;
walang bisa ang pag-setup ()
{
Serial.begin (9600);
lcd.begin ();
pinMode (Button, INPUT);
lcd.backlight ();
lcd.print ("Hello World");
pagkaantala (2000);
lcd.clear ();
lcd.print ("Isang pin 4 * 4 keypad");
pagkaantala (2000); }
walang bisa loop ()
{
readvalue = analogRead (Button);
Serial.println (readvalue);
kung (readvalue == 852) {lcd.clear (); lcd.print ("A");}
iba pa {kung (readvalue == 763) {lcd.clear (); lcd.print ("B");}
iba pa {kung (readvalue == 685) {lcd.clear (); lcd.print ("C");}
iba pa {kung (readvalue == 965) {lcd.clear (); lcd.print ("D");}
iba pa {kung (readvalue == 565) {lcd.clear (); lcd.print ("9");}
iba pa {kung (readvalue == 614) {lcd.clear (); lcd.print ("6");}
iba pa {kung (readvalue == 360) {lcd.clear (); lcd.print ("3");}
iba pa {kung (readvalue == 335) {lcd.clear (); lcd.print ("#");}
iba pa {kung (readvalue == 396) {lcd.clear (); lcd.print ("8");}
iba pa {kung (readvalue == 349) {lcd.clear (); lcd.print ("5");}
iba pa {kung (readvalue == 235) {lcd.clear (); lcd.print ("2");}
iba pa {kung (readvalue == 279) {lcd.clear (); lcd.print ("0");}
iba pa {kung (readvalue == 452) {lcd.clear (); lcd.print ("7");}
iba pa {kung (readvalue == 271) {lcd.clear (); lcd.print ("4");}
iba pa {kung (readvalue == 170) {lcd.clear (); lcd.print ("1");}
iba pa {kung (readvalue == 92) {lcd.clear (); lcd.print ("*");} iba pa {}}}}}}}}}}}}}}}}}
Hakbang 4: Pagwawasto ng Mga Halaga
Kapag binuksan mo ang serial moniter magpapakita ito ng halagang 1023, kung pipilitin mo ang isang pindutan bibigyan ka nito ng isa pang pagbabasa kailangan mong kunin ang mga halagang iyon at gumawa ng ilang mga pagbabago sa code
Hakbang 5: Proyekto Matapos ang Kritika at Repasuhin
Walang duda na lahat tayo ay narito upang malaman at ibahagi ang aming kaalaman, salamat sa ilang mga puna na naiwan ng ilang mga tao mula sa komunidad na lubos na nakatulong, nagpasya akong gumawa ng ilang mga pagsasaayos at pagpapabuti sa aking proyekto:
Ang hardware:
Napagpasyahan kong maghinang ng lahat ng mga bahagi sa isang PCB upang maiwasan ang problema ng hindi magandang koneksyon sa mga breadboard.
Ang code:
Pinayuhan ako ng isang kaibigan na gumamit ng isang software debouncing at ito ay isang loop ("para sa" loop halimbawa) upang gumawa ng kaunting oras ang programa upang pumili ng isang basahin nangangahulugan ito na gumagawa ito ng maraming mga nagbabasa (500 sa aking pagsusulit) ngunit tumatagal ang huli lang.
para sa (i = 1; i <= 500; i ++) {// kunin lamang ang ika-500 na analogread
halaga = analogRead (Button);} // makakatulong iyon upang tumagal ng kaunting oras upang maiwasan ang masamang pagbabasa
Pinayuhan ako ng ibang kaibigan dahil sa kanya na ihambing ang "readvalue" sa isang hanay ng mga halagang hindi isa dahil ang "readvalue" ay tumatagal ng maraming mga halaga para sa parehong pindutan ng push. Halimbawa, ang "A" ay binabasa ng: 849, 850, 851 852, 853, 854, 855 kaya't ito ay isang saklaw ng 7 mga halaga: isang threshold (852) at 3 mga halagang kaliwa at kanan. ang dapat nating gawin dito ay ihambing ang ganap na halaga ng pagkakaiba sa pagitan ng "readvalue" at "852" sa "3".
kung (abs (readvalue-852) <= 8) {lcd.clear (); lcd.print ("A");}
Hakbang 6: Pagkatapos ng Ilang Trabaho sa Pag-Soldring
Hakbang 7: Ang Sandali ng Katotohanan
Tulad ng nakikita mo ang programa kung minsan ay nakalilito ang mga pindutan ngunit gumagana pa rin ito, sa teorya ay walang mali sa circuit ngunit ang code ay nangangailangan ng higit na pagkakalibrate.
Hakbang 8: Ang Wakas
Inaasahan kong gusto mo ang proyektong ito at subukan mong gawin ito, maaaring mas mahusay ka kaysa sa ginawa ko.
Tanungin ako kung mayroon kang mga katanungan, mag-iwan ng mga komento at, huwag kalimutang bumoto para sa akin kung gusto mo iyon.
Inirerekumendang:
Awtomatikong Magsimula ng isang Programa Kapag Nag-hook ng isang Laptop Sa isang Docking Station: 5 Mga Hakbang
Awtomatikong Magsimula ng isang Programa Kapag Ang Pag-hook ng isang Laptop Sa isang Docking Station: Ang itinuturo na ito ay tungkol sa kung paano magpatakbo ng isang programa o isang application kapag na-hook mo ang iyong laptop sa isang docking station. Sa halimbawang ito gumagamit ako ng Lenovo T480 Windows 10
Isang Halloween Scare Machine Gamit ang isang PIR, isang 3D Printed Pumpkin at ang Troll Arduino Compatible Audio Pranker / practical Joke Board .: 5 Mga Hakbang
Isang Halloween Scare Machine Gamit ang isang PIR, isang 3D Printed Pumpkin at ang Troll Arduino Compatible Audio Pranker / practical Joke Board .: Ang Troll board na nilikha ni Patrick Thomas Mitchell ng EngineeringShock Electronics, at buong pinondohan sa Kickstarter hindi pa masyadong nakakaraan. Nakuha ko ang aking gantimpala ng ilang linggo maaga upang makatulong na sumulat ng ilang mga halimbawa ng paggamit at bumuo ng isang library ng Arduino sa isang pagtatangka
On Off Latch Circuit Sa UC. Isang Button ng Push. Isang Pin. Discrete Component .: 5 Mga Hakbang
On Off Latch Circuit Sa UC. Isang Button ng Push. Isang Pin. Discrete Component .: Kumusta lahat, naghahanap ng isang on / off circuit sa net. Lahat ng nahanap ko ay hindi ang hinahanap ko. Pinag-uusapan ko ang aking sarili, kinakailangang may isang paraan doon. Iyon ang kailangan ko.-Isang push button lang ang dapat gawin at patayin.-Dapat lang gamitin ang
Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi: 9 Mga Hakbang
Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi: DISCLAIMER: ITO AY ISANG GABAY SA PAGGAMIT PARA SA ISANG BUKAS NA PRODUKTO NG SOURCE: ANG ISANG PIN KEYPAD. HINDI ITO AY DIYANG PROYEKTO. KUNG GUSTO NYONG GUMAWA NG MGA BOARDS NG IYONG SARILI, ANG EAGLE FILES AY MAAARING MAKITA SA WAKAS NG TUTORIAL. Ano ang One Pin Keypad? Isang Pin Keypad
Keypad Interface Sa 8051 at Pagpapakita ng Mga Numero ng Keypad sa 7 Segment: 4 na Hakbang (na may Mga Larawan)
Keypad Interface Sa 8051 at Pagpapakita ng Mga Numero ng Keypad sa 7 Segment: Sa tutorial na ito sasabihin ko sa iyo ang tungkol sa kung paano namin mai-interface ang keypad sa 8051 at ipinapakita ang mga numero ng keypad sa 7 segment na pagpapakita