Orodha ya maudhui:
- Hatua ya 1: Maelezo ya Sehemu - Moduli ya Keypad Shield ya LCD
- Hatua ya 2: Maelezo ya Sehemu - Moduli ya Serial ya I2C
- Hatua ya 3: Uunganisho
- Hatua ya 4: Kufanya Kitufe cha RST Kutumika Sawa na Funguo zingine 5
- Hatua ya 5: Programu
- Hatua ya 6: Pitia na Majadiliano
Video: 1602 LCD Keypad Shield Module Pamoja na I2C mkoba: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Kama sehemu ya mradi mkubwa, nilitaka kuwa na onyesho la LCD na keypad ya urambazaji wa menyu zingine rahisi. Nitatumia bandari nyingi za I / O kwenye Arduino kwa kazi zingine, kwa hivyo nilitaka kiolesura cha I2C cha LCD. Kwa hivyo nilinunua vifaa, vyenye moduli ya ngao ya Keypad ya 1602 kutoka DFRobot na moduli ya serial ya I2C isiyojulikana ya LCD. Ninataka kutumia hizi na Arduino Nano. Ndipo nikaona kuna changamoto kadhaa za kufanya vifaa hivi vifanye kazi pamoja - lakini inawezekana. Kwa hivyo nataka kushiriki uzoefu wangu na labda nisaidie wengine.
Picha hii ni ya ubao wa mkate unaofanya kazi, ambao unaweza kuonyesha ujumbe kwenye LCD na kugundua mashinikizo muhimu. LCD inadhibitiwa kupitia kiolesura cha I2C, pamoja na taa ya nyuma ya LCD. Mashinikizo muhimu yanapokelewa na Arduino kwenye pini A0 (inaweza kuwa yoyote ya pini za analog, isipokuwa A4 na A5 ambazo zimefungwa kwa kiolesura cha I2C).
Hatua ya 1: Maelezo ya Sehemu - Moduli ya Keypad Shield ya LCD
Moduli ya ngao ya keypad ya LCD ina LCD ya kawaida kutumika 1602 iliyowekwa juu ya bodi ya mzunguko ambayo inashikilia funguo, na ambayo inachukua sehemu ndogo ya unganisho la LCD na kuzifanya zipatikane kwa pini za kichwa chini ya ubao wa mzunguko. Ninaelewa bodi hii imekusudiwa kuwekwa juu ya Arduino Uno au inayofanana na inatoa mpangilio sahihi wa pini ili ifanye kazi katika mazingira hayo. Nilinunua moduli hii kwenye Ebay kutoka kwa muuzaji nchini China. Pini za kichwa upande wa chini (keypad) ya ubao zimeandikwa zaidi lakini pini zilizo upande wa juu, ambayo ni kiolesura cha LCD, hazijaandikwa. Walakini pini kwenye LCD yenyewe zimeandikwa.
Hatua ya 2: Maelezo ya Sehemu - Moduli ya Serial ya I2C
Moduli ya serial ina kichwa cha kawaida cha pini 4 kwa I2C, na seti ya pini za kichwa ambazo hazina lebo ambazo ninaelewa zinalenga kuziba moja kwa moja ndani ya chini ya moduli ya LCD. Kwa kusoma maandiko kwenye LCD, niliweza kutambua kazi za pini kwenye moduli ya serial.
Moduli hii inategemea IC PCF8574T ambayo inamaliza itifaki ya I2C, ina pini 3 za kudhibiti anwani (20 hadi 27) na ina pini 8 za kuingiza / kutoa pato P0 hadi P7. Kulingana na karatasi ya data ya PCF8574T, kila pini ya I / O ina FET ya kuivuta chini kwa hali ya LOW, na inaweza kuzama angalau 20ma. Katika Jimbo la Juu, ina kuvuta kwa muda mfupi na kisha kuendelea kuendelea kwa karibu 0.1 mA.
Kwenye moduli hii, pini zote za I / O za dijiti, isipokuwa P3, hutolewa tu kwa pini za kichwa (upande wa kulia kwenye picha). Katika kesi ya P3, imeunganishwa na msingi wa transistor (inayoonekana kwenye picha kwenye eneo la juu kulia chini ya lebo "LED"). Mtoaji wa transistor hiyo ameunganishwa na Vss (ardhi) na mtoza ameunganishwa na pini ya kichwa 16, ambapo inaweza kutumika kudhibiti mwangaza wa LCD. Kwa sababu ya transistor, hali ya mantiki inabadilishwa ikilinganishwa na ile inayodhaniwa kwenye maktaba ya programu. Hiyo ni, taa ya nyuma ya LCD imewashwa wakati pini ya P3 iko chini, na IMEZIMWA wakati pini ya P3 iko Juu.
Lebo kwenye transistor inasema L6 ambayo kulingana na utafiti wangu labda inafanya kuwa MMBC1623L6 ambayo ina faida ya chini ya sasa ya 200. Na 0.1 mA ya msingi wa sasa, inapaswa kuwa na uwezo wa kudumisha hali ya LOW kwa mtoza wake (module Pin 16) na angalau mtoza wa 20mA sasa.
Kwa kuongezea moduli hii ina potentiometer ya 10K iliyounganishwa kati ya +5 na Ground, ambayo risasi inayogeuzwa hutolewa ili kubandika 3 (ya tatu kutoka chini kwenye picha). Inapounganishwa moja kwa moja na LCD, sufuria hii itadhibiti utofauti wa LCD. Walakini, kazi hiyo hutolewa na sufuria tofauti inayofanana kwenye ngao ya LCD, kwa hivyo sufuria hii kwenye moduli ya serial haina kazi.
Sikuweza kupata muunganisho wowote kwenye pini ya INT ya PCF8574T.
Sasisha 22 Agosti 2019
Kama ilivyoelezwa hapo juu, PCF8574 ina pini 3 za kudhibiti anwani. Hizi zinaonekana kutolewa nje kwa pedi kwenye ubao wa mkoba ambapo zinaitwa A0, A1 na A2. Wanaweza kuonekana kwenye picha. Sijajaribu hii, lakini inaonekana karibu kwamba kwa kuziba pini moja au zaidi kwa pedi zilizo karibu, anwani ya I2C inaweza kudhibitiwa kwa anuwai kutoka 20 hadi 27. Zaidi ya hayo, kuna kifaa cha pili kinachofanana, PCF8574A ambayo ina utendaji sawa na PCF8574 lakini inashughulikia anuwai ya anwani kutoka 0x38 hadi 0x3F.
Anwani ambayo kifaa chako hutumia inaweza kuchunguzwa na I2CScanner. Kuna skana kadhaa rahisi za I2C zinazopatikana kutoka vyanzo anuwai. Hii katika https://github.com/farmerkeith/I2CScanner pia inabainisha baadhi ya vifaa vilivyopatikana.
Hatua ya 3: Uunganisho
Shukrani kwa ChaitanyaM17 ambaye alitoa mchoro wa Fritzing ambao unaonyesha unganisho, ilivyoelezwa hapo chini.
Nguvu:
Moduli ya LCD ina pini upande wa chini ulioandikwa "5.0V". Kulia, karibu na hiyo kuna pini mbili ambazo hazina lebo ambazo zote ni chini.
Kushikilia moduli ya serial na kiolesura cha I2C mwisho wa mkono wa kushoto, kuna pini 16 pembeni ya chini. Ya kwanza ni ardhi, na ya pili ni + 5v. Chaguo jingine ni kutumia pini mbili za chini kwenye kiolesura cha I2C kwa nguvu, lakini nimeona ni rahisi kutumia pini kama ilivyoelezwa hapo juu.
Kiolesura cha I2C. Kwenye moduli ya serial, pini ya juu ni SCL (saa) na huenda kwa Arduino A5. Pini ya pili chini ni SDA (data) na huenda kwa Arduino A4.
LCD interface ya kuchapisha. Kuna uhusiano 6 kati ya moduli ya serial na ngao ya keypad ya LCD, zote kati ya pini zisizo na lebo. Nitawatambua kwenye moduli ya LCD kwa kuhesabu kutoka kulia kwenda kushoto, na pini ya kwanza kama 1. Kuna vizuizi 2 vya 8, kwa hivyo huenda kutoka 1 hadi 16. Ninawatambua kwenye moduli ya serial ya I2C kwa kuhesabu kutoka Kushoto hadi Haki, pia kuna 16 kati ya hizi. Kwa kuongezea ninapeana kila waya lebo, ambayo ni pini sawa kwenye Arduino ambayo kawaida huhusishwa na kazi hiyo, ikiwa kuna uhusiano wa moja kwa moja bila moduli ya serial.
Kwa hivyo unganisho la data 6 ni:
Arduino sawa // Siri ya moduli ya siri // Pini ya moduli ya keypad ya LCD
D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10
Udhibiti wa mwangaza wa LCD: Hii hutumia unganisho moja zaidi:
Arduino sawa // Siri ya moduli ya siri // Pini ya moduli ya keypad ya LCD
D10 // 16 // 11
Kiolesura cha keypad: Hii hutumia waya moja kutoka kwa pini ya moduli ya LCD upande wa chini ulioandikwa "A0", kubandika A0 kwenye Arduino. Angalau hiyo ilikuwa rahisi sana!
Hatua ya 4: Kufanya Kitufe cha RST Kutumika Sawa na Funguo zingine 5
RST inaweza kushikamana moja kwa moja na uingizaji wa RESTART wa Arduino Nano.
Walakini ikiwa unataka kitufe cha RST kitumike katika programu kwa vitu vingine, hii inaweza kufanywa kwa kuunganisha kontena la 15K kati ya pini ya RST na pini ya A0 upande wa chini wa ngao ya keypad ya LCD.
Hii inafanya kazi kama ifuatavyo: Kuna kipinzani cha 2K kati ya + 5V na kitufe cha Kulia. Kisha mlolongo wa vipingaji vikubwa zaidi kwa kila funguo zingine (330R hadi kitufe cha UP, 620R hadi kitufe cha CHINI, 1K kwa kitufe cha LEFT, na 3K3 kwa kitufe cha CHAGUA. Funguo zote (pamoja na kitufe cha RST) zinaunganisha Unapounganishwa na kibadilishaji cha A / D cha 10 (kama Arduino Nano A0) hutoa takriban maadili yafuatayo:
Kulia = 0; Juu = 100; Chini = 260; Kushoto = 410; Chagua = 640.
Pamoja na kinzani ya 15 k kwa RST, inatoa karibu 850.
Programu itatumia maadili karibu na alama za katikati kati ya maadili haya kuamua ni ufunguo gani umeshinikizwa.
Hatua ya 5: Programu
Programu muhimu ni zoezi kwa msomaji. Walakini ili uanze, unaweza kuangalia programu yangu ya majaribio. Nilitumia maktaba ya NewLiquidCrystal, ambayo ina msaada kwa kiolesura cha I2C. Yote ilifanya kazi tu, mara tu nina maktaba iliyosanikishwa kwa usahihi.
Jambo kuu lilikuwa kugeuza polarity ya amri za Backlight OFF na ON (kwa sababu ya transistor kwenye moduli ya I2C kama ilivyoelezewa katika sehemu ya Maelezo ya Sehemu).
Sasisha 22 Agosti 2019
Ikiwa una shida na onyesho la LCD halifanyi kazi, tafadhali angalia anwani ya I2C ya mkoba wako wa serial ukitumia skana ya I2C. Skana inayofaa imeambatanishwa. Halafu ikibidi badilisha parameta ya kwanza kwenye taarifa
LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7);
Hatua ya 6: Pitia na Majadiliano
Kama unavyoona nina kazi kuu zinafanya kazi.
Nia yangu inayofuata ni kuweka hii kwenye kisanduku cha mradi kama sehemu ya mradi mwingine. Walakini baada ya kuweka njia hii nilijifunza kuwa kuna ugumu mwingine ambao sikutarajia.
Ugumu ni kwamba moduli hii ya keypad ya LCD haijawekwa kusanikishwa kwenye sanduku. Aina yoyote ya sanduku. Vifungo vya vitufe 6 viko chini kabisa ya kiwango cha skrini ya LCD, ili kwamba ikiwa moduli imewekwa kwenye sanduku (kwa mfano kwenye kifuniko) na juu ya bodi ya mzunguko ya LCD ikishika chini ya kifuniko, vilele ya funguo ni karibu 7mm chini ya juu ya kifuniko.
Ufumbuzi unaowezekana ni:
a) Vumilia. Chimba mashimo ya ufikiaji kwenye kifuniko na utumie zana (kwa mfano sindano ya kukata ya kipenyo cha kufaa) kubonyeza vifungo.
b) Ondoa LCD kutoka kwa bodi ya mzunguko wa moduli na ufanyie upasuaji kwenye kitufe ili vitu viwili viweze kurekebishwa kwa kifuniko cha sanduku la mradi kwa uhuru (nadhani bado kunaweza kuwa na shida na vifungo kuwa vifupi sana)
c) ondoa vifungo vilivyopo na ubadilishe na vifungo virefu zaidi. Vifungo vipya vinapaswa kuwa juu ya mm 13 mm ili waweze kuendeshwa kupitia kifuniko cha sanduku la mradi). Kitufe cha kubadilisha vifungo kinapatikana kwa urahisi katika urefu tofauti, pamoja na 13mm.
d) tupa moduli ya ngao ya keypad ya LCD na utumie vitengo tofauti vya LCD na keypad (yaani anza juu). Kuna anuwai ya vitengo vya vitufe vinavyopatikana, hata hivyo sijaona moja yenye mpangilio wa vitufe 6 sawa na kwenye moduli hii (yaani Chagua, Kushoto, Juu, Chini, Kulia, Anzisha upya). Inaweza kuwa sio suala kubwa, lakini moja ya sababu nilizoanza na moduli hii ni kwamba nilifikiri mpangilio huu muhimu ndio nilikuwa nikitaka.
Ninapanga kwenda na suluhisho c) hapo juu, na uone jinsi ninaenda.
Kijisehemu kingine cha habari ambacho kinaweza kuvutia:
Pamoja na taa ya mwangaza ON, matumizi ya sasa ya mradi huu ni: Arduino Nano 21.5 ma; Moduli ya serial 3.6 ma; Moduli ya LCD 27.5 mA; Jumla 52 mA.
Pamoja na taa ya taa, matumizi ya sasa ya mradi huu ni: Arduino Nano 21.5 ma; Moduli ya serial 4.6 ma; Moduli ya LCD 9.8 mA; Jumla ya 36 mA.
Ilipendekeza:
Arduino DIY Calculator Kutumia 1602 LCD na 4x4 Keypad: 4 Hatua
Arduino DIY Calculator Kutumia 1602 LCD na 4x4 Keypad: Halo jamani katika maagizo haya tutafanya kikokotoo kwa kutumia Arduino ambayo inaweza kufanya mahesabu ya kimsingi. Kwa hivyo kimsingi tutachukua maoni kutoka kwa keypad ya 4x4 na kuchapisha data kwenye onyesho la 16x2 lcd na arduino itafanya mahesabu
Kutumia Shield Keypad Shield W / Arduino ya 1602 [+ Miradi ya Vitendo]: Hatua 7
Kutumia Shield Keypad Shield W / Arduino ya 1602 [+ Miradi ya Vitendo]: Unaweza kusoma hii na mafunzo mengine ya kushangaza kwenye wavuti rasmi ya ElectroPeakKuangalia katika mafunzo haya, utajifunza jinsi ya kutumia ngao ya keypad ya Arduino LCD na miradi 3 ya vitendo. Jinsi ya kuweka ngao na kutambua vitufe
Jinsi ya Kutumia Keypad & LCD Pamoja na Arduino Kutengeneza Kikokotoo cha Arduino .: Hatua 5
Jinsi ya Kutumia Keypad & LCD Pamoja na Arduino kutengeneza Calculator Arduino. Basi lets kuanza
Shield Keypad Shield ya DIY ya Arduino Uno: Hatua 6 (na Picha)
DIY Shield Keypad Shield ya Arduino Uno: nilitafuta mengi kwa kutengeneza ngao ya Keypad ya LCD na sikupata yoyote kwa hivyo nilitengeneza moja na nataka kushiriki nanyi watu
Mtandao mkoba wa LCD na LCD Smartie: 6 Hatua
Mkoba wa LCD wa Mtandao na LCD Smartie: Skrini za Tabia za LCD ambazo hutembeza habari ni mod ya kesi maarufu. Kawaida zinadhibitiwa kupitia bandari inayofanana, mkoba wa bandari ya serial, au mkoba wa USB (zaidi). Agizo hili linaonyesha mkoba wetu wa elektroniki wa mtandao wa ethernet wazi. LC