Баг при выводе на LCD 1604 через i2c

В данный форум Вы можете заносить найденные Вами ошибки.При добавления ошибки пожалуйста приложите файлик error.log который находится в папке с установленной программой
Ответить
dest
Рядовой
Сообщения: 5
Зарегистрирован: 07 июл 2018, 14:42
Имя: Олег

Баг при выводе на LCD 1604 через i2c

Сообщение dest »

Здравствуйте! Столкнулся со странным багом на LCD 1604(контроллер HD44780), подключение через модуль i2c, вывод текста во всех строках с 1-го символа .
При выводе 3 и 4 строки происходит сдвиг позиции первого символа на 4 знака вправо в обоих строках. При этом первые две строки выводятся корректно.

Изображение

Попробовал ради интереса вывести текст на ЖКИ написав простенький код - та же проблема, поменял переходник i2c - никакого эффекта. В итоге указал в коде позицию первых символов для 3 и 4 строк, как -4, и все стало отображаться корректно, с первого символа.

Изображение

Возможно ли как то исправить этот баг, что бы при формирование кода чрез FLProg, корректно отображался текст на LCD1604 через i2c ?

Текстовый пример кода, с которым все отображается корректно:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3f,16,4);
//* Задаем адрес и размерность дисплея.

void setup()
{
lcd.init(); // Инициализация
lcd.clear ();
delay (500);
lcd.backlight(); // запускаем подсветку
lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки, как обычно
lcd.print("LCD"); // Выводим текст
lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки, как обычно
lcd.print("1604"); // Выводим текст
lcd.setCursor(-4, 2); // Устанавливаем курсор в начало 3 строки, на -4 символа
lcd.print("HD44780"); // Выводим текст
lcd.setCursor(-4, 3); // Устанавливаем курсор в начало 4 строки, на -4 символа
lcd.print("problem"); // Выводим текст
}

void loop()
{
}
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Баг при выводе на LCD 1604 через i2c

Сообщение Sancho »

[ref]dest[/ref], Картинок нет, проекта тоже.
О таком слышу впервые.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dev1
Майор
Сообщения: 1045
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас
Поблагодарили: 3 раза

Баг при выводе на LCD 1604 через i2c

Сообщение Dev1 »

Ну тут все просто, потроха расчитаны под дисплей 2004, вопщем китайцы как обычно слепили как могли, это только на i2c :D
Вот пример проблемы, в последних сообщениях найдете ответ :smile38:
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x :shok:
dest
Рядовой
Сообщения: 5
Зарегистрирован: 07 июл 2018, 14:42
Имя: Олег

Баг при выводе на LCD 1604 через i2c

Сообщение dest »

[ref=#ff8000]Sancho[/ref], картинки прикрепил как ссылку, чтобы не засорять форум,можно просто щелнкуть по иконе картинки ПКМ, "открыть URL картинки в новом окне",странно что на форуме миниатюра картинки не отобразилась. На всякий случай прикрепил картинки отдельными файлами к этому сообщению.

Проект не прикреплял, потому, что в нем кроме 4х блоков LCD с вбитыми константами - ничего нет. На всякий случай также прицеплю его к этому сообщению, он голый без какой либо логики, однако проблема видна при заливке в контролер .
[spoiler]
2.jpg
1.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Баг при выводе на LCD 1604 через i2c

Сообщение Sancho »

[ref]dest[/ref], [ref]Dev1[/ref] уже всё расписал.
Не знал я о такой заморочке - не попадался 16 на 4...
Лечи библиотеку.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
dest
Рядовой
Сообщения: 5
Зарегистрирован: 07 июл 2018, 14:42
Имя: Олег

Баг при выводе на LCD 1604 через i2c

Сообщение dest »

[ref]Dev1[/ref], спасибо за ответ! попробую LiquidCrystal_I2C.cpp отредактировать
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

Баг при выводе на LCD 1604 через i2c

Сообщение nalnik »

Dev1 писал(а): 16 янв 2019, 14:36Ну тут все просто, потроха расчитаны под дисплей 2004, вопщем китайцы как обычно слепили как могли, это только на i2c :D
Вот пример проблемы, в последних сообщениях найдете ответ :smile38:
Я такие дисплеи (16х4) покупал в Чип и Дип с 1998 по 2002 работали и работают отлично до сих пор, сейчас еще остались у меня три штуки и также смещается информация и с UNO и с NodeMCU v3 - на flproge 3-0 и 4-2-4.
Так и не надо гнать на Китайцев -- "библиотекари" просто не знают что такие дисплеи были и еще иногда продаются! :smile113:
Последний раз редактировалось nalnik 16 янв 2019, 15:33, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.
dest
Рядовой
Сообщения: 5
Зарегистрирован: 07 июл 2018, 14:42
Имя: Олег

Баг при выводе на LCD 1604 через i2c

Сообщение dest »

Отредактировал метод send в файле LiquidCrystal_I2C.cpp, теперь все работает замечательно.
Выкладываю сюда исправленный файлик, мало ли кто столкнется с такой же проблемой в будущем.

-------------
Вкратце:
Заменяем исходный файл на скачанный в директории: FLProg\ideV2\libraries\LiquidCrystal_I2C\
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dev1
Майор
Сообщения: 1045
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас
Поблагодарили: 3 раза

Баг при выводе на LCD 1604 через i2c

Сообщение Dev1 »

nalnik писал(а): 16 янв 2019, 14:56 Я такие дисплеи (16х4) покупал в Чип и Дип с 1998 по 2002 работали и работают отлично до сих пор, сейчас еще остались у меня три штуки и также смещается информация и с UNO и с NodeMCU v3 - на flproge 3-0 и 4-2-4.
Так и не надо гнать на Китайцев -- "библиотекари" просто не знают что такие дисплеи были и еще иногда продаются! :smile113:
Вы наверное брали с чип и дипа фирмы Powertip, тот же хрен(китайский) только тайваньский. :D Щас их выпускают кому не лень...
А библиотеки обычно делают под широко распространенные форматы, под остальные делают либо форки, либо стучатся к автору чтоб добавил, ну такое себе удовольствие. А в пром устройствах никто не использует библиотеки... :fie:
У меня лежат цветные тфт дисплеи квадратные, тоже сдвиг идет, рассчитана библа на прямоугольные экраны. Правлю ручками... :smile171:
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x :shok:
Ответить

Вернуться в «Новые»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость