- sterowanie wyświetlaczem OLED 2×16 za pośrednictwem magistrali I2C,
- umożliwia ustawienie 1 z 7 adresów na magistrali,
- pracuje poprawnie w zakresie napiecia zasilania 3,3...5 V.
Zaprezentowany moduł umożliwia sterowanie wyświetlaczem OLED 2×16 za pośrednictwem magistrali I2C. Dzięki dodatkowym układom pracuje poprawnie w zakresie napiecia zasilania 3,3...5 V i doskonale sprawdza się w prototypowaniu zarówno przy użyciu Raspberry Pi, jak i z klasycznym Arduino.
Budowa i działanie
Schemat układu został pokazany na rysunku 1. Magistrala I2C poprzez złącza I2C1...I2C4, zapewniające zgodność z typowymi zestawami uruchomieniowymi, doprowadzona jest do układu U3, ekspandera I/O typu PCF8574. Jako wyświetlacz wybrano łatwo dostępny moduł EA W162-X3LG zasilany z 5 V i pracujący w trybie 4-bitowym zgodnym z HD44780. Aby zapewnić zgodność z systemami 3,3 V płytka zawiera wbudowaną przetwornicę U2 typu MCP1253 zapewniającą zasilanie 5 V dla wyświetlacza, przy napięciu wejściowym w zakresie 3,3...5 V.
W dość nietypowej roli zastosowany jest układ U2 izolatora I2C typu ADUM1251. Konieczność konwersji poziomów logicznych 3,3/5 V, w sytuacji gdy napięcie zasilania wynosi 5 V, nie pozwala spełnić warunku różnicy napięć pomiędzy stronami układu translatora. Większość translatorów poziomów pracuje w tej sytuacji niepoprawnie, a w skrajnym wypadku może ulec uszkodzeniu. Izolacja galwaniczna stron U1 pozwala uniknąć tego zagrożenia i ułatwia zastosowanie tylko jednego typu wyświetlacza w systemach 3,3/5 V, co jest szczególnie istotne podczas prototypowania, ponieważ moduły OLED nie należą do najtańszych.
Jeżeli moduł będzie stosowany w systemach jedno napięciowych można nie montować układów U1, U2, a w ich miejsce wlutować zwory ZW1...3, a wyświetlacz wybrać wśród modeli zasilanych z 3,3 V (WEH001602AWPP3N) lub 5 V (WEH001602AWPP3N lub EA W162-X3).
Montaż i uruchomienie
Moduł został zmontowany na dwustronnej płytce drukowanej, której schemat wraz z rozmieszczeniem elementów pokazano na rysunku 2. Montaż jest typowy i nie wymaga szczegółowego opisu. Do połączenia z wyświetlaczem można użyć listwy i gniazda SIP. Wtedy możliwe jest łatwe rozłączenie i wymiana współpracującego wyświetlacza. W modelu zastosowano typowy najczęściej używany wyświetlacz OLED wlutowany przy pomocy listwy SIP bezpośrednio do płytki ekspandera.
Poprawnie zlutowany moduł nie wymaga uruchamiania. Zworami ADR należy ustawić wymagany w aplikacji adres ekspandera. Szybkiego sprawdzenia można dokonać przy pomocy przy pomocy Raspberry Pi i ibliotek dostępnych w sieci (i2c_lcd.py). W przypadku niektórych bibliotek może być konieczna edycja procedur odpowiadających, za inicjację wyświetlacza po włączeniu zasilania, gdyż pomimo deklarowanej zgodności z HD44780 zdarzają się problemy z prawidłowym wyświetlaniem.
Adam Tatuś, EP
- R1…R4: 4,7 kΩ
- R5…R7: 10 kΩ
- C1, C2, C6, C7: 0,1 µF
- C3, C4: 10 µF
- C5: 1 µF
- U1: ADUM1251ARZ (SO8)
- U2: MCP1253 (MSOP8)
- U3: PCF8574T (SO16W)
- ADR: złącze IDC6 + zwora
- I2C1: złącze JST 1 mm
- I2C2: złącze PH 2 mm
- I2C3: złącze SIP4 2,54 mm
- I2C4: złącze Grove proste 110990030
- LCD: złącze SIP14
- ZW1…ZW3: zworka SMD0402