@AKSELINEK - jeśli masz bibliotekę z BB LCD_I2C_PCF8574 to ona jest gotowa do obsługi wyświetlacza poprzez expander, jedyne co należy sprawdzić, to czy moduł z Arduino ma ta samą kolejność pinów, którą zakłada biblioteka, jeśli tak to jedyną zmianą jaką trzeba wprowadzić to w pliku lcd44780.h włączyć obsługe I2C oraz sprawdzić adres na magistrali i2c jaki ma ustawiony expander
Kod:
// włączenie obsługi magistrali I2C (1 - włączone, 0 - wyłączone)
#define USE_I2C 0
// Adres EXPANDERA
//#define PCF8574_LCD_ADDR 0x70 // PCF8574A gdy A0, A1 i A2 --> GND
#define PCF8574_LCD_ADDR 0x40 // PCF8574 gdy A0, A1 i A2 --> GND
Jeśli będzie wymagana redefinicja pinów expandera to robisz to w tej sekcji tego samego pliku
Kod:
#else
// Tu definiujemy piny ekspandera do których podłączamy sygnały D7..D4 LCD
#define LCD_D7 6
#define LCD_D6 5
#define LCD_D5 4
#define LCD_D4 3
// tu definiujemy piny ekspandera do których podłączamy sygnały RS,RW, E
#define LCD_RS 0
#define LCD_RW 1
#define LCD_E 2
#define LCD_LED 7 // PODŚWIETLENIE LCD
#endif
jeśli pisząc wyświetlać I2C Arduino masz na myśli taki chiński sterownik
to on niestety ma inną kolejność pinów i inny adres na i2c niż domyślnie ma wpisana biblioteka
Oczywiście trzeba także pamiętać o dołączonej bibliotece do i2c ale to chyba oczywiste