Csatlakozó LCD kijelző az Arduino, elektronikus cookie-k

Csatlakozó LCD kijelző az Arduino, elektronikus cookie-k

Amikor létrehozza a saját eszköz nem ritkán kell kérni megjelenítésére különböző információkat. Például, ha létrehoz egy intelligens otthon vezérlő, célszerű felszerelni a készülék kimeneti eszköz lehetővé teszi, hogy gyorsan megtanulják a jelenlegi állapot a rendszer. A legjobb megoldás egy olyan folyadékkristályos kijelző. Fogyasztás legalább megvilágítás letiltották, és a munka, hogy a kijelző rendkívül egyszerű, és nem igényel erős beavatkozás a programkódot. Tény, hogy a kijelzőn megjelenő információkat az LCD-képernyőn nem sokban különbözik a kimenetet a soros port. A cikk foglalkozik a kapcsolatot znakogeneriruyuschego jeleníteni alapján HD44780 chip a népszerű Arduino vezérlő.

Ahhoz, hogy megértsük néhány árnyalatok hasznos tudni, hogyan működik znakogeneriruyuschy kijelzőn. Jellemző az ilyen típusú kijelző, hogy saját memória vezérlő. DDRAM - kijelző memóriába. Jelenítse meg a karakter a képernyőn le kell töltenie a szimbólumra memória sejtek, majd add meg a parancsot a memóriahelyek. Továbbítása során szimbólumok kódolású ASCII kódokat. Például, az „1” szimbólum jelenik meg, amikor tárolja a kód 0 × 31 kijelzőn. Matching karakter kódja és a kijelzőn (azaz „kép” karakter) tárolt CGROM memóriában. CGROM memória szolgál. Ezért, a kijelző csak akkor jelenik meg ezeket a karaktereket, hogy a „védelem” a vezérlő. Ezért nem minden megjelenítésére képes megjeleníteni, például a magyar szimbólumokat. A kijelzők, amelyeket értékesített üzletünkben, sajnos nem eloroszosodott. Van CGRAM memóriát. Ez változik. Mi is létrehozhatunk saját karaktert, és megjeleníti azokat a képernyőn. Meg kell jegyezni, hogy hozhat létre akár nyolc karakter.

Mindez „motorháztető alatti” munka csak az a fontos, hogy megértsük néhány árnyalatok. Mert Arduino van egy egyszerű és világos könyvtár, amely végrehajtja az Ön számára a piszkos munkát, amely lehetővé teszi, hogy ellenőrizzék a kimenet a kijelző gyorsan és egyszerűen.

Ha csatlakozni a kijelző természetesen telepíteni kell a breadboard. Megjegyzés: megjeleníti értékesített üzletünkben nélkül értékesített forrasztott tűs csatlakozó. Ha azt szeretnénk, hogy megjelenjen azonnal készen áll a telepítés maketku jelölje be a jelölőnégyzetet „forrasztani csatlakozó” az adott termék oldalán, és forrasztani csatlakozó az Ön számára. Adatátvitel a kijelzőn lehet elrendezve kétféleképpen: 4 vagy 8 bit egy időben. Ennek megfelelően, a szükség sem 4 vagy 8 csapok Arduino. A gyakorlatban a nyereség sebesség használata esetén nyolc bites interfész nem. Ezért csak 4 digitális kimenet adatokat. Több 3O beállításához szükséges a megjelenítési módot. Összesen megjelenítéséhez a kapcsolat kell csak 7 digitális kimenet a vezérlő. Névjegyek megjelenítési alá, hogy nem fog zavart, ha csatlakoztatja:

Kapcsolatok megjelenítéséhez közelkép

Következtetések felsorolni balról jobbra:

  • 1- (VSS) kijelző Földön. Ez csatlakozik a csiszolt sín.
  • 2- (VDD) teljesítmény kijelzőn. Ez csatlakozik az elektromos vasúti.
  • 3- (VO) A potenciométer bemenet (tartalmazza). Potenciométerrel szabályozható kijelző kontrasztját. A következtetés, hogy a kijelző csatlakoztatva átlagos kimeneti potenciométer.
  • 4- (RS) Enter "parancs" jelet. Csatlakozik bármilyen digitális pin Arduino. A példában csatlakozik a következtetést №12.
  • 5- (RW) Beállítja a „olvasás” módban, vagy „írás”. Megyünk felvenni. Csatlakoztassa a kontaktus a földre.
  • 6- (E) engedélyezése. Egy másik „csapat” arra a következtetésre jutott. Ha a kimeneti egység kerül forgalomba, a kijelző végrehajtja a korábban továbbított parancs. Csatlakozik bármilyen digitális pin. A példában kapcsolódik a terminál №11.
  • 7-10 (D0-D3) tartalék nincs csatlakoztatva. Ez adatátviteli kapcsolatok, amelyeket a nyolc bites interfészen keresztül. Nem kell.
  • 11-14 (D4-D7) terminálok adatátvitelhez chetyrohbitnom módban. Ismét csatlakozik semmilyen digitális kimenet. A példában egyenként vannak csatlakoztatva a terminálok 5,4,3 és 2 (D4 és 5 következtetést, D5, hogy 4, stb).
  • 15 (A) Az anód a LED háttérvilágítás. Áramkorlátozó ellenállás már telepítve van a kijelzőn, így az anód van csatlakoztatva a tápegység sínre. Mivel a megvilágítást használunk a leggyakoribb fénykibocsátó dióda, akkor csatlakoztassa a terminálhoz, amely támogatja a PWM és ellenőrzik a háttérvilágítás fényerejét és szoftver.
  • 16 (K) Cathode megvilágítás. Ez csatlakozik a csiszolt sín.

Vizuális kapcsolat diagram:

Csatlakozó LCD kijelző az Arduino, elektronikus cookie-k

Vezetés a kijelző csatlakozás Arduino

Együtt az Arduino IDE jön egy kitűnő könyvtár folyadékkristályos kijelzők - LiquidCrystal. A könyvtár példákat teljesen feltárva a lehetőséget a képernyőn. Kezdeni használat standard példa «HelloWorld» (File -> Példák -> LiquidCrystal -> HelloWorld) vagy terhelési tölteni a következő kódot:

A letöltés után ezt a kódot az Arduino fórumon, hogy a kijelzőn megjelenik a «Helló, világ!» (Eng. „Hello, World!”) Az első sorban, és egy időzítő visszaszámol a másodperc a második sorban.

Ahogy az lenni szokott, a kód egyszerű és intuitív. Azonban még mindig Nézzük meg részletesebben:

  • LiquidCrystal lcd (12, 11, 5, 4, 3, 2) - Ez a sor létrehoz egy kijelző tárgy, amellyel fogunk dolgozni a jövőben. Zárójelben az átadott argumentumok száma csapok, amelyek kapcsolódnak a névjegyek megjelenítése. Ennek megfelelően: RS, E, D4, D5, D6, D7. Mint a fentiekben említettük, a PIN-számokat, ha csatlakoztatva lehet a kiválasztott elég önkényesen.
  • lcd.begin (16, 2) - itt állíthatja be a kijelző mérete. Ebben a példában a 16 oszlop és 2 sorban. 20H4 mi kijelzőn ez a sor így fog kinézni: lcd.begin (20, 4).
  • lcd.print ( «Helló, világ!») - megjeleníti a szöveget a kijelzőn. Miután a meghatározott megjelenítési méretét (lcd.begin) kurzor a bal felső sarkában a kijelzőn. Ezért ez a szöveg jelenik meg az első (felső) vonal a bal oldalon.
  • lcd.setCursor (0, 1) - beállítja a kurzort egy meghatározott helyzetben. Ebben az esetben ez tartalmazza a bal szélső helyzetben a második sorban. Zárójelben megadjuk az oszlop számát, és a sor számát. És a sorok és oszlopok számozása alaphelyzetben. Így: lcd.setCursor (0, 0) - állítsa a kurzort a bal felső sarokban, lcd.setCursor (15, 0) - jobb alsó.
  • lcd.print (Millis () / 1000) - már a fent leírt. Itt helyett a szöveg átadott paramétert a képlet számítás. Az eredmény megjelenik a képernyőn.

Most, hogy már foglalkozott a legegyszerűbb példa, akkor lépni a bonyolultabb példákat. És ha már mindent megértett, és készen áll, hogy vesz egy LCD kijelző, már összeállított linkek rám bízta kínai eladók jelennek meg:

Karakteres LCD kijelző

Kijelző mérete (sor * oszlop)

A szabványos példák mellékelt LiquidCrystal könyvtár megtalálható az alábbi vázlatok:

    • Auto.görgetés - tanúskodik, hogy a szöveg gördül automatikusan. Egyfajta ticker. Amikor karakterek előző szimbólumok tolódnak. Így egy új szimbólum jelenik meg ugyanazon a helyen.
    • Blink - tanúskodik, hogy a váltás a kijelző villogó kurzor formájában egy téglalap.
    • Kurzor - tanúskodik, hogy a váltás a kijelző a kurzor formájában villogó vízszintes vonal.
    • CustomCharacter - létrehozásának lehetőségét a saját megjeleníthető karakterek a kijelzőn. Mellesleg, ez a vázlat hiba. A részleteket lásd alább.
    • Display - mutatja az utat, hogy „kikapcsolja” a kijelző. Ez az, hogy megjelenjen a szöveg származik.
    • Scroll - tanúskodik, hogy a szöveg gördül kézzel.
    • SerialDisplay - megjeleníti a nyomtatott szöveg a Port Monitor ablak (azaz a szöveget, amely továbbítja a soros porton keresztül).
    • setCursor - kitölti a betűk megjelenítési, bemutatva a képességét, hogy a kurzort, hogy bármilyen helyzetben a képernyőn.
    • TextDirection - igazolja az képes megváltoztatni az irányt szöveges kimenet (jobbról balra vagy balról jobbra).

Tekintsük részletesebben eljárások amely igazolta a lehetőségét, ezeket a példákat:

lcd.autoscroll ()

Miután felhívta ezt az eljárást, a szöveget a képernyőn automatikusan görgetni. A görgetés leállításához hívja lcd.noAutoscroll ().

lcd.blink ()

Miután a hívás eljárás kurzor válik villogó téglalap. Hogy kikapcsolja, hívja a lcd.noBlink (). A kurzor ismét láthatatlanná válik.

lcd.cursor ()

Miután a hívás eljárás kurzor formáját ölti a villogó vízszintes vonal. Letiltani lcd.noSursor hívjanak (). A kurzor ismét láthatatlanná válik.

lcd.createChar ()

Az eljárás betölti a változó táblázatban képernyőn karakterek (CGRAM memória) szimbólum le, mint egy byte tömböt. Az argumentum a karakterek száma, valamint egy sor bájt, amely leírja a karaktert. Vizsgáljuk meg ezt részletesebben. Ahhoz, hogy a kijelző memória legfeljebb nyolc karakter. Ha hozzá szeretné adni karakter van szükség:

  1. Hozzon létre egy byte tömböt, amely leírja a karaktert.
  2. Vedd szimbólum a kijelzőn memória, így ez a szám a szimbólumtáblába. A szimbólumok vannak számozva zérótól hétig.
  3. Nyomtatás a szimbólum a képernyőn lcd.write () eljárás (nem tévesztendő össze a lcd.print ()), amelyben az átviteli minőség érv a karakterek számát.

Bug fejlesztőkörnyezetek és különösen a könyvtáraknak eredményezte a képtelenség, hogy megjelenítse a szimbólum száma 0 (nulla). Compiler miután találkozott lcd.write vonal (0) dobni egy hiba: «call of túlterhelt 'write (int)' kétértelmű«. Ez ebben a sorban történik a példában CustomCharacter könyvtárban. Amikor megpróbálja lefordítani a standard példa, akkor kap egy hiba:

CustomCharacter. ino. A funkció 'void setup ()'.

CustomCharacter. 115. hiba. call of túlterhelt 'write (int)' kétértelmű

/ Főoldal / nazarovd / Arduino - 1.0.5 / könyvtárak / LiquidCrystal / LiquidCrystal. h. 82. jegyzet. jelöltek. virtuális size_t LiquidCrystal. write (uint8_t)

/ Főoldal / nazarovd / Arduino - 1.0.5 / hardver / Arduino / mag / Arduino / Print. h. 49. jegyzet. size_t Print. write (const char *)

A probléma megoldásához elég megváltoztatni lcd.write string (0) szóló lcd.write ((bájt) 0).
Most egy kis példa a teremtés a karakter. Nézzük megjelenítéséhez a szimbólum a rubel.

rubel szimbólum jelenik meg a képernyőn

lcd.noDisplay ()

„Kikapcsolása” a kijelző. Sőt, csak elrejti a képernyőn karakterek. Lcd.display eljárás hívás () „magában foglalja” kijelzést. Minden karakter jelenik meg újra. Kérjük, vegye figyelembe: nincs egyértelmű a kijelzőn. Karakterek már nem jelenik meg.

lcd.scrollDisplayLeft (); lcd.scrollDisplayRight ();

Lapozás a hosszú sorokat a kézi (szabályozott) módban. lcd.scrollDisplayLeft () görgeti a húr egy karakterrel balra, lcd.scrollDisplayRight () görgeti a vonal egy karakterrel jobbra.

lcd.rightToLeft (); lcd.leftToRight ();

Beállítja a szöveg irányát. lcd.rightToLeft () beállítja a megjelenítési módot jobbról balra, lcd.leftToRight () hatására a szöveg megjelenítése balról jobbra.

lcd.clear ()

Karakteres LCD kijelző