Jūs rašėte programoje Arduino kažkas panašaus:
lcd.print („Sveikas, pasaulis!“)
Plokštė klusniai vykdė komandą, o tekstas pasirodė ekrane. Bet kaip vienas prietaisas „pasakė“ ką nors, o antrasis „išgirdo“ ir „suprato“? Tai yra tarsi paprašyti dailininko padaryti jūsų portretą, bet nematyti, kaip jis jį dirba. „Instructsbles“ autorius, pravarde indoorgeek, sugalvojo stendą, kuris padės pasijusti „gyvo Arduino“ avalyne ir valdyti HD44780 žemai. Viename iš konkursų tai naminis laimėjo pirmąją vietą.
Tam reikia šiek tiek detalių: bet koks modulis (LCD, VLI ar PMOLED), esantis HD44780 valdiklyje arba suderinamas, aštuoni jungimo jungikliai, neužspaudžiamas mygtukas, slenkantis jungiklis, 1 kΩ kintamasis rezistorius, plokštė su „Micro USB“ lizdu ir dėklas.
Iš to, kas neparodyta nuotraukoje, mums reikia: 10 kOhm rezistoriaus ir 100 μF kondensatoriaus ir ne mažiau kaip 6,3 V.
Pats „Indoorgeek“ paėmė dažniausiai naudojamo tipo modulį: LCD, 16 simbolių kiekvienoje eilutėje, dvi eilutės. Tačiau kitiems moduliams valdymo principas yra tas pats, tik rodyklė gali šiek tiek skirtis, todėl nebūkite per daug tingūs, kad žiūrėtumėte į duomenų lapą.
Visais atvejais jungtis prie bendro laido atitinka loginį nulį, o jungtis su +5 voltų galios magistralė atitinka vienovę.
1 ir 2 kaiščiai skirti moduliui maitinti. Pirmasis iš jų visada yra prijungtas prie bendro laido, o antrasis visada yra su maitinimo magistrale.
3 kaištis skirtas kontrastui reguliuoti. Kai jam įdedama nuo 0 iki 5 voltų įtampa bendrojo laido atžvilgiu, kontrastas keičiasi nuo nulio iki maksimalaus.
4 kaištis leidžia jums pasirinkti tarp duomenų registro ir instrukcijų registro. Pateikiame loginį nulį - pasirenkamas instrukcijų (kitaip tariant, komandų) registras, vienetas yra duomenų registras.
Nurodymai, pavyzdžiui, gali būti šie: paleidžiame valdiklį, išvalykite ekraną ir pan., O duomenys apima ženklus, kuriuos matysite indikatoriuje.
Priešingai, galite skaityti duomenis iš kai kurių registrų. Norėdami tai padaryti, turite pritaikyti aukštą lygį 5 kaiščiui, o ekranas pateks į informacijos išvesties režimą atgal į savo mikrovaldiklį. Norėdami vėl pradėti rašyti duomenis iš savo mikrovaldiklio į ekrano valdiklį, turite nusiųsti žemo lygio 5 į 5 kaištį. Gana dažnai skaitymo būdas visai nenaudojamas, kaip, pavyzdžiui, šiame namų gaminyje.
Pagal 7–14 kaiščius, ekranas gali keistis komandomis ir duomenimis 8 bitų kodavimu. Žemiausias lygis atitinka 7 kaištį, aukščiausias - 14.
6 kaištis reikalingas vartai.Lėtai nustatote duomenis 7–14 kaiščiuose, tačiau, kai 6 kaištis yra logiškas nulis, modulis į tai visai nereaguoja. Tuomet, nekeisdami kaiščių nuo 7 iki 14 būsenos, jūs siunčiate aukšto lygio trumpalaikį impulsą į 7 kaištį - ir duomenys perduodami.
15 ir 16 išvados - foninio apšvietimo maitinimas, jei toks yra. 15 - pliusas, 16 - minusas.
Indorgeek turimas dėklas pasirodė esąs 200x150x40 milimetrų dydžio. Šis dėklas buvo paimtas iš kito, išardytas namuose, jame jau buvo skylių. Meistras maksimaliai juos panaudojo naujame dizaine, kad padarytų kuo mažiau papildomų.
Jis nustatė aštuonis jungimo jungiklius duomenų / komandų magistralės eilučių būklei pakeisti, jungiklį pasirinkimui tarp registrų (žr. Aukščiau), mygtuką rodymui, kintamą rezistorių nuolatiniam kontrasto reguliavimui.
Aukštakrosnės plokštė su „Micro USB“ lizdu turi patogius kaiščius, kurie palengvina laidų prijungimą. Čia reikalingi tik du iš jų: +5 V ir bendra viela. Jei tokios plokštės neturite, o iš kažkur išlydytas „Micro USB“ lizdas atrodo nepatogus lituoti, galite tiesiog pasiimti laidą su USB jungtimi. Bet kokiu atveju pakartokite po meistro ir lituokite tokią schemą:
Perjungimo jungiklių kontaktai, atitinkantys viršutinę padėtį, sujungti kartu ir uždėti ant jų pliusą. Tą patį jis padarė su perjungimo jungiklių kontaktais, atitinkančiais apatinę padėtį, tik jis davė jiems minusą. Perjungimo jungiklių judamuosius kontaktus jis sujungė ne tarpusavyje, o su duomenų magistralės / modulio komandų išvadomis pagal jų abiejų „svorį“ (D0 - 7 kaištis - maža tvarka, D7 - 14 kaištis - aukšta). Jei meistras vaikystėje nebūtų įkandęs įpykintų traukos varžų, jis galėtų naudotis paprastesniais perjungimo jungikliais - ne perjungiamais, o paprastai atidaromais.
Bet tie patys rezistoriai, bet slopinamuose kontaktų atšokimo kontūruose, jis niekada nebuvo įžeistas. Čia ši grandinė reikalinga tam, kad ekrano valdiklis kelis kartus nespaudžia strobos mygtuko. Kitiems valdikliams nereikia šnibždėjimo slopinimo, nes tol, kol negaunami strobos impulsai, likusių eilučių duomenys gali keistis daug kartų, kaip norima. Svarbiausia neliesti perjungimo jungiklių ir jungiklio paspaudus mygtuką. Taigi, naudodamas 10 kOhm varžą, meistras pritraukė 6 kaištį prie bendrosios vielos, o mygtuką - prie pliuso magistralės. Kadangi mygtuko pasipriešinimas yra daug mažesnis, jį paspaudus, jis „tempiasi“. Atlaisvinus, jo pasipriešinimas tampa artimas begalybei, o rezistorius jau „traukia“ jį. 100 uF kondensatorius (neparodytas diagramoje), sujungtas pliusu prie pliuso magistralės, o minusas prie rezistoriaus ir šeštosios ekrano išvesties, slopina plepėjimą. Geriau, žinoma, slopinti šneką jungiklio mygtuku ir RS jungikliu.
Stumdomuoju jungikliu fiksuotų kontaktų išėjimai yra prijungiami taip pat, kaip ir perjungimo jungikliams, o kilnojamasis jungiklis yra prijungtas prie 6 modulio išvesties. Čia kūrėjas vėl parodė baimę traukti rezistorius. Šis jungiklis reikalingas komandų (nulis) ir duomenų (vienetas) perdavimo režimams pasirinkti.
„Indoorgeek“ sujungė kintamojo rezistoriaus išėjimą, atitinkantį minimalų kontrastą su bendra viela, priešinga pliuso magistralei, o vidurį (variklis) prie trečiojo modulio išėjimo.
1, 5 ir 16 išvados (atitinkamai atėmus galią, rašymo / skaitymo ir minusinį foninį apšvietimą) pagrindinis meistras prijungtas prie bendro laido, todėl įrašymo režimas pasirenkamas nuolat. 2 ir 15 išvados (atitinkamai plius galia ir plius apšvietimas) jis prijungė prie penkių voltų autobuso. Į ekrano modulį yra integruotas srovės ribojamasis rezistorius per apšvietimo šviesos diodus.
Jei jūs visa tai surinkote, priešais jus - kažkas panašaus:
Priekinis skydelis, skirtas patalynės skyriui, suprojektuotas taip, kad galėtumėte padaryti tą patį:
Galite sužinoti HD44780 valdiklio komandas ir kaip jas valdyti duomenų lapas. Taip pat galite pamatyti paruoštų scenarijų pavyzdžius treniruoklis. Pradedantiesiems, mes pakartosime veiksmus, esančius už indoorgeek, kad būtų rodomas HELLO!
Įjunkite įrenginį. Užsidegs foninis apšvietimas. Stumkite jungiklį į padėtį, atitinkančią loginį nulį, kad indikatorius persijungtų į komandų priėmimo režimą. Komandų / duomenų magistralėje su būgneliais nustatykite dvejetainį numerį 00001111 ir trumpai paspauskite „strobe“ mygtuką. Ši komanda reiškia: įjunkite ekraną, padarykite žymeklį matomą ir mirksėkite, kas įvyks. Tuo pačiu būdu mes išduosime komandą 00110000, tai reiškia: priimti duomenis 8 bitų formatu, pasirinkti pirmą eilutę ir šriftą 5 po 8 taškus. Vizualiai nieko neatsitiks, bet kažkur ekrano valdiklio viduje atsiras būtini jungikliai. Galite perduoti duomenis. Mes išverčiame skaidrių jungiklį į poziciją, atitinkančią loginį vienetą, dabar indikatoriaus modulis yra pasirengęs juos priimti. Nustatykite H raidės ASCII kodą, t. Y., 01001000, perjunkite autobuso perjungimo jungiklius ir paspauskite strobos mygtuką. Ekrane pasirodo atitinkama raidė, o žymeklis juda viena padėtimi į dešinę. Panašiai perduosime raides E, L, L, O ir šauktuką: 01000101, 01001100, 01001100, 01001111, 00100001. Jei jūs darėte tą patį, nesvarbu, ką tik surinkote ant stovo, ar treniruoklyje, pamatysite užrašą HELLO. ! Kaip šis:
Taip jūs supratote, kiek Arduino daro, kad būtų rodomi tik keli simboliai. Ir yra komandų, kurios atlieka sudėtingesnius veiksmus, įvaldę kuriuos galite gauti įdomių efektų, apibrėžti nestandartinius simbolius ...
Jūsų ekskursija į „Arduino“ bibliotekos „LiquidCrystal“ „virtuvę“ dar tik prasideda, ir tegul būna linksma!