Dodatki‎ > ‎

LCD-I2C

Wyświetlacze LCD (alfanumeryczne) są chętnie używane w projektach mikrokontrolerowych, zwykle są to moduły 2x16 znaków. Do sterowania potrzeba aż 8 lub nawet 12 linii (GPIO) + 2 przewody zasilające (GND, +5V). Większe moduły (4x20 znaków) mogą przy tym całkiem sporo kosztować (ok. kilkudziesięciu zł).
Z drugiej strony, stare drukarki laserowe mogą posłużyć jako 'dawcy organów' - przykładem jest moduł DMC-50461N stosowany w niektórych laserówkach Lexmark. 
Zalety: wystarczą zaledwie 4 przewody (GND, +5V, SDA, SCL); duża pojemność wyświetlacza (4x20 znaków).
Wady: brak jakiejkolwiek dokumentacji; brak podświetlenia.

Magistrala I2C jest o tyle interesująca, że do 2 linii (SDA, SCL) można podłączyć jednocześnie wiele różnych urządzeń, o ile tylko mają różne adresy. Większość uC wspiera ten interfejs, jednak jego oprogramowanie jest karkołomne.

Dla pobudzenia apetytu załączam zdjęcie uruchomionego modułu LCD - widać na nim, że faktycznie wystarczają 4 przewody. Całość działa pod kontrolą CFV1.BASE. Głównym wyzwaniem było uruchomienie I2C i zgadywanie, co należy wysyłać i odbierać przez to I2C (brak dokumentacji do LCD!).
Zabawę z I2C najlepiej rozpocząć od sprawdzonych, dobrze udokumentowanych układów, polecam tutaj np. PCF8574A (ekspander 8-bitowy) lub FM75 (cyfrowy czujnik temperatury). 
Po zdobyciu pewnego doświadczenia można pokusić się o zabawę z opisywanym LCD.
Ciekawostkę stanowi możliwość użycia przycisków dostępnych na pokładzie LCD (ale nie są one zbyt ergonomiczne).

Łatwiejszym zadaniem (z punktu widzenia programowania) jest wylutowanie specjalizowanego sterownika z płytki DMC-50461N i przylutowanie w jego miejsce 8+2 kabelków, a następnie podłączenie ich do portu D (który zresztą specjalnie został umieszczony jako odrębne złącze rozszerzeń z zasilaniem +5V).
Dokumentacja kontrolera LCD jest możliwa do zdobycia (aczkolwiek nie jest to jakiś bardzo popularny układ), zaś zasada działania i sterowanie jest podobne do popularnych rozwiązań na bazie układów Hitachi HD44780.
ą
Krzysztof Urbański,
12 kwi 2012, 17:19