I2C интерфейс на lcd2004A
- Войдите на сайт для отправки комментариев
Ср, 17/02/2016 - 11:53
Всем привет!
Имеется в наличии Ардуино Нано , с подключенным lcd2004A через интерфейс I2C (чип 8574), аппратное прерывание для инициализации дисплея 0х27(определен сканером как 39 десятичное прерывание или 0х27), дисплей работает. При загрузке скетча выводятся только первые символы каждой из 4х строк, причем позиция символа на каждой строке соответствует программному коду. Аналогичные скетчи для других библиотек, в том числе для lcd 1602 работают одинаково. Кто подскажет что может быть.
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Hello, world!");
lcd.setCursor(2,1);
lcd.print("Ywrobot Arduino!");
lcd.setCursor(0,2);
lcd.print("Arduino LCM IIC 2004");
lcd.setCursor(2,3);
lcd.print("Power By Ec-yuan!");
}
void loop()
{
}

Подтягивающие резисторы?
Пробовал на обе линии.
Тогда методом исключения. Подключить дисплей к ардуине традиционным способом, проверить. Дальше смотреть библиотеку, питание, общую землю системы, номинал подтяжки, вдруг скорость высока? Например, у меня такой же дисплей (только без айтуси) меняет местами 2-ю и третью строки....
Предется пробовать, хотя на распаянном интефейсе провода выводить геморно.
я не вникал в суть проблемы, но на форуме это уже примерно пятая тема с отображением одного символа библиотекой LiquidCrystal_I2C
подозреваю, что или библиотека старая или версия Дуино ИДЕ новая - потому как раньше такой проблемы на форуме не наблюдалось.
*пробуй версию arduino-1.6.5-r5 или младше.
Была такая проблема с дисплеем 1602 с i2c переходником, использовал библиотеку "new liquidcrystal" и помогло. Подробнее напишу как доберусь до компа.
я не вникал в суть проблемы, но на форуме это уже примерно пятая тема с отображением одного символа библиотекой LiquidCrystal_I2C
*пробуй версию arduino-1.6.5-r5 или младше.
Ты прав, такая беда после перехода на версию Arduino 1.6.6 и выше. Выводит только первый символ с в строке. Советовали обновить библиотеку LiquidCrystal_I2C. Обновил, но лыжи все равно не поехали. Вернулся на версию 1.6.5 все нормально заработало.
Хотя на форме гдето встречал народ который обновил в Arduino 1.6.7 LiquidCrystal_I2C и все заработало.
К стати вот тут есть решение.
Я так понял надо найти в файле LiquidCrystal_I2C.cpp строки
inline size_t LiquidCrystal_I2C::write(uint8_t value) { send(value, Rs); return 0; }И замениить return 0; на return 1;
Приду домой попробую, а то времени разбираться не було, просто откатился с 1.6.7 на 1.6.5
До подключения новых библиотек работал такой скетч, перебирал прошивку символов.Правда много строк кракозябов.После установки новых библиотек скетч перестал работать
Спасибо!Andrey12,
действительно проблема оказалась в програмном коде, поменял 0 на 1 и скетчи пошли
и в 1 версии библиотеки и во второй.Версия IDE осталась прежней 1.6.7