Orodha ya maudhui:

3-Wire HD44780 LCD kwa Chini ya Dola 1: Hatua 5
3-Wire HD44780 LCD kwa Chini ya Dola 1: Hatua 5

Video: 3-Wire HD44780 LCD kwa Chini ya Dola 1: Hatua 5

Video: 3-Wire HD44780 LCD kwa Chini ya Dola 1: Hatua 5
Video: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, Julai
Anonim
3-Wire HD44780 LCD kwa Chini ya Dola 1
3-Wire HD44780 LCD kwa Chini ya Dola 1

Katika mafunzo haya tutajifunza jinsi tunaweza kuunganisha LCD kulingana na chipset ya HD44780 kwa basi ya SPI na kuiendesha na waya 3 tu chini ya $ 1. Ingawa nitazingatia onyesho la alphanumeric la HD44780 katika mafunzo haya, kanuni hiyo hiyo itafanya kazi sawa kwa LCD nyingine yoyote inayotumia basi ya data inayofanana ya 8, na inaweza kubadilishwa kwa urahisi kutoshea maonyesho na mabasi ya data kidogo ya 16. HD44780 (na inayoambatana) maonyesho ya alphanumeric msingi hupatikana katika 16x2 (mistari 2 iliyo na herufi 16) na usanidi wa 20x4, lakini inaweza kupatikana katika aina nyingi zaidi. Onyesho la "ngumu zaidi" litakuwa onyesho la 40x4, aina hii ya onyesho ni maalum kwani ina watawala 2 HD44780, moja kwa safu mbili za juu na moja kwa safu mbili za chini. LCD za picha zina watawala wawili pia. LCD za HD44780 ni nzuri, ni za bei rahisi sana, zinasomeka na ni rahisi kufanya kazi nazo. Lakini pia zina shida kadhaa, maonyesho haya huchukua pini nyingi za I / O wakati zinaunganishwa na Arduino. Katika miradi rahisi hii sio wasiwasi, lakini wakati miradi inakua kubwa, na IO nyingi, au ambapo pini fulani zinahitajika kwa vitu kama Analog kusoma au PWM, ukweli kwamba LCD hizi zinahitaji kiwango cha chini cha pini 6 zinaweza kuwa shida. Lakini tunaweza kutatua shida hii kwa njia rahisi na ya kupendeza.

Hatua ya 1: Kupata Vipengele

Nilitumia TaydaElectronics kwa vifaa vingi nilivyotumia katika mradi huu. Unaweza kupata sehemu hizi kwenye ebay pia, lakini kwa urahisi wa matumizi, nitakuunganisha na Tayda. Kununua Orodha2 - 74HC595 kifurushi DIP161 - Kichwa cha kiume cha kawaida - pini 2. Hii haihitajiki, nilitumia hii kama njia ya kulemaza kabisa mwangaza wa mwangaza.3 - Ceramic Capacitor - capacitance 0.1µF; voltage 50V1 - Electrolytic Capacitor - uwezo 10µF; voltage 35V1 - Capacitor ya kauri - uwezo wa 220pF; voltage 50V1 - NPN-Transistor - sehemu # PN2222A * 1 - 1k ist Resistor1 - Trimmer Potentiometer - upeo wa juu 5kΩ1 - 470 ist Resistor * Ukiwa na transistor ya NPN taa ya nyuma itakaa mbali hadi itakapowashwa na programu. Ikiwa unataka kuwasha taa kwa msingi, tumia transistor ya aina ya PNP. Mabadiliko katika nambari ya maktaba iliyotolewa italazimika kufanywa, ingawa. Jumla ya orodha hii ni $ 0.744. Kichwa cha pini pia hakihitajiki, kwa hivyo unaweza kuokoa senti 15 hapo hapo na jumla itakuwa $ 0.6.

Hatua ya 2: Jua vifaa vyako # 1

Jua vifaa vyako # 1
Jua vifaa vyako # 1

Hapa kuna pini ya kawaida kutoka kwa HD44780 LCD, pia ni sawa na LCD za picha pia. HD44780 inaweza kufanya kazi kwa njia mbili: 1. 4-bit mode, ambapo kila baiti iliyotumwa kwa LCD ina sehemu 2 4-bit. 2. Njia ya 8-bit, ambayo tutazingatia. LCD ina pini 16 kwa jumla, pini 3 za kudhibiti na pini 8 za data: RS - Inadhibiti ikiwa tunataka kutuma amri au data kwa LCD. Ambapo 'juu' inamaanisha data (tabia) na 'chini' inamaanisha byte ya amri. R / W - Mdhibiti wa HD44780 hukuruhusu kusoma kutoka kwa RAM yake. Wakati pini hii ni ya "juu" tunaweza kusoma data kutoka kwa pini zake za data. Wakati ni "chini" tunaweza kuandika data kwa LCD. Ingawa chaguo la kusoma kutoka kwa LCD linaweza kuwa muhimu wakati mwingine, hatutaipitia kwenye mafunzo haya, na tutapiga tu siri hii ili kuhakikisha kuwa iko katika hali ya Kuandika kila wakati., pini hii imegeuzwa 'juu' kisha 'chini' kuandika data kwa RAM yake na mwishowe kuionyesha kwenye skrini. Katika hali ya 4-bit tunatumia tu bits 4 DB4-DB7, na katika hali ya 8 bit zote zinatumiwa. VSS - Hii ni pini ya ardhini. VCC - Hii pini ya nguvu, LCD inaendesha usambazaji wa umeme wa 5V, tunaweza kuilisha kwa urahisi nguvu kutoka kwa pini ya + 5v ya Arduino. Vo - Hii ni pini ambayo hukuruhusu kuweka kiwango cha kulinganisha kwa onyesho, inahitaji potentiometer, kawaida sufuria ya 5K Ohm inatumiwa. LED + - Hii ndio chanzo cha umeme cha taa ya nyuma. LCD zingine haziji na taa ya nyuma, na zina pini 14 tu. Katika hali nyingi pini hii pia inahitaji unganisho la + 5v. LED- - Hii ndio msingi wa taa ya nyuma. - kwa hali hiyo unachohitaji kufanya ni kutumia nguvu kwa LED + na ardhi kwa LED-. Lakini ikiwa LCD yako haina kontena iliyojengwa kwa taa ya nyuma, ni muhimu uongeze moja, vinginevyo mwangaza utatumia nguvu nyingi na mwishowe utawaka. Katika hali nyingi njia ambayo LCD imeunganishwa kwa Arduino ni kwa kuitumia katika hali ya 4-bit na kutuliza pini ya R / W. Kwa njia hii tunatumia pini RS, E na DB4-DB7. Kuendesha katika hali ya 4-bit ina hasara nyingine ndogo kwa kuwa inachukua mara mbili kwa muda mrefu kuandika data kwenye skrini kama inavyotakiwa katika usanidi wa 8-bit. LCD ina wakati wa "kutulia" wa 37 microseconds, hii inamaanisha lazima subiri mikrofoni 37 kabla ya kutuma amri inayofuata au data-byte kwa LCD. Kwa kuwa katika hali ya 4-biti lazima tutume data mara mbili kwa kila ka, wakati jumla inachukua kuandika kaa moja huenda hadi 74microseconds. Hii bado ina kasi ya kutosha, lakini nilitaka muundo wangu utoe matokeo bora zaidi. Suluhisho la shida yetu na idadi ya pini zilizotumiwa ziko kwenye sanjari ya Sambamba na Sambamba…

Hatua ya 3: Jua vifaa vyako # 2

Jua vifaa vyako # 2
Jua vifaa vyako # 2

Tutafanya ni kujenga adapta ambayo inachukua aina ya mawasiliano inayotoka kwa Arduino na kubadilisha data kuwa pato linalofanana ambalo linaweza kulishwa kwa LCD yetu. Inakuja chip 74HC595. Hii ni rahisi sana na rahisi kutumia rejista ya mabadiliko. Kwa asili inachofanya ni kuchukua saa na ishara za data ambazo hutumia kujaza bafa ya ndani ya 8 kidogo na bits 8 za mwisho ambazo zilikuwa "zimefungwa". Mara tu pini ya 'Latch' (ST_CP) imeletwa 'juu' inahamisha bits hizi kwenye matokeo yake 8. 595 ina huduma nzuri sana, ina pini ya data ya siri (Q7 '), pini hii inaweza kutumiwa kwa mnyororo wa daisy 2 au zaidi ya 595 pamoja kuunda Serial kwa adapta Sambamba ambazo zina upana 16 au zaidi kwa upana. Kwa mradi huu tutahitaji 2 ya chips hizi. Mpangilio pia unaweza kubadilishwa ili ufanye kazi na 595 moja katika hali ya 4-bit, lakini hii haitafunikwa na mafunzo haya.

Hatua ya 4: Wiring It All Up

Wiring Yote Juu
Wiring Yote Juu

Sasa kwa kuwa tunajua jinsi vifaa vyetu vinavyofanya kazi tunaweza kuzitia waya wote. Katika mpango huo tunaona chips 2 595 zikiwa zimefungwa pamoja ili kuunda pato 16 linalofanana. Chip chini ni kweli kuu, na ya juu imefungwa kwa mnyororo. Tunachoona hapa ni kwamba 595 ya chini inaendesha pini za data za LCD katika usanidi wa 8-bit, chip ya juu inadhibiti ishara ya RS na taa ya nyuma kwa kuwasha au kuzima transistor. Kumbuka * kumbuka juu ya taa ya nyuma ya LCD kwenye Jua ukurasa wako wa vifaa # 1, ikiwa LCD yako haina kontena la taa, usisahau kuongeza moja kwenye mzunguko wako. Kwa upande wangu LCD tayari nimekuja na kontena iliyojengwa ndani, kwa hivyo niliruka hatua hii. Tofauti hutumiwa kupitia sufuria ya 5K Ohm, pini moja huenda kwa GND ya pili huenda kwa VCC na wiper kwa pini ya Vo kwenye LCD. Vifunguo vilivyotumiwa kwenye mistari ya LCD na 595 ya VCC vinasumbua capacitors, wapo ili kuondoa usumbufu. Sio lazima ikiwa unafanya kazi kwenye ubao wa mkate, lakini inapaswa kutumiwa ikiwa utaunda toleo lako la mzunguko huu utumiwe nje ya "hali ya maabara". R5 na C9 kwa mpangilio maalum hutengeneza ucheleweshaji wa RC, ambayo inahakikisha kuwa data katika matokeo ya 595 ina wakati wa kutulia kabla ya kuwezesha pini kwenye LCD kuwekwa 'juu' na kusoma data. Q7 'ya 595 ya chini huenda kwenye uingizaji wa data ya serial ya 595 juu, hii inaunda mlolongo wa daisy wa 595s na hivyo interface 16 kidogo. Wiring hadi Arduino ni rahisi. Tunatumia usanidi wa waya-3, kwa kutumia pini za Spi za Arduino. Hii inaruhusu uhamishaji wa data haraka sana, kutuma kaiti 2 kwa LCD kawaida huchukua karibu microseconds 8. Hii ni haraka sana, na ni haraka sana kuliko wakati inachukua LCD kusindika data, kwa hivyo ucheleweshaji wa microseconds 30 unahitajika kati ya kila maandishi. Faida moja kubwa sana ya kutumia SPI ni kwamba pini D11 na D13 zinashirikiwa na vifaa vingine vya SPI. Hii inamaanisha kuwa ikiwa tayari unayo sehemu nyingine inayotumia SPI, kama vile kasi ya kasi, suluhisho hili litatumia pini moja tu ya ziada kwa ishara ya kuwezesha. Kwenye ukurasa unaofuata tutaona matokeo. Nimejenga mkoba kwenye ubao wa pembeni na inanifanyia kazi vizuri sana hadi sasa.

Hatua ya 5: Maktaba ya Matokeo

Matokeo + Maktaba
Matokeo + Maktaba
Matokeo + Maktaba
Matokeo + Maktaba
Matokeo + Maktaba
Matokeo + Maktaba
Matokeo + Maktaba
Matokeo + Maktaba

"Picha ina thamani ya maneno elfu", nakubaliana na taarifa hii, kwa hivyo hapa kuna picha za matokeo ya mwisho ya mradi huu. Hizi ni picha za bidhaa iliyokamilishwa, maoni ya Fritzing PCB ni mpangilio wa ubao wa bodi ambayo nilikuwa nikitengeneza mkoba wangu. Unaweza kupata ni muhimu ikiwa unataka kujenga yako mwenyewe. Niliipenda sana hivi kwamba nilitengeneza PCB kwa kutumia DipTrace na kuagiza kundi la PCB 10. Nitahitaji vitengo 2 au 3 kwangu lakini nitafanya zingine zipatikane kwa bei ya mfano nitakapozipokea. Kwa hivyo ikiwa mtu yeyote anavutiwa tafadhali nijulishe. * Hariri: PCB ziko hapa, na zinafanya kazi. Hapa kuna picha ya sanaa kamili ya mradi huu, pamoja na PCB halisi. https://imgur.com/a/mUkpw#0 Kwa kweli sikusahau jambo muhimu zaidi, maktaba ya kutumia mzunguko huu na. Inaendana na maktaba ya LiquidCrystal iliyojumuishwa na Arduino IDE, kwa hivyo unaweza kuchukua nafasi ya matamko kwa urahisi juu ya mchoro wako na sio lazima ubadilishe kitu kingine chochote katika mchoro wako. Kuna pia mchoro wa mfano ambao unaonyesha jinsi kila kazi katika maktaba inavyofanya kazi, kwa hivyo angalia.

Ilipendekeza: