Arduino.ru
Дисплей LCD 1602 не показывает "Hello World"
- Войдите на сайт для отправки комментариев
Подскажите пожалуйста:
Почему LCD 1602 не показывает буквы.
Только линия прямоугольников.
Подключаю к Arduini UNO
Версия Arduinoid 1.8.7
Версия библиотекиLiquidCristall 1.0.7 пробовал на 1.0.4
Соединение как в примере:
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Соединения проверил 100 раз.
- Войдите на сайт для отправки комментариев
Контраст пробовал регулировать?
- Войдите на сайт для отправки комментариев
Это же не I2C подключение, на самом дисплее крутилок нет.
Да и у него квадраты остаются, что говорит о том, что ни единой посылки данных на дисплей не пришло.
- Войдите на сайт для отправки комментариев
Соединения проверил 100 раз.
Это вы небось проверяли те ли контакты соединяете. А вот как соединяете.
Ставлю на хреновый контакт этих тоненьких тыкалок в макетке! В правом нижнем углу рыжий с чёрным аж вылезают.
- Войдите на сайт для отправки комментариев
Это же не I2C подключение, на самом дисплее крутилок нет.
На дисплее нет, а на макетке у него есть
- Войдите на сайт для отправки комментариев
5 нога на земле сидит?
Данные слева-направо справа-налево не перепутаны?
https://voltiq.ru/lcd-1602-and-arduino/
- Войдите на сайт для отправки комментариев
Такое ощущение, что где то плохой контакт.
Контакты прозвонил тестером. Норма.
Один раз, ковыряясь в проводах, на экране высветилось две строки:
в первой пару непонятных символов,
во второй число типа 68,234683143846843 и число жило,
Да, аж сам стал понимать , что где то точно плохой контакт.
Прозваниваю нормально, а при работе, на высокой частоте теряет контакт.
- Войдите на сайт для отправки комментариев
Щупы, которые в макетку втыкаете, попробуйте чутка согнуть — лучше контачить будет
Как проверить lcd 1602 дисплей на работоспособность
Здравствуйте! К сожалению не нашел ответа на свой вопрос на форуме поэтому задаю вопрос с созданием новой темы. Если что тыкните куда идти. Спасибо.
Проблема в подключении дисплея 2х16 символов (синий). При подключении к МК (ПИК 16F628) отображаются только квадратики верхней строчки, вместо текста. Прочитал, что это стандартный тест экрана. Подскажите почему не работает отображение?
Мои варианты:
1. Ошибка в коде. Но в протеусе все работает. Не знаю нужно ли выкладывать исходник, так как написан на бэйсике.
2. Ошибка в подключении пинов. Выкладываю фото — проверил 5 раз.
_________________
За любую помощь (даже попытку) ставлю +.
_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется.
скушно, бабоньки!
Ну, судя по фото, пины данных вообще не подключены (D0-D8)
если тут вообще что-нибудь подключено
Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет
Ведущий производитель электрического оборудования компания MORNSUN выпустила серию источников питания на DIN-рейку LI100-20BxxPR3 c выходами на 12, 15, 24 и 48 В. ИП позиционируются для умных домов, а так же используются в составе оборудования для промышленной автоматизации, различных производственных машин, рельсовых систем транспортировки и другого оборудования, работающего в условиях неблагоприятной окружающей среды.
В протеусе все работает, а на плате нет. Дополнительно пропаял ЛСД, но результат те же квадратики.
Может кто-нибудь скинет рабочую прошивку на пик16f628. Может прошивка глючная, хотя протеус сказал бы мне об этом.
В общем не могу понять причину.
_________________
За любую помощь (даже попытку) ставлю +.
Компания MEAN WELL продолжает активное развитие номенклатуры, осваивая новые направления и обновляя существующую продукцию с учетом возрастающих требований. В настоящий момент в Компэл представлено множество недавно вышедших новинок MEAN WELL.
MEAN WELL выпустил ряд таких новинок как мощные высоковольтные управляемые источники питания, DC/DC-преобразователи со сверхшироким входом (с креплением на DIN-рейку и на шасси), полностью обновил линейку зарядных устройств (ЗУ), DC/AC-преобразователей (инверторов) и ИБП для охранно-пожарных систем. Кроме того, выпущены специальные источники питания с выходным напряжением в виде ШИМ для светодиодных лент и модулей управляемых по DALI2 и 0…10 В, а также другая продукция.
_________________
Z Мудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Как проверить lcd 1602 дисплей на работоспособность
Проверка жидкокристаллического дисплея 1602 (HD44780)
По ходу обсуждения в одной из тем форума возникла необходимость проверки исправности жидкокристаллического дисплея 1602, вследствие чего была написана программа для микроконтроллера. Неожиданно решение оказалось востребованным не только в рамках конкретного обсуждения. Кроме, собственно, дисплея, для создания "проверочного стенда" необходим минимум деталей:
- микроконтроллер ATMega8P или ATMega8A в корпусе DIP-28 или PQFT-32;
- резистор 10 килоом;
- подстроечный резистор 10 килоом;
- тактовая кнопка (кнопка без фиксации).
Тактирование от внутреннего генератора 8 МГц.
Фюзы: LowValue – E4, HighValue – D9.
Для монтажа наиболее удобно использовать беспаечную макетную плату. Питание схемы – 5 вольт. Проект в Proteus, прошивка – в архиве.
2 комментария к “Проверка жидкокристаллического дисплея 1602 (HD44780)”
"По ходу обсуждения в одной из тем форума возникла необходимость проверки исправности жидкокристаллического дисплея 1602" -необходимость была в другом-проверить поддерживает ли 1602 кириллицу
Как проверить lcd 1602 дисплей на работоспособность
Wan-Derer
пельмешек
найди библиотеку для датчика bme180 BlueDot_BME280 .h.и в комментариях под проектом метеостанции от 10 апреля выложен измененный код с этой библиотекой.у меня тоже одни квадраты были на экране,а сделав эти изменения у меня всё заработало
Наступил на грабли. просто для заметки.
Изначально у меня был дисплей 1602 без модуля подключения по I2C.
Так как в заначке есть пачка PCF8574T, решил не покупать модуль, а сделать подключение самостоятельно.
Загуглил, нашёл схему и вперёд. После сбора схемы выяснил, что дисплей корректно не хочет работать. Убил время на проверку схему и работоспособности микросхемы, потом пошёл ещё раз гуглить.
Нашёл новую ссылку с другой схемой подключения (ссылка не первоисточник). Ниже вставил работающую схему подключения.
Пост создал тупо для того, чтобы другие на грабли не наступали, с сайта Алекса всё классно гуглится. Надеюсь что через пару недель эта схема будет гуглится первой. (Транзистор брал первый попавшийся npn из блока питания ПК).
FlyingCat98
Nikanor
Wan-Derer
SarmatK
День добрый, уважаемые!
- Если дисплей показывает чёрные прямоугольники или пустой экран – крутим контраст
- Если кроме чёрных прямоугольников и пустого экрана ничего не видно – меняем адрес в программе.
Смена адреса на 0x3f, как и д.б., приводит к тому, что дисплей перестает мигать подсветкой, так как команд не получает.
Ардуинка питается от USB, дисплей — от ардуинки (5v), может ему такого напряжения мало?
++:
Подавал питание от 5 до 15 вольт (ЛБП) — ничего не изменилось, во всем диапазоне контрастностей дисплей выводит черные квадраты или пустоту.
ТехнарьКто
Скетч у Вас рабочий. Напряжения в 5V должно быть достаточно. Встречал один раз, что при питании через стабилизатор ардуины как в Вашем случае, питания дисплею не хватало. Нехватка напряжения питания была в том, что окисленные контакты проводов и макетной платы приводили к большому падению напряжения. Подсветка работала, а вместо информации были черные квадраты. Изменение напряжения питания на Vin до стабилизатора напряжения на ситуацию не влияет. Просто подал 5V на дисплей (массы объединить обязательно) и все заработало.
SarmatK
Спасибо, попробую питать их отдельно. А макетка действительно так себе — очень слабенько держатся в ней проводки из набора.
Запараллелил питание — ардуинка и дисплей питаются от БП из набора, напряжение на дисплее = 5.28V. но на дисплее по-прежнему либо пусто, либо черные знакоместа в первой строке.
Как проверить lcd 1602 дисплей на работоспособность
Он мерт или я накосячил где то?
Меню пользователя driverz |
Посмотреть профиль |
Отправить личное сообщение для driverz |
Найти ещё сообщения от driverz |
Меню пользователя _guardianangel |
Посмотреть профиль |
Отправить личное сообщение для _guardianangel |
Найти ещё сообщения от _guardianangel |
если не считать внешнего вида 4-х последних знаков — то дисплей должен быть живой.
по напряжение питанию — если слаботочная 5в линия (например 4.7в вместо 5 получается ) — еще с проблемой отображения в 2 строки столкнешься
ПС. а с подключением — проверь распайку .
Меню пользователя DaLiV |
Посмотреть профиль |
Отправить личное сообщение для DaLiV |
Найти ещё сообщения от DaLiV |
Меню пользователя driverz |
Посмотреть профиль |
Отправить личное сообщение для driverz |
Найти ещё сообщения от driverz |
верить даташиту — 3.8 номинальное 5.2 максимум проверяй питание . а отображение символов показывает что он пытается запуститься . но чего то не совсем в порядке . битые обычно далее одной клетки не идут
и про то что многим дисплеям по линии контрастности вообще отрицательное напряжение в схему вводить приходиться посмотри .
Меню пользователя DaLiV |
Посмотреть профиль |
Отправить личное сообщение для DaLiV |
Найти ещё сообщения от DaLiV |
Меню пользователя heady69 |
Посмотреть профиль |
Отправить личное сообщение для heady69 |
Найти ещё сообщения от heady69 |
Меню пользователя heady69 |
Посмотреть профиль |
Отправить личное сообщение для heady69 |
Найти ещё сообщения от heady69 |
с схемой похоже что все ОК.
единственное что неизвестно, у вас подтяжки на порту включены?
одно время я перепробывал много индикаторов на HD44780 и KS0066, могу посоветовать несколько
— убедиться что правильное питание на индикаторе, часто включая на 3в не поднимались потому что они были на 5в
— пробовать на разных напряжениях на контрастности
— перед инициализаций , после появления на нем питания, дать индикатору простоять около 50-100мс.
— на разных индикаторах разные временные зарактеристики, часто попадались тормозисторы, приходилось большие задержки везде вставлять.
— некоторые не поддерживали 4х битный режим
И главное, почти все эти артефакты проявлялись на нонэймах.
проверьте все эти эти пункты.
Почему квадраты на дисплее 1602
В группах ВК по тематике Arduino часто встречаю вопросы о дисплеях 1602 (и подобных), построенных на контроллере HD44780. Один из них — почему на дисплее отображаются квадраты вместо того, что запрограммировано в скетче. И чтобы не повторять каждый раз всё это в комментариях, я решил написать эту статейку.
HD44780 (а также совместимый с ним KS0066) — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев с параллельным 4- или 8-битным интерфейсом. Разработан фирмой Hitachi. Управляющий интерфейс и протокол являются де-факто стандартом для такого типа дисплеев. Эти контроллеры были фактически монополистами на рынке в 90-е годы.
На базе этого контроллера выпускалось огромное количество моделей с различным конструктивом и разрешением, начиная с 8×1 (восемь символов в одной строке), и заканчивая 40×4 (содержащих два независимых управляющих чипа). Часто встречаются 16×2 и 20×4, а также некоторые другие.
Википедия
Квадраты это не неисправность дисплея, а вполне адекватная его реакция на отсутствие инициализации. Своеобразный self-test. Отсутствовать инициализация может по нескольким причинам. Но для начала надо вспомнить, какие типы подключения бывают у дисплеев этого формфактора.
Вариант 1: подключение к микроконтроллеру по интерфейсу HD44780
В этом случае между дисплеем и МК идёт шина из, как минимум, шести проводов (не считая питания):
Код для Arduino в этом случае выглядит примерно так:
Причины отображения квадратов:
- Плохой контакт или неправильное подключение проводов (не те пины или перепутан порядок);
- Неправильно указаны номера пинов в коде
LiquidCrystal lcd(12, 10, 5, 4, 3, 2);
Исправление ошибки сводится к проверке качества пайки контактов, а также соответствия пинов в коде.
Вариант 2: подключение к микроконтроллеру по интерфейсу I2C
Здесь используется всего два пина для подключения. И эти пины жёстко фиксированы:
- Arduino Uno, Arduino Ethernet — A4 (SDA), A5 (SCL)
- Arduino Mega2560 — 20 (SDA), 21 (SCL)
- Arduino Leonardo — 2 (SDA), 3 (SCL)
- Arduino Due — 20 (SDA), 21 (SCL)
На самом же дисплее уже впаян конвертор с I2C на HD44780, который по сути представляет из себя обычный I2C-расширитель на базе чипа PCF8574. Особенность шины в том, что по двум проводам можно параллельно подключить множество различных устройств. Каждое устройство имеет уникальный (в пределах одной шины) адрес, который либо жёстко установлен производителем, либо может менять в определённых пределах с помощью перемычек или джамперов:
Адрес для PCF8574 можно посмотреть по таблице:
Вход | Адрес на шине I2C | |||
---|---|---|---|---|
A2 | A1 | A0 | DEC | HEX |
0 | 0 | 0 | 32 | 0x20 |
0 | 0 | 1 | 33 | 0x21 |
0 | 1 | 0 | 34 | 0x22 |
0 | 1 | 1 | 35 | 0x23 |
1 | 0 | 0 | 36 | 0x24 |
1 | 0 | 1 | 37 | 0x25 |
1 | 1 | 0 | 38 | 0x26 |
1 | 1 | 1 | 39 | 0x27 |
Есть ещё PCF8574A. Для них адресация немного другая:
Вход | Адрес на шине I2C | |||
---|---|---|---|---|
A2 | A1 | A0 | DEC | HEX |
0 | 0 | 0 | 56 | 0x38 |
0 | 0 | 1 | 57 | 0x39 |
0 | 1 | 0 | 58 | 0x3A |
0 | 1 | 1 | 59 | 0x3B |
1 | 0 | 0 | 60 | 0x3C |
1 | 0 | 1 | 61 | 0x3D |
1 | 1 | 0 | 62 | 0x3E |
1 | 1 | 1 | 63 | 0x3F |
Код при подключении по I2C обычно выглядит примерно так:
Но есть ещё одна версия библиотеки, в которой указывается не только адрес дисплея, но и порядок подключения контактов дисплея к контактам чипа PCF8574. Тогда код выглядит так:
Обратите внимание на отличия в объявлении объекта дисплея и инициализации. И всё было бы хорошо, но разные дисплеи иногда имеют разный порядок подключения контактов между собственно самим дисплеем и чипом PCF8574. Я лично встречал два варианта. Первый указан в коде выше. Второй способ объявления выглядит так:
Соответственно возможны следующие причины появления квадратов:
- Плохой контакт или неправильное подключение проводов (перепутаны местами SDA и SCL);
- Неправильно указано соответствие пинов дисплея и I2C чипа в коде
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); - Неправильно указан адрес дисплея.
Порядок поиска неисправности в данном случае такой:
- Проверить правильность подключения SDA и SCL;
- Запустить сканер шины I2C: [drain file 98 url I2C scanner] ([drain file 98 size]);
- Если сканер выдал информацию об адресе устройства, то сверяем его с тем, который указан в скетче. Если сканер «молчит», то возвращаемся к первому пункту или делаем вывод о неисправности I2C модуля на дисплее;
- Пробуем менять в коде комбинации пинов (соответствия дисплей — I2C). Два варианта я привёл выше. Есть ли ещё другие — не знаю.
Иногда встречаются советы покрутить контрастность. На самом деле это не поможет, так как если вы видите отчётливо верхние квадраты, но не видите нижние (как на фото в статье) — значит контрастность УЖЕ настроена нормально.
Проверка жидкокристаллического дисплея 1602 (HD44780)
По ходу обсуждения в одной из тем форума возникла необходимость проверки исправности жидкокристаллического дисплея 1602, вследствие чего была написана программа для микроконтроллера. Неожиданно решение оказалось востребованным не только в рамках конкретного обсуждения. Кроме, собственно, дисплея, для создания "проверочного стенда" необходим минимум деталей:
- микроконтроллер ATMega8P или ATMega8A в корпусе DIP-28 или PQFT-32;
- резистор 10 килоом;
- подстроечный резистор 10 килоом;
- тактовая кнопка (кнопка без фиксации).
Тактирование от внутреннего генератора 8 МГц.
Фюзы: LowValue – E4, HighValue – D9.
Для монтажа наиболее удобно использовать беспаечную макетную плату. Питание схемы – 5 вольт. Проект в Proteus, прошивка – в архиве.
Новые проекты:
Схема подключения многоцветных светодиодов WS2812B к ATtiny85 и пример кода прошивки.
Обмен опытом — странный случай из ремонта понижающего преобразователя на LM2596.
Джойстик-мышь своими руками для компьютера. Схема работает без драйверов на любых Windows, Linux, Mac.
Четыре новые технологии для производства кремниевых транзисторов размером менее 1 нм.
Переход от переменного тока к постоянному в домашних электросетях скоро станет реальностью.