Schemat modułu LCD_Expander pokazano na rysunku 1.
Zajmujący sporo wyprowadzeń mikrokontrolera wyświetlacz LCD jest dołączony za pomocą ekspandera I/O z interfejsem I²C – PCF8574 U1). Wyświetlacz pracuje w trybie 4-bitowym, dodatkowo jest możliwe sterowanie podświetleniem ekranu. Aplikacja układu U1 jest typowa, uzupełniają ją zwory ADR konfigurujące adres, co umożliwia współpracę kilku modułów wyświetlaczy na wspólnej magistrali. Zwory PU umożliwiają załączenie zasilania linii I²C. Potencjometr RV1 służy do ustawienia kontrastu LCD.
Moduł jest zgodny ze standardem ARDuino I²C. Sygnały magistrali i zasilanie doprowadzone są do 4-pinowego złącza typu EH – I²C. Moduł jest zasilany napięciem 5 V, kondensatory C2 i CE1 filtrują napięcie zasilające. Złącze J1 powiela magistralę I²C, by można było ją prowadzić pomiędzy modułami typowym kablem SIP4 1:1. Uwaga: niektóre fabryczne kable maja przeplot 1-4,2-3, aby je wykorzystać należy zamienić kolejność wyprowadzeń w jednym złączu EH. Stosując wyświetlacz LCD na napięcie 3,3 V można układ zasilać z niższym napięciem.
LCD_Expander jest zmontowany na dwustronnej płytce drukowanej. Rozmieszczenie elementów pokazano na rysunku 2.
Montaż jest typowy i nie wymaga opisu. Do połączenia z wyświetlaczem można użyć listwy i gniazda SIP. Wtedy staje się możliwe łatwe rozłączenie i wymiana współpracującego wyświetlacza. W modelu zastosowano typowy, najczęściej używany wyświetlacz 2×16 (5 V) wlutowany za pomocą listwy SIP bezpośrednio do płytki ekspandera.
/*****************************
* TEST LCD_Expander PCDF8574
****************************/
#include <Wire.h>
#include <LiquidCrystal_I²C.h>
LiquidCrystal_I²C lcd(0x38,16,2);
// wyświetlacz 16 x 2
// ustawienie 0x38 dla PCF8574A wszystkie adresy 0=GND
// ustawienie 0x20 dla PCF8574 wszystkie adresy 0=GND
void setup()
{
lcd.init()
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0); lcd.print(“LCD_Expander”);
lcd.setCursor(0, 1); lcd.print(«AVTDuino»);
}
void loop()
{
}
Na listingu 1 zamieszczono program, który umożliwia łatwe przetestowanie modułu.
Adam Tatuś, EP
- R1…R3, R5…R7: 10 kΩ (SMD 0805)
- R8: 100 Ω (SMD 0805)
- RV1: 10 kΩ (pot. montażowy)
- C1, C2: 0,1 µF (SMD 0805)
- CE1: 10 µF (SMB)
- Q1: BC807 (SOT-23)
- U1: PCF8574P
- ADR, PU: Złącze IDC10
- DISP: Złącze SIP16
- I²C: Złącze EH4 kątowe
- J1: Złącze SIP