LiquidCristal LCD Modul
Az Aduino LiquidCrystal könyvtára alapvetően a Hitachi HD44780 (vagy ezzel kompatibilis) lapkakészletű LCD kijelzőkre lett kifejlesztve. A könyvtár a kijelzőket 4 vagy 8-bites üzemmódban vezérli.
A kijelzők jellemzően
- 2 soros / 16 karakteres (1602)
- 4 soros /20 karakteres (2004)
kijelzésre alkalmasak.
Az LCD-kkel a kommunikáció vagy párhuzamos, vagy soros módon valósítható meg. A párhuzamos megoldás nem igényel I²C álalakító modult és gyorsabb, mint a soros mód, de több IO-t foglal az Arduino kártyán.
A soros kommunikációhoz egy I²C álalakító modulra is szükség van, viszont kevesebb IO-t igényel az Arduino oldalon, és egyszerre több LCD kijelző és egyéb I²C-re csatolható egység is elérhető ezen a kommunikációs csatornán keresztül.
LiquidCristal LCD Modul port kiosztása
pin | jel | külső csatlakozása | funkció |
---|---|---|---|
1 | Vss | táp | grund |
2 | Vdd | táp | tápfeszültség |
3 | V0 | táp | kontraszt-állítás |
4 | RS | MPU | regiszterválasztó jel |
5 | R/W | MPU | írás/olvasás választó jel |
6 | E | MPU | művelet-engedélyező jel |
7-10 | DB0-DB3 | MPU | Négy kétirányú, háromállapotú busz-csatorna. 4-bites átvitel esetén inaktívak. Az Aduino az LCD-knél ezeket a kimeneteket általában nem használja. |
11-14 | DB4-DB7 | MPU | Négy kétirányú, háromállapotú busz-csatorna. |
15 | LED+ | táp | háttérvilágítás LED + |
16 | LED- | táp | háttérvilágítás LED - |
MPU: Vezérlőegység, pl. Arduino
Párhuzamos kommunikáció az LCD-vel
LiquidCristal LCD Modul alapmegoldás (forrás: Fritzing), a kattintva teljes méret
A párhuzamos kommunikációt nem szoktam használni, mert túl sok portot foglal az UNO-n, helyette inkább a sorost preferálom. Mindenesetre a lenti könyvtár mindkét változatra tartalmaz megoldást:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/
Soros (I²C) kommunikáció az LCD-vel
Vezetékezés
Arduino GND ↔ GND
Arduino 5V ↔ 5V
Arduino A4 ↔ SDA
Arduino A5 ↔ SCL
I²C címzés
Ha van az I²C - LCD konverteren cím-jumper, azt az alábbiak szerint lehet beállítani:
A0 | A1 | A2 | HEX cím |
---|---|---|---|
1 | 1 | 1 | 0x27 |
0 | 1 | 1 | 0x26 |
1 | 0 | 1 | 0x25 |
0 | 0 | 1 | 0x24 |
1 | 1 | 0 | 0x23 |
0 | 1 | 0 | 0x22 |
1 | 0 | 0 | 0x21 |
0 | 0 | 0 | 0x20 |
Az LCD-kre esetén az alapértelmezett I²C cím: 0x27.
Az I²C cím megállapításához a konfiguráció összeállítását követően érdemes az I²C scanner-t futtatni.
Az Arduino I²C.
Üzembehelyezés
Az álatalam ajánlott sorrend, nyilván el lehet ettől térni, de lehet, hogy segítséget nyújt:
- I²C modul LCD-re szerelése. Ügyelni kell a lábak sorrendjére, sokszor a modulok egymástól eltérő irányban vannak számozva.
- Arduino és az I²C modul összekötése
- Arduino-ra letölteni az Arduino I²C scanner-t, és tesztelni, hogy megtalálja e a modult.
- Több könyvtár is létezik az LCD-khez, nekem ez vált be: https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c
- Az aktuális (legújabb) könyvtár letöltése, installálása
- LCD vezérlő feltöltése az Arduino-ra, be kell állítani a port paramétereket, a típust (pl. 1602) és az I²C címet.
Speciális karakterek
HD44780 kompatibilis speciális karakterek:
- \40 !
- \41 „
- \42 #
- \43 $
- \44 %
- \45 &
- \50 (
- \51 )
- \52 *
- \53 +
- \54 ,
- \55 -
- \56 .
- \57 /
- \72 :
- \73 ;
- \74 <
- \75 =
- \76 >
- \77 ?
- \100 @
- \134 [
- \136 ]
- \137 accent circonflexe
- \138 _
- \140 accent grave
- \173 {
- \174 függőleges vonal
- \175 }
- \176 →
- \177 ←
- \260 -
- \333 Kastenrahmen
- \337 ° grad
- \340 gr. alpha
- \341 ä
- \342 ß
- \343 epsilon
- \344 µ
- \350 gyök
- \351 kitevő minus 1
- \353 kitevő x
- \356 n hullámvonallal (spanyol)
- \357 ö
- \363 ∞
- \364 Ohm
- \365 ü
- \366 ∑
- \367 π
- \371 u egy vonallal a jobb alsó sarokban
- \375 osztva
- \377 minden fénypont be van kapcsolva