Az előző részben megállapítottuk, hogy a már elkészült LCD-pajzsot a legegyszerűbben az Arduino-hoz lehet csatlakoztatni, amelyen a kijelzőn kívül hat gomb is található. Azok, akiknek nincs ilyen pajzsuk, de van kijelzőjük, közvetlenül vezetékekkel vagy patch panel segítségével csatlakoztathatják. Azt már tudjuk, hogy az LCD kijelző 4 vagy 8 bites módban képes kommunikálni. És azt mondtuk, hogy a leggyakrabban a 4 bites módot használják. Ezt a módot is használni fogjuk, mert a fejlesztői környezetben elérhető könyvtárak működnek ezzel a móddal.

arduino

1. ábra

A következő jeleket használják 4 bites módban:

- Jel RS (Register Select) - regiszterek kiválasztása - a kijelzőn 4 (balról a negyedik)
- Jel EN (Engedélyezés) - engedélyezheti a regiszterekhez való írást - PIN-kód 6 (balról a hatodik)
- Jel DB4 - adat, 4. bit - a kijelzőn lévő sz. 11 (balról tizenegyedik)
- Jel DB5 - adat, 5. bit - a kijelzőn lévő sz. 12 (balról tizenkettedik)
- Jel DB6 - adatok, 6. bit - a kijelzőn lévő sz. 13 (balról tizenharmadik)
- Jel DB7 - adat, 7. bit - a kijelzőn lévő sz. 14 (balról tizennegyedik)

Ezen jelek mellett a kijelző kontrasztjának, valamint a LED + és a LED-kapcsolóknak a Vss, Vdd és Vo terminálok (a kijelző 1., 2. és 3. érintkezője) közötti, körülbelül 10 kiloohmos trimmer vagy potenciométer-csatlakozást gyakran használják. kivezetések (14. és 15. érintkező) háttérvilágításként. Ezen vezetékek csatlakoztatása nem kötelező, de nagyon megfelelő.

Ezek a jelek az Arduino bármely digitális adatkimenetéhez csatlakoztathatók, de leggyakrabban a D2-től D12-ig vannak csatlakoztatva. Megmutatjuk a két leggyakrabban használt módszert.

Csatlakozás a csatlakozási mező használatával

Akinek csak LCD-kijelzője van, az például ennek a sémának megfelelően csatlakoztathatja (1. ábra). Mivel még nem biztosítottak kész LCD pajzsot, elvárom, hogy kellően műveltek legyenek, és megfelelően tudják csatlakoztatni az Arduinóhoz. Ne feledje, hogy a fenti ábrán a jelek összekapcsolódnak a 1. sz. 1.

LCD jel

Tüskés LCD

Arduino jel

Ugyanakkor a diagram a kontrasztpotenciométer és a háttérvilágítás kapcsolatát is mutatja.

Az összekapcsolási mezőt használók megvalósíthatják ezt a kapcsolatot, például az 1. ábra szerint. 2.

És akiknek van egy LCD-pajzsuk, egyszerűen becsúsztatják az Arduino-ba, és elkezdhetjük a munkát.

Az LCD-pajzs használata

Egyes LCD-pajzsok különféle terminálokkal vannak összekötve az Arduino-val. Ezért meg kell találni a kapcsolási rajzot a gyártótól (vagy az eladótól), és le kell olvasni belőle, hogy a megfelelő csap csatlakozik-e. Az LCD-pajzsok túlnyomó többségénél a 2. sz. 2.

LCD jel

Tüskés LCD

Arduino jel

Talán valaki azzal érvel, hogy miért csatlakoztattuk az LDC kijelzőt más csapokhoz, amikor ugyanazt a módszert használhattuk, mint a shellben. Ennek oka az lehet, hogy a jövőben találkozhatunk ezzel, és könnyen módosíthatjuk a kapcsolat definícióját a programban.

Könyvtár az LCD kijelzővel való munkához

A jól ismert LiQuidCrystal könyvtárat leggyakrabban az Arduino fejlesztői környezetben használják az LCD kijelzővel való együttműködésre. Ez már a környezet része, és nem kell telepíteni. Csak annyit kell tennünk, hogy meghívjuk a programunkban, és használjuk. A könyvtárnak számos parancsa van, fokozatosan megismerkedünk velük mintapéldák segítségével. Meg kell jegyezni, hogy vannak más könyvtárak is az LCD kijelzőkkel való munkához, de ezek nem annyira elterjedtek. Még csak nem is részei az Arduino fejlesztői környezetnek, ezért le kell tölteni őket az internetről és telepíteni a környezetbe. Megmutatjuk, hogy máskor hogyan kerülnek a könyvtárak az Arduino környezetbe.

"Helló Világ!"

Emlékszel az egyik első programunkra, ahol a számítógép monitorával köszöntöttük a világot, amelyhez az Arduino csatlakozott? Most is üdvözöljük a világot, de közvetlenül az Arduino LCD kijelzőjén.

Az utasítás egy egyszerű program szövegét tartalmazza:

Az első sor egy új #include bejegyzést tartalmaz számunkra . Ez azt jelenti, hogy csatolnunk kell (technikailag, linkelni) a programunkhoz, amelyet a LiquidCrystal nevű fejlécfájl határoz meg. Milyen más fejlécfájlokat használnak (a .h kiterjesztéssel ismerjük őket), máskor elmagyarázzuk Önnek. Egyelőre csak azt kell tudnunk, hogy ezzel a paranccsal egy megfelelő nevű könyvtárat hívunk. A könyvtár tartalmazza az LCD kijelzővel való munkavégzéshez rendelkezésre álló összes funkciót, így ezeket már nem kell bonyolultan létrehoznunk, egyszerűen használnunk kell őket.

A LiquidCrystal parancs a programkód definíciós részében található. Ez a függvény egy bizonyosat deklarál tárgy (programobjektum) egy meghatározott névvel, amely alatt tovább fogjuk hívni a programunkban. Ebben az esetben egy objektumot deklarálunk. Ezzel a funkcióval egyidejűleg meghatározzuk, hogy az Arduino mely csapokhoz (csapokhoz) csatlakozik az LCD kijelző.

A terminálok meghatározása a következő sorrendben történik: RS, EN, D4, D5, D6, D7. Így egyértelmű, hogy ez a függvény a csapok csatlakozását használja a 1. sz. 2 (abban az esetben, ha a már elkészült LCD pajzsot használtuk). De mint már említettük, semmi sem akadályoz bennünket abban, hogy használjunk egy másik kapcsolatot és meghatározzuk a helyes csapokat ebben a funkcióban. Tehát, ha az LCD-kijelzőt a 2. ábrán látható ábra szerint csatlakoztatjuk. Az 1. és a 2. objektum deklarációja

LiquidCrystal lcd (12, 11, 5, 4, 3, 2)

A setup () szakaszban csak egy lcd.begin (16, 2) parancs található. Az lcd objektum start metódusa aktiválja a kijelzőt, és meghatározza, hogy hány oszlopa (karakter legyen soronként) és sora van. Esetünkben kétsoros kijelzőnk van, soronként 16 karakterrel. (Ha másik kijelzőnk lenne csatlakoztatva, például 4 soros, soronként 20 karakterrel, akkor az lcd.begin (20, 4) parancsot használnánk). Kizárólag a teljesség kedvéért létezik 2 soros, 20 karakteres és egysoros, 16 karakteres kijelző.

A loop () ciklusban az lcd.SetCursor parancs állítja be a kurzor pozícióját. A pozíció számozása a kijelző bal felső sarkától kezdődik, így az első karakter sorszáma 0 (nulla), az első soré pedig a 0 (nulla). Így az lcd.setCursor (0,0) írása a kurzort az első sor első karakterének helyzetére állítja (hasonlóan az lcd.setCursor (0,1) parancs a kurzort az első karakter helyzetére állítja. a másiké vonal. Az lcd.print ("Hello, világ!") Parancs ismerős számunkra - az lcd objektum kinyomtatja a Hello World szöveget! a beállított vonalon. A következő setCursor parancs áthelyezi a kurzort a második sorba, és az utolsó lcd.print parancs kinyomtatja a?.

Megírjuk a programot, lefordítjuk és feltöltjük az Arduino-ra. Ha sehol sem követtünk el hibát, akkor a megfelelő szövegeket látni fogjuk a kijelzőn.

Próbáljuk meg a program utolsó ékezet nélküli szövegét ékezetes szövegre cserélni (pl. Hogy vagy?), Fordítsd le és töltsd fel az Arduino-ra. Milyen karaktereket fogunk látni az LCD kijelzőn? Az á és š karakterek valahogy olvashatatlanok. Az LCD kijelző memóriája ugyanis nem tartalmazza a szlovák karaktereket. De ne aggódj, meg fogjuk győzni a kijelzőt, hogy szépen írjon lágyítóval és hosszúsággal. De legközelebb.