Satura rādītājs:

Trīs vadu HD44780 LCD ekrāns mazāk par 1 dolāru: 5 soļi
Trīs vadu HD44780 LCD ekrāns mazāk par 1 dolāru: 5 soļi

Video: Trīs vadu HD44780 LCD ekrāns mazāk par 1 dolāru: 5 soļi

Video: Trīs vadu HD44780 LCD ekrāns mazāk par 1 dolāru: 5 soļi
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Novembris
Anonim
3 vadu HD44780 LCD par mazāk nekā 1 dolāru
3 vadu HD44780 LCD par mazāk nekā 1 dolāru

Šajā pamācībā mēs uzzināsim, kā mēs varam pieslēgt LCD, kura pamatā ir HD44780 mikroshēmojums, SPI kopnei un vadīt to tikai ar 3 vadiem par mazāk nekā 1 ASV dolāru. Lai gan šajā apmācībā es koncentrēšos uz HD44780 burtciparu displeju, tas pats princips darbosies gandrīz vienādi jebkuram citam LCD, kas izmanto 8 bitu paralēlo datu kopni, un to var ļoti viegli pielāgot displejiem ar 16 bitu datu kopnēm. Uz HD44780 (un saderīgiem) balstīti burtciparu displeji parasti ir pieejami 16x2 (2 rindas, kas sastāv no 16 rakstzīmēm) un 20x4 konfigurācijās, taču tos var atrast daudzos citos veidos. Sarežģītākais displejs būtu 40x4 displejs, šāda veida displejs ir īpašs, jo tam ir 2 HD44780 kontrolieri, viens augšējai divām rindām un otrs apakšējām rindām. Dažiem grafiskajiem LCD ir arī divi kontrolieri. HD44780 LCD ir lieliski, tie ir ļoti lēti, lasāmi un ar tiem ir diezgan viegli strādāt. Bet tiem ir arī daži trūkumi, šie displeji aizņem daudz I/O tapas, kad tie ir savienoti ar Arduino. Vienkāršos projektos tas nerada bažas, bet, ja projekti kļūst lieli, ar lielu IO vai ja ir vajadzīgas noteiktas tapas tādām lietām kā Analog Read vai PWM, fakts, ka šiem LCD ekrāniem ir nepieciešami vismaz 6 tapas, var kļūt par problēma. Bet mēs varam atrisināt šo problēmu lēti un interesanti.

1. darbība: komponentu iegūšana

Lielākajai daļai šajā projektā izmantoto komponentu es izmantoju TaydaElectronics. Šīs detaļas var iegūt arī vietnē ebay, taču lietošanas ērtībai es jūs saistīšu ar Tayda. Iepirkšanās saraksts2 - 74HC595 pakete DIP161 - vispārējā tēviņa galvene - 2 tapas. Tas nav nepieciešams, es to izmantoju kā veidu, kā neatgriezeniski atspējot apgaismojumu. 3 - Keramikas kondensators - kapacitāte 0,1 µF; spriegums 50V1 - elektrolītiskais kondensators - kapacitāte 10µF; spriegums 35V1 - keramikas kondensators - kapacitāte 220pF; spriegums 50V1 - NPN -tranzistors - detaļa # PN2222A* 1 - 1k Ω Rezistors1 - Trimmera potenciometrs - maksimālā pretestība 5kΩ1 - 470 Ω Rezistors* Ar NPN tranzistoru fona apgaismojums paliks izslēgts, līdz to ieslēgs programmatūra. Ja vēlaties, lai fona apgaismojums būtu ieslēgts pēc noklusējuma, izmantojiet PNP tipa tranzistoru. Tomēr būs jāmaina sniegtās bibliotēkas kods. Šī saraksta kopsumma ir 0,744 USD. Tapas galvene arī nav nepieciešama, tāpēc turpat varat ietaupīt 15 centus, un starpsumma būs 0,6 ASV dolāri.

2. darbība. Ziniet savu aparatūru #1

Ziniet savu aparatūru #1
Ziniet savu aparatūru #1

Šeit ir standarta tapa no HD44780 LCD, tas ir arī ļoti līdzīgs dažiem grafiskajiem LCD. HD44780 var darboties divos režīmos: 1. 4 bitu režīms, kur katrs uz LCD nosūtītais baits sastāv no 2 4 bitu daļām. 2. 8 bitu režīms, uz kuru mēs koncentrēsimies. Kopā LCD ir 16 tapas, 3 vadības tapas un 8 datu tapas: RS - kontrolē, vai mēs vēlamies nosūtīt komandu vai datus uz LCD. Ja “augsts” nozīmē datus (rakstzīme) un “zems” nozīmē komandu baitu. R/W - HD44780 kontrolieris ļauj lasīt no RAM. Kad šī tapa ir “augsta”, mēs varam nolasīt datus no tās datu tapām. Kad tas ir “zems”, mēs varam ierakstīt datus LCD. Lai gan dažos gadījumos iespēja lasīt no LCD var būt noderīga, šajā pamācībā mēs to nepārbaudīsim, un mēs vienkārši iezemēsim šo tapu, lai nodrošinātu, ka tā vienmēr ir rakstīšanas režīmā. E - E ir iespējošanas tapa, šī tapa ir pārslēgta uz “augsts” un pēc tam “zems”, lai ierakstītu datus savā RAM un galu galā parādītu to ekrānā. DB0-7 - tās ir datu tapas. 4 bitu režīmā mēs izmantojam tikai 4 augstos bitus DB4 -DB7, un 8 bitu režīmā tie visi tiek izmantoti. VSS - šī ir zemējuma tapa. VCC - šī barošanas tapa, LCD darbojas no 5 V barošanas avota, mēs varam viegli barot to ar jaudu no Arduino + 5V tapas. Vo - Šī ir tapa, kas ļauj iestatīt displeja kontrasta līmeni, tam ir nepieciešams potenciometrs, parasti tiek izmantots 5K omi. LED + - tas ir barošanas avots fona apgaismojumam. Dažiem LCD displejiem nav fona apgaismojuma, un tiem ir tikai 14 tapas. Vairumā gadījumu šai tapai ir nepieciešams arī +5 V savienojums. LED- - Tas ir pamats apgaismojumam. ** Ir svarīgi pārbaudīt displeja datu lapu vai pārbaudīt tā PCB, lai pārbaudītu pretgaismas rezistoru, vairumā LCD tie tiks uzbūvēti -in, tādā gadījumā viss, kas jums jādara, ir jāpieliek barošana LED+ un zemējums LED-. Bet gadījumā, ja LCD ekrānam nav iebūvēta pretgaismas pretestības, ir svarīgi to pievienot, pretējā gadījumā fona apgaismojums patērēs daudz enerģijas un galu galā izdeg. Vairumā gadījumu šis LCD savienojums ar Arduino tiek veikts, izmantojot to 4 bitu režīmā un iezemējot R/W tapu. Tādā veidā mēs izmantojam tapas RS, E un DB4-DB7. Darbībai 4 bitu režīmā ir vēl viens neliels trūkums, jo datu ierakstīšana ekrānā prasa divreiz vairāk laika nekā 8 bitu konfigurācija. LCD ir “nostādināšanas” laiks 37 mikrosekundes, tas nozīmē, ka pirms nākamās komandas vai datu baita nosūtīšanas uz LCD jāgaida 37 mikrosekundes. Tā kā 4 bitu režīmā mums ir jānosūta dati par katru baitu divas reizes, kopējais laiks, kas nepieciešams viena baita rakstīšanai, sasniedz 74 mikrosekundes. Tas joprojām ir pietiekami ātri, taču es vēlējos, lai mans dizains radītu pēc iespējas labākus rezultātus. Mūsu problēmas risinājums ar izmantoto tapu skaitu ir sērijveida paralēlajā pārveidotājā …

3. darbība. Ziniet savu aparatūru #2

Ziniet savu aparatūru #2
Ziniet savu aparatūru #2

Tas, ko mēs darīsim, ir izveidot adapteri, kas no Arduino izvada sakaru veidu un pārvērš datus paralēlā izejā, ko var ievadīt mūsu LCD. Nāk 74HC595 mikroshēma. Tas ir ļoti lēts un vienkārši lietojams maiņu reģistrs. Būtībā tas aizņem pulksteni un datu signālus, ko tas izmanto, lai aizpildītu iekšējo 8 bitu buferi ar 8 pēdējiem “pulksteņa” bitiem. Kad fiksatora (ST_CP) tapa ir paaugstināta, tā pārvieto šos bitus savos 8 izvados. 595 ir ļoti jauka iezīme, tam ir seriālo datu izvades tapa (Q7 '), šo tapu var izmantot, lai kopā apvienotu 2 vai vairāk 595 ķēdes, lai izveidotu 16 vai vairāk bitu platus sērijveida un paralēlos adapterus. Šim projektam mums būs vajadzīgas 2 no šīm mikroshēmām. Shēmu var arī mainīt, lai tā darbotos ar vienu 595 4 bitu režīmā, taču šī apmācība to neaptvers.

4. solis: visu pieslēdziet vadiem

Elektroinstalācija
Elektroinstalācija

Tagad, kad mēs zinām, kā darbojas mūsu aparatūra, mēs varam to visu savienot. Shēmā mēs redzam 2 595 mikroshēmas, kas savienotas kopā, veidojot 16 bitu paralēlo izvadi. Apakšējā mikroshēma patiesībā ir galvenā, un augšējā ir pie tās pieķēdēta. Šeit mēs redzam, ka apakšējais 595 vada LCD datu tapas 8 bitu konfigurācijā, augšējā mikroshēma kontrolē RS signālu un fona apgaismojumu, ieslēdzot vai izslēdzot tranzistoru. Atcerieties *piezīmi par LCD fona apgaismojumu lapā Ziniet savu aparatūru #1, ja LCD ekrānam nav pretgaismas pretestības, neaizmirstiet to pievienot savai shēmai. Manā gadījumā LCD ekrāni jau ir aprīkoti ar iebūvētu rezistoru, tāpēc es izlaidu šo soli. Kontrasts tiek uzklāts caur 5K omu podu, viens tapa nonāk GND, otrs - VCC, bet tīrītājs - Vo tapā LCD. Kondensatori, ko izmanto LCD un 595 VCC līnijās, ir atvienošanas kondensatori, tie ir paredzēti, lai atbrīvotos no traucējumiem. Tie nav obligāti, ja strādājat pie maizes dēļa, taču tie ir jāizmanto gadījumā, ja veidojat savu šīs shēmas versiju, kas jāizmanto ārpus "laboratorijas apstākļiem". R5 un C9 šajā ļoti konkrētajā secībā rada RC aizkavi, kas nodrošina, ka 595 izejās esošajiem datiem ir laiks nostabilizēties, pirms LCD iespējošanas taustiņš ir iestatīts uz “augsts” un nolasa datus. Apakšējā 595 Q7 'nonāk 595 sērijas datu ievadē augšpusē, tādējādi izveidojot 595 sekunžu ķēdi un tādējādi 16 bitu saskarni. Savienojuma izveide ar Arduino ir vienkārša. Mēs izmantojam 3 vadu konfigurāciju, izmantojot Arduino SPI tapas. Tas nodrošina ļoti ātru datu pārsūtīšanu, 2 baitu nosūtīšana uz LCD parasti aizņem apmēram 8 mikrosekundes. Tas notiek ļoti ātri, un patiesībā tas ir daudz ātrāk nekā laiks, kas nepieciešams, lai LCD apstrādātu datus, tāpēc starp katru rakstīšanu ir nepieciešama 30 mikrosekundu aizkave. Viens ļoti liels ieguvums no SPI izmantošanas ir tas, ka tapas D11 un D13 tiek koplietotas ar citām SPI ierīcēm. Tas nozīmē, ka, ja jums jau ir cits komponents, kas izmanto SPI, piemēram, akselerometrs, šis risinājums ieslēgšanas signālam izmantos tikai vienu papildu tapu. Nākamajā lapā mēs redzēsim rezultātu. Esmu uzbūvējis mugursomu uz perforatora, un līdz šim tas man ļoti labi darbojas.

5. darbība. Rezultāts + bibliotēka

Rezultāts + bibliotēka
Rezultāts + bibliotēka
Rezultāts + bibliotēka
Rezultāts + bibliotēka
Rezultāts + bibliotēka
Rezultāts + bibliotēka
Rezultāts + bibliotēka
Rezultāts + bibliotēka

"Attēls ir tūkstoš vārdu vērts", es piekrītu šim apgalvojumam, tāpēc šeit ir daži šī projekta gala rezultāta attēli. Šie ir gatavā produkta attēli, Fritzing PCB skats ir perfboard izkārtojums, ko izmantoju savas mugursomas veidošanai. Tas var šķist noderīgi, ja vēlaties izveidot savu. Man tas tik ļoti patika, ka es izstrādāju PCB, izmantojot DipTrace, un pasūtīju 10 PCB partiju. Man būs vajadzīgas 2 vai 3 vienības, bet pārējās preces padarīšu pieejamas par simbolisku cenu, kad tās saņemšu. Tāpēc, ja kādam ir interese, lūdzu, dodiet ziņu. * Rediģēt: PCB ir šeit, un tie darbojas. Šeit ir pilna šī projekta attēlu galerija, ieskaitot faktiskos PCB. https://imgur.com/a/mUkpw#0 Protams, es neaizmirsu vissvarīgāko - bibliotēku, ar kuru izmantot šo shēmu. Tas ir saderīgs ar LiquidCrystal bibliotēku, kas iekļauta Arduino IDE, tāpēc jūs varat viegli nomainīt deklarācijas skices augšdaļā un jums nav jāmaina nekas cits. Ir arī skices piemērs, kas parāda, kā darbojas katra bibliotēkas funkcija, tāpēc pārbaudiet to.

Ieteicams: