{{ :wiki:arduino:lcd1602.jpg?200|LiquidCristal LCD Modul}} ====== 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 [[hu:comm:bus_i2c#i2c|I²C]] álalakító modult és gyorsabb, mint a soros mód, de több IO-t foglal az Arduino kártyán. {{:wiki:arduino:lcd_serial_vs_parallel.png?400|párhuzamos, vagy soros kommunikáció az LCD-vel}} A soros kommunikációhoz egy [[hu:comm:bus_i2c#i2c|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 [[hu:comm:bus_i2c#i2c|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 ===== {{:wiki:arduino:lcd_alap.png?300|LiquidCristal LCD Modul alapmegoldás}} \\ 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 ===== {{anchor:arduino_i2c_lcd}} {{:wiki:arduino:lcd_i2c.png?300|LiquidCristal LCD és I²C Modul}} \\ LiquidCristal LCD és I²C Modul (forrás: Fritzing), a kattintva teljes méret ==== 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 [[hu:arduino:comm#arduino i2c|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 [[hu:arduino:soft_basic#i_c_scanner|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 ==== Források ==== https://arduino-info.wikispaces.com/LCD-Blue-I2C