Kirjoitit ohjelmassa Työläs jotain:
lcd.print ("Hei, maailma!")
Taulu suoritti kuuliaisesti komennon, ja teksti ilmestyi näytölle. Mutta kuinka yksi laite “sanoi” jotain ja toinen “kuule” ja “ymmärtää”? Tämä on kuin kysyisit taiteilijaa tekemään muotokuvasi, mutta et näe kuinka hän työskentelee sen kanssa. Instructsbles -lehden sisätilojen sisällöntekijä kirjoitti jalustan, joka auttaa sinua tuntemaan olonsa Arduinon kengissä ja ohjaamaan HD44780: ta matalalla tasolla. Yhdessä kilpailussa tämä kotitekoinen tuote voitti ensimmäisen palkinnon.
Se tarvitsee pienen yksityiskohdan: mikä tahansa HD44780-ohjaimen moduuli (LCD, VLI tai PMOLED) tai yhteensopiva, kahdeksan kytkinkytkintä, lukitsematon painike, liukukytkin, 1 kΩ: n muuttuva vastus, kortti, jossa on Micro USB -liitäntä ja kotelo.
Siitä, mitä valokuvassa ei näy, tarvitsemme: 10 kOhm: n vastuksen ja 100 μF: n kondensaattorin ja vähintään 6,3 V: n.
Indoorgeek itse otti moduulin, joka oli yleisin: LCD, 16 merkkiä riviä kohti, kaksi riviä. Mutta muilla moduuleilla on sama ohjausperiaate, vain pinout voi vaihdella hieman, joten älä ole liian laiska tutkimaanksesi lomaketta.
Kaikissa tapauksissa yhteys yhteiseen johtoon vastaa loogista nollaa, ja yhteys +5 voltin virtakiskoon vastaa yksikköä.
Nastat 1 ja 2 ovat moduulin virrankäyttöä varten. Ensimmäinen niistä on aina kytketty yhteiseen johtoon ja toinen on aina virtalähteellä.
Nasta 3 on tarkoitettu kontrastin säätämiseen. Kun siihen kohdistetaan 0 - 5 voltin jännite suhteessa yhteiseen johtoon, kontrasti muuttuu nollasta maksimiin.
Nasta 4 antaa sinun valita tietorekisterin ja ohjerekisterin välillä. Annamme loogisen nollan - ohjerekisteri (toisin sanoen komennot) on valittu, yksikkö on tietorekisteri.
Ohjeet voivat olla esimerkiksi seuraavat: Alusta ohjain, tyhjennä näyttö jne., Ja tieto sisältää merkkejä, jotka näet ilmaisimessa.
Voit päinvastoin lukea tietoja tietystä rekisteristä. Tätä varten sinun on sovellettava korkeaa tasoa nastaan 5, ja näyttö siirtyy tiedonsiirtotilaan takaisin mikro-ohjaimeen. Aloitaksesi tietojen kirjoittaminen mikro-ohjaimesta näytön ohjaimeen uudelleen, sinun on lähetettävä matala taso 5 nastaan 5. Melko usein lukutilaa ei käytetä ollenkaan, kuten esimerkiksi tässä kotitekoisessa tuotteessa.
Nastat 7 - 14 mukaan näyttö voi vaihtaa komentoja ja tietoja 8-bittisissä koodauksissa. Alin taso vastaa tappia 7, korkein - 14.
Tappi 6 tarvitaan portitukseen.Olet asettamassa tietoja hitaasti nastoille 7 - 14, mutta vaikka nasta 6 on looginen nolla, moduuli ei reagoi tähän ollenkaan. Sitten, muuttamatta tapien 7 - 14 tilaa, lähetät korkean tason lyhytaikaisen pulssin pin 7: lle - ja data lähetetään.
Päätelmät 15 ja 16 - taustavalon ravitsemus, jos sellaista on. 15 - plus, 16 - miinus.
Indorgeekin käytettävissä oleva kotelo osoittautui kooltaan 200x150x40 millimetriä. Tämä kotelo otettiin toisesta, purettu kotitekoisesta, ja siinä oli jo reikiä. Mestari käytti niitä maksimissaan uudessa mallissa tehdäkseen niin vähän kuin mahdollista ylimääräisiä.
Hän asetti kahdeksan kytkinkytkintä data / komentoväylälinjojen tilan muuttamiseksi, kytkimen valitaksesi rekistereiden välillä (katso yllä), painikkeen avaamiseen, muuttuvan vastuksen jatkuvan kontrastin säätämiseksi.
Mikro-USB-liittimellä varustetussa nokkikortissa on kätevät nastat, jotka helpottavat johtojen kytkemistä. Vain kahta niistä tarvitaan täällä: +5 V ja yhteinen johdin. Jos sinulla ei ole tällaista korttia, ja jostain jostakin juotetusta mikro-USB-liittimestä vaikuttaa hankalaa juottamiseen, voit vain ottaa johdon USB-liittimellä. Toistamme joka tapauksessa päällikön ja juottamalla tällainen kaavio:
Yläasentoa vastaavat kytkentäkytkinten kontaktit, indorgeek kytketty toisiinsa ja arkistoinut niille plus. Hän teki saman alempaa asentoa vastaavien kytkentäkytkinten koskettimilla, hän antoi heille vain miinus. Hän yhdisti kytkentäkytkimien liikutettavat koskettimet toisiinsa, mutta dataväylän / moduulin komentojen päätelmien kanssa niiden molempien "painon" mukaisesti (D0 - nasta 7 - vähiten merkitsevä bitti, D7 - nasta 14 - korkein). Jos mestarit eivät olisi lapsuutensa pureneet raivoisia vetovastuksia, hän pystyisi käyttämään yksinkertaisempia kytkentäkytkimiä - ei kytkimiä, vaan normaalisti auki.
Mutta samat vastukset, mutta kosketusvaimentimien piireissä, hän ei koskaan loukannut. Täällä tätä piiriä tarvitaan, jotta näytönohjain ei paineta yhtä aikaa vilkkumapainiketta useita kertoja. Muut ohjaimet eivät vaadi herjauksen tukahduttamista, koska niin kauan kuin välähdyspulsseja ei vastaanoteta, jäljellä olevien linjojen tiedot voivat muuttua monta kertaa kuin haluat. Tärkeintä ei ole koskettaa vaihtokytkimiä ja kytkintä painikkeella. Joten 10 kOhm: n vastuksella isäntä veti tapin 6 yhteiseen johtoon ja napilla plus-väylään. Koska painikkeen vastus on paljon alhaisempi, sitä painettaessa se vetää. Vapautuessaan sen vastus tulee lähelle äärettömyyttä, ja vastus jo “vetää” sitä. 100 uF: n kondensaattori (ei esitetty kaaviossa), joka on kytketty plussilla plus-väylään ja miinusilla vastukseen ja näytön kuudennella lähdöllä, estää värinää. On tietysti parempi tukahduttaa sekaaminen kytkinpainikkeella ja RS-liipaisimella.
Liukukytkimessä kiinteiden kontaktien ulostulot kytketään samalla tavalla kuin vaihtokytkimien kanssa, ja siirrettävä kytkin on kytketty moduulin 6 lähtöön. Täällä kehittäjä osoitti jälleen pelkoa vetovastuksista. Tätä kytkintä tarvitaan komentojen (nolla) ja datan (yksikkö) lähetystapojen valitsemiseksi.
Indoorgeek liitti vähimmäiskontrastia vastaavan muuttuvan vastuksen ulostulon yhteiseen johtoon, vastakkaiselle plus-väylälle ja keskiosan (moottori) moduulin kolmanteen ulostuloon.
Päätelmät 1, 5 ja 16 (vastaavasti miinus teho, kirjoitus / lukeminen ja miinus taustavalo) isäntä on kytketty yhteiseen johtoon, joten tallennustila valitaan jatkuvasti. Johtopäätökset 2 ja 15 (vastaavasti, plus virta ja plus taustavalo), hän kytkei viiden voltin väylään. Näyttömoduuliin on integroitu virtarajoittava vastus taustavalo-LEDien kautta.
Jos olet kerännyt kaiken tämän edessäsi - jotain tällaista:
Sisätilojen etupaneeli on suunniteltu niin, että voit tehdä saman:
Voit oppia HD44780-ohjaimen komennot ja kuinka niitä hallita Tiedotteen. Voit myös nähdä valmiita käsikirjoitusesimerkkejä simulaattori. Ensinnäkin, toistamme vaiheet sisätilojen takana nähdäksesi HELLO!
Käynnistä laite. Taustavalo syttyy. Siirrä liukukytkin loogista nollaa vastaavaan asentoon, jotta ilmaisin vaihtuu komentojen vastaanottotilaan. Aseta binaarinumero 00001111 komento- / dataväylälle kytkinkytkimillä ja paina lyhyesti merkkivalopainiketta. Tämä komento tarkoittaa: kytke näyttö päälle, osoitin näkyy ja vilkkuu, mitä tapahtuu. Samalla tavalla annamme 00110000 -komennon, joka tarkoittaa: vastaanota dataa 8-bittisessä muodossa, valitse ensimmäinen rivi ja fontti 5 - 8 pikseliä. Visuaalisesti mitään ei tapahdu, mutta näytön ohjaimen sisällä tehdään tarvittavat kytkimet. Voit siirtää tietoja. Kääntämme liukukytkimen loogista yksikköä vastaavaan asentoon, nyt indikaattorimoduuli on valmis hyväksymään ne. Aseta H-kirjaimen ASCII-koodi, ts. 01001000, vaihda väylän kytkinkytkimet ja paina vilkkupainiketta. Vastaava kirjain ilmestyy näytölle, ja kohdistin siirtyy yhden paikan oikealle. Vastaavasti välitämme kirjaimet E, L, L, O ja huutomerkki: 01000101, 01001100, 01001100, 01001111, 00100001. Jos teit saman asian, sillä ei ole väliä juuri kokoamassasi jalustassa tai simulaattorissa, näet HELLO -merkinnän ! Kuten tämä:
Näin ymmärsit kuinka paljon Arduino tekee voidakseen näyttää vain muutama merkki. Ja siellä on joukkueita suorittamaan monimutkaisempia toimia, kun olet oppinut, voit saada mielenkiintoisia tehosteita, määritellä epätyypillisiä merkkejä ...
Retkisi Arduinon kirjaston LiquidCrystal "keittiöön" on vasta alkamassa, ja anna sen olla hauskaa!