Я начинающий ардуинщик и начал эксперименты с LCD. Сначала попробовал соединить LCD1602 c Arduino напрямую, все заработало нормально. Теперь, чтобы освободить порты на Arduino, решил подключить LCD через расширитель портов PCF8574AT. Собрал схемку, через сканер портов I2C определил порт расширителя, взял готовый скетч, чуть его подправил, запустил и ... не работает. Что я делаю не так?
Код: Выделить всё
#include <LiquidCrystal_I2C.h> // Подключаем библиотеку для работы с LCD дисплеем по шине I2C
#define RS 2
#define ENABLE 3
LiquidCrystal_I2C lcd(0x20,16,2); // Объявляем объект библиотеки, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2)
// Если надпись не появилась, замените адрес 0x27 на 0x3F
void setup()
{
pinMode(RS, OUTPUT); // \
digitalWrite(RS, LOW); // \
// > Этот код добавил я
pinMode(ENABLE, OUTPUT); // /
digitalWrite(ENABLE, LOW); // /
lcd.init(); // Инициируем работу с LCD дисплеем
lcd.backlight(); // Включаем подсветку LCD дисплея
lcd.setCursor(0, 0); // Устанавливаем курсор в позицию (0 столбец, 0 строка)
lcd.print("LCD"); // Выводим текст "LCD", начиная с установленной позиции курсора
lcd.setCursor(0, 1); // Устанавливаем курсор в позицию (0 столбец, 1 строка)
lcd.print("arduino-tex.ru"); // Выводим текст arduino-tex.ru, начиная с установленной позиции курсора
} //
//
void loop(){} // Код внутри функции loop выполняется постоянно. Но так как мы выводим статичный текст, нам достаточно его вывести 1 раз при старте, без использования кода loop

