Еще один вопрос по LCD 1602

sds
Offline
Зарегистрирован: 29.10.2012

 День добрый, всем

Вопросов по подключению LCD 1602 не мало, но свего не нашел. Прошу помочь в решении проблемы.

Итак, есть 2 устройства с экранчиками. Одно разведено на печатке (ATmega 328), второе, для проверки/тестов сделано на макетке (Arduino UNO). Устройства примитивные по своей сути и содержат только подключения датчика и экрана для выводов показателей.

Началось все с того, что устройство на печатке не показывало на экране данные. Верхняя строка была в квадратиках (об этом много на форуме есть). Победить пока не смог, решил потестить на макетке и вот что получается ...

Подключаем стандартным образом экранчик по схеме http://arduino.cc/en/Tutorial/LiquidCrystal (отличия у меня только в подключении LED+ и LED-) и загружаем тестовый скетч. Экран работает, все нормально показывает, но ... если отключить питание и снова запитать устройство, то верхняя строка снова в квадратиках и помогает ее исправить только новая заливка скетча - снова начинает показывать нормально.

Думал, что каким-то образом слетает скет, но дублированный вывод в сериал показывает, что программа есть и работает нормально, а нет только отображения на экранчике.

Сталкивался ли кто с такой проблемой? Свои мысли пока кончились, поэтому прошу помощи у общества.

PS: Offtopic отсуществующей темы, но ... по ходу обнаружена еще одна особенность, если запитываться от USB при рабочем компьютере (выход от монитора). Примерно каждые 30 сек ардуина уходит в ребут. Если компьютер выключить, то работает стабильно (ждал 10 часов - ни одного ребута). Моя проблема проявляется и при питании от USB и при внешнем питании

 

Спасибо

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

У Вас не отрабатывае ресет при включении питания. "запуск" индикатора делается 1 раз после ресета. При заливке скетча комп сам дергает за ресет. Вам же остается или нажать на ресет после включения питания, или повесить конденсатор с резистором на ресет (если их там нет). 

sds
Offline
Зарегистрирован: 29.10.2012

 Конденсатора с резистором действительно нет. 

А кнопка Reset ардуины не меняет ситуацию с отображением, т.е. сама дуина перезапускается, а квадратики на экране остаются

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

 По аналогии у меня такая же ситуация, при заливке скетча на дисплее ничего не отображалось кроме квадратиков или иероглифов, убив на это 3 часа все бросил, спустя час после отключени  дуино от питания заново подключил его к питанию через USB компьютера, при этом комп выключен. На экране отобразилась надпись залитая, после отключения питани и повторного включения перез пару минут на дисплее только квадратики.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

sds пишет:

 Конденсатора с резистором действительно нет. 

А кнопка Reset ардуины не меняет ситуацию с отображением, т.е. сама дуина перезапускается, а квадратики на экране остаются

Странно... При запуске дуина должна посылать инициализацию в индикатор. У меня никогда сбоев не было.

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

А может быть проблема в китайском lcd?

sds
Offline
Зарегистрирован: 29.10.2012

>> А может быть проблема в китайском lcd?

Пока склоняюсь к своим кривым рукам и не знанию каких-то основ. Уж слишком примитивная ситуация.

Я тестил на 2-х экранчиках: один заказн на ebay и гарантированно Китайский, второй пришел в наборе аля starter kit (происхождение не подскажу сейчас). Есть еще наш МЛТ (http://amperka.ru/collection/LCD-LED/product/Tekstovyy-ekran-16%C3%972). Проверю-ка на нем еще вечером ...

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

 мой тоже стартер кит прямиком из китая, а где посмотреть наличие резистора и кондера? чтотоя не особо в электронике

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

резистор и конденсатор - это цепь сброса, смотреть на схеме ардуино и на плате. Можно "замутить" свой, ибо вывод "reset" выведен наружу. 

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

 А кнопка "reset", это тоже сброс? Зачем тогда свою делать?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Я же не предлагаю делать свою кнопку! 

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

 Ладно шуть с ним с ресетом, буду с дисплеем разбираться, пропаяю на нем все ноги заново подключу там и посмотрим, просто после повторного включения монитор остается в  тестовом режиме

Engineer
Offline
Зарегистрирован: 29.10.2012

Специально для сообщения зарегестрировался :)

Как вариант проверить внимательно штырьковые разьемы (все) на дисплее.

Я с такой проблемой инициализации дисплея бился почти неделю.
Вплоть до того, что инициализацию вручную пытался делать, а не через библиотеку.
Решилось когда сдернул пластиковый корпус с штырьков на дисплее, под пластмаской между ними был заусенец (мет. стружка), который вроде не коротил при прозванивании, но добавлял свое сопротивление при прохождении инициализации.

И сразу экранчик магическим образом заработал

sds
Offline
Зарегистрирован: 29.10.2012

 to_Engineer: Спасибо за участие в теме :)
Хорошая получилась у Вас магия с исправлением. Я у себя на прозвон все контакты проверил - не звенят. Паразитные сопротивления конечно так не отследишь. Надеюсь исключить ваш вариант методом мат статистики - подключить все дисплеи, которые у меня сейчас есть (4 или 5 шт)

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

Всем спасибо у меня заработало, все пропаял, заново подключил на другом месте матрицы, залил новый скетч, но не пошло отключил питание подсветки и заработало обрачно подключил и сейчас все ОК. мистика

sds
Offline
Зарегистрирован: 29.10.2012

 anton_kulibin, рад, что у Вас все получилось

Что же сделал я пока ...
Перегрыз все дорожки на печатной плате, ведущие к экранчику и просто поверх напаял проводков на нужные контакты. Далее подключил экранчик к Дуине. И он, собака такая, стал работать. И при повторных включениях-выключениях. Буду пробовать теперь возвращать дорожки в нормальное состояние и смотреть, что из этого получится.
У второго "глючного" экранчика выпаял все штырьки. Проверить далее пока не успел.

Но, пока предварительный вывод напрашивается такой, что все наши проблемы из-за не качественного монтажа
А я ведь был уверен, что паял его довольно хорошо :(

Engineer
Offline
Зарегистрирован: 29.10.2012

Только хотел предложить проверить все дорожки, скорее всего где-то недотравленное место было.

Для примера, хотел вставить фотки своего творения и его фокусы.
Но сейчас нет времени разобраться как впихнуть фотки.
Так что попробую на пальцах.

Мой контроллер стоит на управлении поливом теплицы, после попадания влаги на экранчик, при инициализации на двух  квадратиках вертикальная линия  из точек с меньшей контрастностью.

После прохождения инициализации на этом месте точки символа вообще не видны.

Вывод напрашивается, что при инициализации скорее всего большее напряжение подается, а при работе на знакоместа меньшее напряжение. Это я просто для себя так решил, буду рад услышать чужое мнение.

Alexander
Offline
Зарегистрирован: 25.04.2010

Engineer пишет:

Для примера, хотел вставить фотки своего творения и его фокусы.
Но сейчас нет времени разобраться как впихнуть фотки.


Как вставить фотки

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

 Да я тоже склонился к качеству монтажа, вообще дуино дается в части создания схем дается тяжело, для меня проще набросать программный код, ну думаю со временем все освоиться, тем более что  юзаю стартовый набор всего три дня.

Engineer
Offline
Зарегистрирован: 29.10.2012

Телефону тяжело снимать через пленку (такая вот герметизация от попадания влаги) :)

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

Доброго времени суток!! Как писал выше у меня все работало, пока я дисплей не отключил от  дуины, а так все хорошо начиналось, щас вот мучаюсь, пропаивал несколько раз ножки на дисплее и что только не делал, летает по нему группа иероглифов и все не могу добиться ничего

Engineer
Offline
Зарегистрирован: 29.10.2012

Хм, для начала надо определиться в чем проблема.

1. Дисплей проходит инициализацию, а потом летают иероглифы

После успешной инициализации возможна проблема с библиотекой, может версия не подходит.

2. Иероглифы летают сразу. Тогда вопрос с инициализацией остается открытый.

 

На дисплее есть свой контроллер может с ним проблема возможно стоит заменить на заведомо рабочий

 

anton_kulibin
Offline
Зарегистрирован: 28.10.2012

Спасибо но все исправил, все дело в подключении надо быть внимательнее когда подключаете контакты d4-d7 из-за не правильного подключения и появляються иероглифы

nevkon
Offline
Зарегистрирован: 20.01.2015

Дабы не плодить тем...

В общем то известно что дисплей 1602 может работать в 4 и 8 битном режиме. Скорость вывода на дисплей не важна, но вывод на дисплей в 4 битном режиме ну очень хорошо стопорит программу. Будет ли профит при использовании 8 битного режима, вроде как вывод символа идет за 1 такт вместо 2? Ног у МК более чем хватает для реализации, но думается мне надо будет либу ковырять или свою рисовать. Описание: http://avrprog.blogspot.ru/2013/04/lcd1602com.html

nevkon
Offline
Зарегистрирован: 20.01.2015

Глянул либу - 8бит режим есть, надо будет попробовать на время выполнения.

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

nevkon пишет:

Глянул либу - 8бит режим есть, надо будет попробовать на время выполнения.

на эту библиотеку смотри 

LiquidCrystalFast (Version 1.1)

http://www.pjrc.com/teensy/td_libs_LiquidCrystal.html

Engineer
Offline
Зарегистрирован: 29.10.2012

Есть такой момент, действительно есть задержки у меня на другом творении (инкубатор -автомат) стоит регулятор мощности фазовый, и соответственно есть небольшие провалы по скорости реакции во время вывода инфы на экран, точнее были. Я использовал 4 бит режим, плюс на плате были силовые ключи плюс релюшки. В результате во время работы могли появляться глюки на экране- иероглифы, или он вообще начинал работать в режиме бегущей строки.   Решилось применением переходника I2C на дисплей.

nevkon
Offline
Зарегистрирован: 20.01.2015

Спасибо за ответы.