Orodha ya maudhui:
- Hatua ya 1: Muswada wa Vifaa
- Hatua ya 2: Mpangilio na Cicruit
- Hatua ya 3: Kanuni
- Hatua ya 4: Marekebisho ya Maadili
- Hatua ya 5: Mradi Baada ya Kukosoa na Kupitia
- Hatua ya 6: Baada ya Kazi Fulani ya Soldring
- Hatua ya 7: Wakati wa Ukweli
- Hatua ya 8: Mwisho
Video: Pini moja 4 × 4 keypad: Hatua 10
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Kila wakati ninapoona keypad, inakuja na pini nyingi, ni taka kubwa ya pini zako za Arduino, kwa hivyo tunaweza kukimbia kitufe na pini moja na moja tu? Jibu liko hapa.
Hatua ya 1: Muswada wa Vifaa
Vifaa:
01 Arduino UNO
02 Bodi za mkate
01 LCD na I2C
16 Bonyeza vifungo
Vipinga 04 1.5 kΩ
Upinzani 04 620 Ω
Kupinga 04 220 Ω
Vipinzani vya 08 100 Ω
Kupinga 01 1 kΩ
Waya za Jumper 07
Programu:
Arduino IDE imewekwa kwenye PC yako
Hatua ya 2: Mpangilio na Cicruit
Wazo lote ni kwamba tuna tumbo la 4 * 4 la vifungo vya kushinikiza vilivyounganishwa wima kwa Ardhi kwa risasi ya kulia na usawa na risasi nyingine (risasi ya kitufe) na vipinga vya 1.5 kΩ, 620Ω, 220Ω, na 100Ω, mwisho wa safu 4 zimeunganishwa na vipinzani vinne 100Ω kama inavyoonyeshwa kimkakati.
Kila wakati unapobonyeza kitufe hufunga mzunguko na mkondo hupitia njia tofauti na mnyororo tofauti wa vizuia ndio maana pini A0 inapokea Analog tofauti iliyosomwa kwa kila kitufe cha kushinikiza. Wote unahitaji sasa ni codding.
Hatua ya 3: Kanuni
# pamoja
# pamoja
LiquidCrystal_I2C LCD (0x3f, 20, 4);
Kitufe cha int = A0;
int kusoma
kuanzisha batili ()
{
Kuanzia Serial (9600);
lcd kuanza ();
pinMode (Kitufe, INPUT);
lcd taa ya nyuma ();
lcd.print ("Hello World");
kuchelewa (2000);
lcd wazi ();
lcd.print ("Siri moja 4 * 4 keypad");
kuchelewa (2000); }
kitanzi batili ()
{
kusoma = thamani ya AnalogSoma (Kitufe);
Serial.println (kusoma tena);
ikiwa (kusoma tena == 852) {lcd.clear (); lcd.print ("A");}
kingine {if (readvalue == 763) {lcd.clear (); lcd.print ("B");}
kingine {if (readvalue == 685) {lcd.clear (); lcd.print ("C");}
kingine {if (readvalue == 965) {lcd.clear (); lcd.print ("D");}
kingine {if (readvalue == 565) {lcd.clear (); lcd.print ("9");}
kingine {if (readvalue == 614) {lcd.clear (); lcd.print ("6");}
kingine {if (readvalue == 360) {lcd.clear (); lcd.print ("3");}
kingine {if (readvalue == 335) {lcd.clear (); lcd.print ("#");}
kingine {if (readvalue == 396) {lcd.clear (); lcd.print ("8");}
kingine {if (readvalue == 349) {lcd.clear (); lcd.print ("5");}
kingine {if (readvalue == 235) {lcd.clear (); lcd.print ("2");}
kingine {if (readvalue == 279) {lcd.clear (); lcd.print ("0");}
kingine {if (readvalue == 452) {lcd.clear (); lcd.print ("7");}
kingine {if (readvalue == 271) {lcd.clear (); lcd.print ("4");}
kingine {if (readvalue == 170) {lcd.clear (); lcd.print ("1");}
kingine {if (readvalue == 92) {lcd.clear (); lcd.print ("*");} else {}}}}}}}}}}}}}}}}}
Hatua ya 4: Marekebisho ya Maadili
Unapofungua monita ya serial itaonyesha thamani ya 1023, ukibonyeza kitufe itakupa usomaji mwingine lazima uchukue maadili hayo na ufanye mabadiliko kwenye nambari
Hatua ya 5: Mradi Baada ya Kukosoa na Kupitia
Hakuna shaka kwamba sisi sote tuko hapa kujifunza na kushiriki maarifa yetu, shukrani kwa maoni kadhaa yaliyoachwa na watu wengine kutoka kwa jamii ambayo yalisaidia sana, niliamua kufanya marekebisho na maboresho ya mradi wangu:
Vifaa:
Niliamua kuuza sehemu zote kwenye PCB ili kuzuia shida ya unganisho mbaya kwenye bodi za mkate.
Nambari:
Rafiki yangu alinishauri nitumie programu inayojiondoa na ni kitanzi tu ("kwa" kitanzi kwa mfano) kufanya programu ichukue muda kuchukua kusoma inamaanisha kuwa inasoma sana (500 katika mtihani wangu) lakini inachukua moja tu ya mwisho.
kwa (i = 1; i <= 500; i ++) {// chukua hesabu ya 500 tu
value = AnalogSoma (Kitufe);} // hiyo inasaidia kuchukua muda kuzuia usomaji mbaya
Rafiki mwingine shukrani kwake alinishauri kulinganisha "kusoma" na anuwai ya maadili sio moja kwa sababu "usomaji" unachukua maadili mengi kwa kitufe sawa cha kushinikiza. "A" kwa mfano inatoa kusoma kwa: 849, 850, 851 852, 853, 854, 855 kwa hivyo ni anuwai ya maadili 7: kizingiti (852) na maadili 3 kushoto na kulia. tunachopaswa kufanya hapa ni kulinganisha thamani kamili ya tofauti kati ya "kusoma tena" na "852" na "3".
ikiwa (abs (kusoma tena-852) <= 8) {lcd. clear (); lcd.print ("A");}
Hatua ya 6: Baada ya Kazi Fulani ya Soldring
Hatua ya 7: Wakati wa Ukweli
Kama unavyoona programu wakati mwingine inachanganya vifungo lakini bado inafanya kazi, kwa nadharia hakuna kitu kibaya na mzunguko lakini nambari inahitaji ukadiriaji zaidi.
Hatua ya 8: Mwisho
Natumai unapenda mradi huu na unajaribu kuufanya, labda utafanya vizuri zaidi kuliko nilivyofanya.
Niulize ikiwa una maswali, acha maoni na, usisahau kunipigia kura ikiwa unapenda hivyo.
Ilipendekeza:
Jinsi ya Kusoma Maadili kadhaa ya Analog Kutumia Pini Moja ya Analog: Hatua 6 (na Picha)
Jinsi ya Kusoma Maadili kadhaa ya Analog Kutumia Pini Moja ya Analojia
Kwenye Mzunguko wa Latch Pamoja na UC. Kitufe kimoja cha Bonyeza. Pini moja. Sehemu ya Diski: Hatua 5
Kwenye Mzunguko wa Latch Pamoja na UC. Kitufe kimoja cha Bonyeza. Pini moja. Sehemu ya Diski: Halo kila mtu, alikuwa akitafuta mzunguko wa kuzima / kuzima kwenye wavu. Kila kitu nilichokipata haikuwa kile nilikuwa nikitafuta. Nilikuwa naongea na mimi mwenyewe, kuna njia ya kufanya hivyo. Hiyo ndivyo nilihitaji. -Ni kifungo kimoja tu cha kushinikiza kufanya na kuzima.-Lazima utumie tu
Mlishaji wa Kiwanda cha Moja kwa Moja cha WiFi Pamoja na Hifadhi - Usanidi wa Kilimo cha Ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Hatua 21
Kilima cha Kiwanda cha Kiotomatiki cha WiFi kilicho na Hifadhi - Kuweka Kilimo cha ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Katika mafunzo haya tutaonyesha jinsi ya kuanzisha mfumo wa kulisha mimea ya ndani / nje ambayo hunyunyizia mimea moja kwa moja na inaweza kufuatiliwa kwa mbali kutumia jukwaa la Adosia
Kilishi cha Mbwa Raspberry Pi Moja kwa Moja na Kijirusha Video Moja kwa Moja: Hatua 3
Feeder ya mbwa ya Raspberry Pi moja kwa moja & Kijirisho cha Moja kwa Moja cha Video: Hii ni Raspberry PI yangu inayowezesha feeder ya mbwa moja kwa moja. Nilikuwa nikifanya kazi kutoka asubuhi 11am hadi 9pm. Mbwa wangu huenda wazimu ikiwa sikumlisha kwa wakati. Iliyotafutwa google kununua feeders moja kwa moja ya chakula, hazipatikani India na kuagiza ghali op
ISP 6 Pini hadi Tundu 8 la Pini: Hatua 4
Pini ya ISP 6 hadi Tundu 8 la Pini: Sababu yangu hasa iliunda mradi huu ilikuwa kupanga ATTiny45, ambayo ina unganisho la pini 8, wakati USBtinyISP yangu (kutoka Ladyada) ina unganisho la pini 10 na 6 tu. Baada ya kulala karibu na wavuti kwa muda wa wiki 3-4 sikupata chochote