Дисплей lcd 1602 отображает не все символы
- Войдите на сайт для отправки комментариев
Втр, 15/03/2016 - 01:22
Здравствуйте. Имеется дисплей lcd 1602 с припаянным к нему модулю, у которого имеется 4 вывода gnd, vcc, sda, scl. Дисплей отображает не все символы. Код и фото предоставляю ниже.
#include Wire.h #include LiquidCrystal_I2C.h LiquidCrystal_I2C lcd(0x3F,16,2); // устанавливаем адрес 0x27, и дисплей 16 символов в 2 строки (16х2) int interval = 0; void setup() { lcd.init(); // инициализация LCD lcd.backlight(); // включаем подсветку lcd.clear(); // очистка дисплея lcd.setCursor(4, 0); // устанавливаем курсор на 1 строку, 4 символ lcd.print("cxem.net"); // вывод надписи lcd.setCursor(1, 1); // устанавливаем курсор на 2 строку, 1 символ lcd.print("count:"); lcd.setCursor(8, 1); // устанавливаем курсор на 2 строку, 8 символ lcd.print(interval); } void loop() { delay(500); interval++; lcd.setCursor(8, 1); lcd.print(interval); }Дисплей подключаю к 5В и GND arduino uno, SDA к A4, SCl к A5.
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
SergeyAndSmart, как подключены sda, scl?
Бывает после загрузки скетча или ресета экран выдаёт бред, помогает выдёргивание питания.
И вот ещё..
В коменте указано что адрес в Hex 0х27, почему у вас 0х3F?
И вот ещё..
В коменте указано что адрес в Hex 0х27, почему у вас 0х3F?
Думаю с адресом тут будет все нормально. В примере по умолчанию стоит 0х27, а на самом деле 0х3F. Я бы попробовал заменить библиотеку. Была такая же трабла, после замены библиотеки все заработало. В общем был конфликт библиотек.
SergeyAndSmart, как подключены sda, scl?
Бывает после загрузки скетча или ресета экран выдаёт бред, помогает выдёргивание питания.
И вот ещё..
В коменте указано что адрес в Hex 0х27, почему у вас 0х3F?
И вот ещё..
В коменте указано что адрес в Hex 0х27, почему у вас 0х3F?
Думаю с адресом тут будет все нормально. В примере по умолчанию стоит 0х27, а на самом деле 0х3F. Я бы попробовал заменить библиотеку. Была такая же трабла, после замены библиотеки все заработало. В общем был конфликт библиотек.
Бывает надо подобрать библиотеку они вроде одинаковые, но чуть разные... Конфликтовать могут, бывает даже IDE глючит, вроде самая стабильная 1.0.5.
Sda к A4, Sdl к A5.
А подтягивающие резисторы есть по питанию?
Крайний случай можно попробовать поменять контакты местами.
И проверять лучше, да и удобнее примером из самой библиотеки. Преведом или перебором всех символов. Это что бы исключить ошибки своего кода.
Бывает надо подобрать библиотеку они вроде одинаковые, но чуть разные... Конфликтовать могут, бывает даже IDE глючит, вроде самая стабильная 1.0.5.
Sda к A4, Sdl к A5.
А подтягивающие резисторы есть по питанию?
Крайний случай можно попробовать поменять контакты местами.
http://robotosha.ru/electronics/interface-i2c.html
Интерфейс I2C использует всего две линии — они именуются SCL (Serial Clock) и SDA (Serial Data). Первая предназначена для передачи синхроимпульсов (они формируются тем устройством, которое в настоящий момент передает данные), а вторая — для передачи самих данных и команд, управляющих этим процессом. Обе линии имеют открытый коллектор (как и во многих других случаях, когда необходимо, чтобы к одной линии мого подключаться несколько различных устройств), поэтому требуют подключения «подтягивающих» резисторов сопротивлением 1-10 кОм.
Обычно для нескольких устройств, но лишними не будут.
Проблема в версии IDE и библиотеке обсуждалась не один раз на этом форуме.
В новой https://github.com/marcoschwartz/LiquidCrystal_I2C проблема автором устранена.
Очень странная ситуация, подключил на линии SDA и SCL по резистру на 1кОм, библиотеку взял с гитхаба, которую дал JasKo. Дисплей отображает текст правильно, потом я дотрагиваюсь до экрана и вместо текста появляются 16 прямоугольников. Отключал питание дисплея, линии SDA и SCL, ребутил ардуино, перезаписывал скетч, символы опять пропали. Сейчас пока не удается вернуть их. Я правильно понимаю, что дело в контактах дисплея? И возможно сам модуль к нему припаян криво?
Странно, сейчас опять все заработало. И опять пропало( Т.е. до дисплея вообще касаться нельзя? Я случайно надавил на него. Прошло полчаса, текст так и не отображается.
Т.е. до дисплея вообще касаться нельзя? Я случайно надавил на него. Прошло полчаса, текст так и не отображается.
частями тела, растущими из жопы, дисплея касаться нельзя.
Не трогая дисплей, заменил текст, который нужно вывести на экран, появились какие-то иероглифы( То ли дисплей чудит, то ли IDE. Очень интересно, просто перезагружая арду, текст меняется и выводится нужный иногда.
Все работает, спасибо за помощь.
Большинство I2C переходников для LCD _уже_ имеют резисторы, подтягивающие SDA и SCL линии к питанию, как правило 4.7 кОм. Если вы подсоединили еще в параллель имеющимся резисторы по 1 кОм ... Тяжело прийдется I2C шине.
Большинство I2C переходников для LCD _уже_ имеют резисторы, подтягивающие SDA и SCL линии к питанию, как правило 4.7 кОм. Если вы подсоединили еще в параллель имеющимся резисторы по 1 кОм ... Тяжело прийдется I2C шине.
Большинство I2C переходников для LCD _уже_ имеют резисторы, подтягивающие SDA и SCL линии к питанию, как правило 4.7 кОм. Если вы подсоединили еще в параллель имеющимся резисторы по 1 кОм ... Тяжело прийдется I2C шине.
Кроме этого если питаешь ардуину от USB, а экран запитан от ардуины, то иегорлифы будут появляться 100 %. Делай нормальное питание.
Большинство I2C переходников для LCD _уже_ имеют резисторы, подтягивающие SDA и SCL линии к питанию, как правило 4.7 кОм. Если вы подсоединили еще в параллель имеющимся резисторы по 1 кОм ... Тяжело прийдется I2C шине.
Кроме этого если питаешь ардуину от USB, а экран запитан от ардуины, то иегорлифы будут появляться 100 %. Делай нормальное питание.
Проблема в версии IDE и библиотеке обсуждалась не один раз на этом форуме.
В новой https://github.com/marcoschwartz/LiquidCrystal_I2C проблема автором устранена.
Спасибо . Помогло !!!