Страница 1 из 1
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 24 янв 2017, 22:27
Denis111
Долго не мог заставить работать LCD 16х2 дисплей с модулем I2C, перепробовал кучу библиотек и версий IDE Arduino. Наконец он заработал на IDE версии 1.6.4 с библиотекой LiquidCrystal_I2C
Но когда FLProg выгружает файл в среду IDE Arduino, мне каждый раз приходится вручную менять две строчки, иначе дисплей не работает:
В самом начале, где подключаются библиотеки и описываются переменные
LiquidCrystal_I2C _lcd1(0x27, 16, 2);
заменяю на
LiquidCrystal_I2C _lcd1(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
И в установках void setup()
_lcd1.init();
заменяю на
_lcd1.begin(16,2);
В таком виде программа нормально работает с дисплеем. Не знаю, это может у меня такой дисплей или в FLProg недоработка?
У меня FLProg стоит версии 2.1.0, гляжу появилась новая, но как то я опасаюсь менять, т.к. боюсь что опять начнутся проблемы с дисплеем
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 25 янв 2017, 19:24
slavas
В старых версиях программ проблем с экраном не было, в последней нужно применять патч.
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 25 янв 2017, 21:30
Nikito$
Почитай тут
http://flprog.ru/news....-07-55. И все же, советую обновиться.
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 12 янв 2018, 21:49
Golan
Весь день сегодня промучался с дисплеями HD44780 по I2C, их 4, сегодня получил, специально брал 3 в сборе с I2C, один раздельно.
Что только не делал, ни один не начал показывать, что нибудь, сомневаюсь что все с браком, попробовал вариант как в первом посте, прошло, только без POSITIVE, на дисплее в первой строке последний строке мигает одна ячейка и все.
И ардуино переустановил, начинал с 1.6.4, и все версии ФЛПрог попробовал, нифига.
Шину сканировал, и вручную и с файла адрес ставил, все безрезультатно.
Ткните носом где почитать, весь форум облазил.
Спасибо.
[spoiler]
1.jpg
2.jpg
[/spoiler]
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 12 янв 2018, 22:34
Sancho
название мс на плате I2C, буквы после 4.
Проверка стандартными скетчами?
Что говорит сканер I2C? Адреса.
Схема подключения!!! Проверить 7 раз. Питание 5 вольт, 3.3 не катит.
Который без шины, через кучу пинов - такая же история?
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 01:46
Golan
название мс на плате I2C, буквы после 4. -
на припаянных, в том числе мной 4Т, а есть два отдельно брал, на них 4АТ
Проверка стандартными скетчами? -
всеми, даже банально вытаскивал и подправлял (удалял лишнее) с готовых скетчей
Что говорит сканер I2C? Адреса. -
27 как на фото выше
Схема подключения!!! Проверить 7 раз. Питание 5 вольт, 3.3 не катит. -
тут не ошибусь, до подключения проверил 100 раз
Который без шины, через кучу пинов - такая же история? -
к сожалению так не пробовал, после мороки с готовыми, припаял I2C.
Отправлено спустя 2 часа 26 минут 18 секунд:
Ерунда какая то.
Почитал статейку
http://arduino-info.wikispaces.com/LCD-Blue-I2C#v3
Установил библиотечку
Newliquidcrystal_1.3.5.zip
Скетч
[spoiler]#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
void setup()
{
lcd.begin(16,2);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello World!");
lcd.setCursor(8,1);
lcd.print("You Luser");
}[/spoiler]
Заработали все дисплеи, попробовал запустить из программы, хренушки
Это в ардуино
SAM_2833.JPG
Сутки, ну это нормально
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 09:13
Sancho
[ref]Golan[/ref], можно фото Вашей платы I2C и дисплея со стороны маркировки выводов.
Мне кажется, идёт не стыковка по пинам между платами в стандартной, зашитой в IDE, библиотеке и у Вас.
Здесь-же Вы явно указываете, где и что расположено.
[spoiler=Распиновка]
Код: Выделить всё
LiquidCrystal_I2C
(uint8_t lcd_Addr, uint8_t En, uint8_t Rw, uint8_t Rs,
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7,
uint8_t backlighPin, t_backlighPol pol);
lcd_Addr[in] I2C address
En[in] LCD En (Enable)
Rw[in] LCD Rw (Read/write)
Rs[in] LCD Rs (Reset)
d4[in] LCD data 0
d5[in] LCD data 1
d6[in] LCD data 2
d7[in] LCD data 3
[/spoiler]
Нужно запомнить, не было таких случаев, всегда покупались и попадались только такие
[spoiler]
IIC-I2C-LCD1602-2004.jpg
[/spoiler]
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 11:22
Golan
Извините за долгий ответ, до 11 часов я не могу попасть на форум, выскакивает идентификация в админку, замучил этот баг или как его там
Фото без проблем, но распиновка как и на Вашем фото.
А попробовал с разными модулями, перепаивал, и 4Т и 4АТ
SAM_2833.JPG
Мне вот интересно, почему напрямую с Ардуино скетч работает при одной и той же библиотеке, а если скетч грузится с программы, то тишина, вернее ошибка?
Библиотеку оставил одну (NewliquidCrystal) с ФЛПрог ошибка в _lsd1.init();, если поставлю рядом библиотеку LiquidCrystal_I2C, то прогружается нормально, но дисплей молчит
1.jpg
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 11:23
Sancho
Взял новый дисплей(только получил) 2004, припаял платку с 8574А.

И тоже ломаю мозг

P.S. Когда грузится из программы ошибка из-за другой библиотеки - там иначе сделана инициализация, посмотрите внимательно, увидите.
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 11:41
Golan
Спасибо, я вижу, что только не менял в кодах, но я в них разбираюсь как гаишник в законах

, надеюсь что это только пока.
А как понять ИЗ-ЗА другой, у меня одна сейчас стоит?
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 12:45
Sancho
Golan писал(а): 13 янв 2018, 11:41А как понять ИЗ-ЗА другой, у меня одна сейчас стоит?
Программа FLProg инициализирует другую библиотеку, объявляет объекты по-другому, разные команды:
1. как в посте 7, для биб-ки из поста 6; объявление и xx.begin(16, 2); инициализация
2. LiquidCrystal_I2C _lcd1(0x3F, 20, 4); xx.init(); объявление и иниц. для родной, встроенной
Мой случай - всех учу, а на просевшем питании сам попался
Всё работает.
Отправлено спустя 16 минут 21 секунду:
Просмотрел библиотеки, встроенную и новую, предложенную [ref]Golan[/ref], Newliquidcrystal_1.3.5.zip.
Если используется платы с 8574 как на фото выше, и объявление выглядят как
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
то никаких отличий я не нашёл.
Попробуйте всё-таки вернуть назад библиотеку и загрузитесь заново из FLProg.
В чудеса в электронике не верю. В Глюки - да.

Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 19:41
Golan
То есть использовать LiquidCrystal_I2C ?
Я сейчас полностью вычищу все следы Ардуино и FLProg и все с чистого листа поставлю, но что то мне чутье подсказывает ничего не измениться.
Спасибо большое
Отправлено спустя 5 часов 59 минут 57 секунд:
[ref]Sancho[/ref], должен Вам выразить огромную благодарность за оказанную помощь, хотя я так и не понял почему сторонняя библиотека мешала работе дисплея.
Как я понял что если я, не дай бог, установлю какую нибудь библиотеку LiquidCrystal_I2C, помимо уже имеющейся, то получу тот же геморрой, который мучил прошлые сутки?
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 19:57
Sancho
Golan писал(а): 13 янв 2018, 19:41если я, не дай бог, установлю какую нибудь библиотеку LiquidCrystal_I2C, помимо уже имеющейся, то получу тот же геморрой, который мучил прошлые сутки?
У каждой биб-ки свой "диалект", наречие, язык, команды так сказать.
И когда Вы пытаетесь с ними говорить по другому - они Вас не понимают, компилятор ругается из-за невозможности сопоставить, что Вы говорите и что они понимают.
Образно говоря.
Работа с LCD дисплей на HD44780 по I2C
Добавлено: 13 янв 2018, 20:03
Golan

Я вас понял, еще раз благодарю, да пребудет с Вами сила!