Дисплей 1602 показывает квадратики
WH1602C можешь смело подключать, с ним работает , только посмотри в датише распиновку а то можешь переплюсовать.
Все подключал по распиновке. Не получается прошить девайс! На сколькоя понимаю без прошивки на дисплей ничего не выводится!?
Регулировкой контрастность нужно добится чтобы засветилась верхняя строчка если не прошит контроллер, а если прошит то крутите пока не появится изображение.
Очень интересно, - а ЧТО может выводится если ничего не прошито . карта клада капитана Флинта . D
Сначала прошейте контроллёр и запустите прибор, работать он будет и без дисплея. А уж только тогда когда у Вас будет ВСЁ работать, задавайте вопрос про дисплей .
Проц то прошил? Что все работает кроме индикатора? Питание правильно подключено? Посмотри осциллографом идет ли что на индикатор.
Всенепременно выкладывай. Я похоже 78L05 спалил - греестя как утюг! При включении выдает 5 волт, а потом 1,1! Да и Мегу наверняка тоже покоцал.
Говорилось же уже неоднократно проверь сначала плату всю, как говориться от а до я, что бы не чего не грелось не дымилось и т.д.(соседней теме писал уже), а потом уже вставляй проц и подключай дисплей (может конечно я и не прав).
Говорилось же уже неоднократно проверь сначала плату всю, как говориться от а до я, что бы не чего не грелось не дымилось и т.д.(соседней теме писал уже), а потом уже вставляй проц и подключай дисплей (может конечно я и не прав).
Все проверено и не раз! Ве нормально! 78L05 греется при подключении программатора На Жк 5В приходит, а он молчит!
Проверь LCD: подключи к нему +5в на второй вывод, GND-подключи на первый , на третьий (контрасность) подстроечный резистор на корпус. Крути подстроечник.
Без контроллера и прошивок должен засветится верхняя строчка все сегменты, а если нет то выброси LCD. Так ты проверишь жывой он или нет.
Всенепременно выкладывай. Я похоже 78L05 спалил - греестя как утюг! При включении выдает 5 волт, а потом 1,1! Да и Мегу наверняка тоже покоцал.
По поводу утюга: Я сначала включаю собранную плату без микросхем, проверяю питание и ток, тока потом камни ставлю, проц - в последнюю очередь. Скока сего собрал, тьху-тьху.
Кста!Есть индикаторы 0802- половина 1602. Можно их применить без изменения прошивки? Для PI_AVR важна информация про барьер и первая половина шкалы.
Подскажите, кто знает, почему на ЖК WH1602B-YYH-CTK при включении прибора весь экран в квадратиках? Если смотреть под углом видно, что прибор рабочий. Контраст не работает!
Подскажите, кто знает, почему на ЖК WH1602B-YYH-CTK при включении прибора весь экран в квадратиках? Если смотреть под углом видно, что прибор рабочий. Контраст не работает!
[Проверить подключение индикатора.[/quote] Индикатор подключал по даташиту. Даже такой ламер как я разберется куда что паять.
Чудес не бывает. Значит подстроечник неисправен, или запаян не той стороной, если это что-то круглое, типа СП3-19.
_________________
Доброй ночи и удачи!
Люди! Кто знает -подскажите что делать. На индикаторе 1602 (в бортовом компьютере Штат 115х4) не светятся правые 8 разрядов в обоих рядах.
Это означает что пора уже менять "тачку" на новую.
А если без шуток, то новый индикатор стоит 5-7 баксов - дешевле купить новый и не париться.
А вообще мы тут обсуждаем немного другую "технику" так что сорри за оффтоп.
Мужчины! Подскажите, кто знает, есть ЖКД WH1602C-YYK-CTK, Andy использовал BC-1602B-GPLCHb! Как можно имеющийся законнектить к прибору?
Подключаешь по даташиту соответствующие ножки о все заработает. Я такой же ставил только с другой буквой.
нечего их проверять, если 14 или 16 контактов на экране эт hd44780 если 14 контактов эт без подсветки или подсветка сбоку "А и К" если 16 то позвонить на землю какой из 15 или 16 подсветка. подключить 1,5 на землю, третий контраст повесить 20кОм второй VCC. если контроллер жив загорится ВЕРХНЯЯ строка черными квадратами. по-поводу того, что горит половина экрана 8х2 - можно смело в хлам или для экспериментов оставить
Часовой пояс: UTC + 3 часа
Кто сейчас на конференции
В группах ВК по тематике Arduino часто встречаю вопросы о дисплеях 1602 (и подобных), построенных на контроллере HD44780. Один из них — почему на дисплее отображаются квадраты вместо того, что запрограммировано в скетче. И чтобы не повторять каждый раз всё это в комментариях, я решил написать эту статейку.
Квадраты это не неисправность дисплея, а вполне адекватная его реакция на отсутствие инициализации. Своеобразный 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. Тогда код выглядит так:
Обратите внимание на отличия в объявлении объекта дисплея и инициализации. И всё было бы хорошо, но разные дисплеи иногда имеют разный порядок подключения контактов между собственно самим дисплеем и чипом PCF8574. Я лично встречал два варианта. Первый указан в коде выше. Второй способ объявления выглядит так:
Соответственно возможны следующие причины появления квадратов:
- Плохой контакт или неправильное подключение проводов (перепутаны местами SDA и SCL);
- Неправильно указано соответствие пинов дисплея и I2C чипа в коде
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); - Неправильно указан адрес дисплея.
Порядок поиска неисправности в данном случае такой:
- Проверить правильность подключения SDA и SCL;
- Запустить сканер шины I2C: I2C scanner (1.02 KB);
- Если сканер выдал информацию об адресе устройства, то сверяем его с тем, который указан в скетче. Если сканер «молчит», то возвращаемся к первому пункту или делаем вывод о неисправности I2C модуля на дисплее;
- Пробуем менять в коде комбинации пинов (соответствия дисплей — I2C). Два варианта я привёл выше. Есть ли ещё другие — не знаю.
Иногда встречаются советы покрутить контрастность. На самом деле это не поможет, так как если вы видите отчётливо верхние квадраты, но не видите нижние (как на фото в статье) — значит контрастность УЖЕ настроена нормально.
Здравствуйте! К сожалению не нашел ответа на свой вопрос на форуме поэтому задаю вопрос с созданием новой темы. Если что тыкните куда идти. Спасибо.
Проблема в подключении дисплея 2х16 символов (синий). При подключении к МК (ПИК 16F628) отображаются только квадратики верхней строчки, вместо текста. Прочитал, что это стандартный тест экрана. Подскажите почему не работает отображение?
Мои варианты:
1. Ошибка в коде. Но в протеусе все работает. Не знаю нужно ли выкладывать исходник, так как написан на бэйсике.
2. Ошибка в подключении пинов. Выкладываю фото - проверил 5 раз.
3. Плохая пайка контактов. Такая причина была найдена и описана в интернете. Сегодня обязательно перепаяю (сейчас на работе).
_________________
За любую помощь (даже попытку) ставлю +.
мне показалось, что дисплей не подключен правильно. на фотке ничего не разобрать - приведите нормальную схему ПО ФАКТУ с номерами пинов ЖКИ и их наименованиями, с номерами пинов МК и т.п.
_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется.
скушно, бабоньки!
Ну, судя по фото, пины данных вообще не подключены (D0-D8)
если тут вообще что-нибудь подключено
Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет
это синий китайский, за 180 рублей?
ну так с ним - библиотека XLCD нормально не работает.
пиши свою, там что-то с таймингами напутано (в дисплеях, в плане).
лежит у меня пяток таких - всё руки не доходят поиграться с ними плотно.
так, пощупал, читаются вроде, чтото в них пишется.
мб на новогодних каникулах поиграюсь.
На вебинаре были представлены линейка компонентов для электропитания и интерфейсные модули. Мы рассмотрели популярные группы изолированных и неизолированных (PoL) DC/DC-преобразователей последних поколений, новые компактные модульные источники питания, устанавливаемые на печатную плату (открытые и корпусированные), источники питания, монтируемые как на шасси (в кожухе и открытые), так и на DIN-рейку.
В протеусе все работает, а на плате нет. Дополнительно пропаял ЛСД, но результат те же квадратики.
Может кто-нибудь скинет рабочую прошивку на пик16f628. Может прошивка глючная, хотя протеус сказал бы мне об этом.
В общем не могу понять причину.
_________________
За любую помощь (даже попытку) ставлю +.
Встраиваемые ИП LM(F) производства MORNSUN заслуженно ценятся производителями во всем мире, поскольку среди широчайшего ассортимента продукции компании можно найти источник питания для любых задач. Представители семейств LM и LMF различаются по мощности и выходному напряжению, их технические и эксплуатационные характеристики подходят для эксплуатации в любых электрических сетях и работают в широком диапазоне условий окружающей среды. Неизменными остаются высокое качество и демократичная цена.
а проверить дисп на другом девайсе с таким LCD (или подобным)
я тестирую на девней плате выдраной из какойто ККМ распаивать ее было лень вот и проверяю на ней такие диспы перед монтажем
чтоб если це сразу продавану претензию дать
_________________
Z Мудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Управляющее напряжение (VDD) в протеусе видимо считается "по умолчанию".
А в реальной платке там резистор нужен, чтоб требуемый контраст отображения ВРУЧНУЮ выставить.
Может кто-нибудь скинет рабочую прошивку на пик16f628
Попробуй.
Должно засветиться
Для чистоты экскремента тоже на Бейсике.
Предыдущий пост не забудь.
надо смотреть ДШ на задержку между командами
(купил как-то дисплей и день танцевал с бубном - оказалось задержка между командами у него более чем в 10 раз больше)
Всем спасибо! Так и не решил проблемку. Заказал еще один. На новом проверю. и от туда "плясать" буду.
_________________
За любую помощь (даже попытку) ставлю +.
Ну, вот, теперь ещё и вы "нарвались" на то, что в протеусе работает, а "в железе" нет..
Ведь вы писали:
Проблема в подключении дисплея 2х16 символов (синий). При подключении к МК (ПИК 16F628) отображаются только квадратики верхней строчки, вместо текста. Прочитал, что это стандартный тест экрана. Подскажите почему не работает отображение?
Как я заметил на вашем фото- у вас резистор настройки контраста вместо включения "потенциометром" включено "реостатом".
Концы резистора должны быть подключены- один к Vdd, а второй к "земле", а средний вывод- к 3-му выводу индикатора. Если на индикатор просто подать питание, даже без подключения к МК, при вращении подстроечника эти самые "квадратики" должны появляться и исчезать. "нормальная" настройка- это когда "квадратики" чуть- чуть видны. Вот вам примеры подключения:
зы.. Что- то мне кажется, что у вас вообще подстроечный резистор "контрастности" подключён как- то странно- "концами" на "землю" и на Vee.. А "серединка" просто в воздухе..
Александр
Однажды увидел, что на потенциометре среднюю ногу можно подпаять к любой ноге и пользоваться. Так у меня и сделано. Он регулирует яркость квадратиков, свою функцию выполняет.
_________________
За любую помощь (даже попытку) ставлю +.
Александр
Однажды увидел, что на потенциометре среднюю ногу можно подпаять к любой ноге и пользоваться. Так у меня и сделано.
Вот только в пдф- никах от индикаторов нарисована схема регулировки- когда "края" регулятора подключены к питанию и к земле, а регулируемый вывод- к выводу "контраст" индикатора..
Вижу, что мысль о важности первоначальных проверок, просто пролетела у всех мимо ушей.
Какие бывают Linux?
Бывают для аппаратной части процессоров
1) x86 операционные системы 32bit
2) x86 операционные системы 64bit
3) ARM операционные системы 32bit
4) ARM операционные системы 64bit.
Для x86 это всем привычные
1) настольные компьютеры
2) ноутбуки
Для процессоров ARM
3) смартфоны (телефоны)
4) планшеты
5) ноутбуки
6) всякие Raspberry.
Для телефонов соответственно IDE могут быть разные, например глюкавое ArduinoDroid.
IDE для Linux теоретически может быть любое для C, С++ но скетчи под это дело надо переделывать в нормальный код, это уже не ArduinoIDE для новичков.
Eclipse
Bluefish
NetBeans
Komodo IDE
Anjuta
MonoDevelop
CodeLite
Kdevelop
и еще много всякого. А вот что умудрился использовать вопрошающий, загадка.
Может быть использовано и ArduinoIDE но работать будет не на всех Linux.
Для ArduinoIDE разных версий, совместимость скетчей отсутствует, почему так происходит придумайте сами.
Например на совершенно рабочий скетч ArduinoIDE стала выдавать ошибку компиляции "'prog_char' does not name a type", оказывается просто изменили 'prog_char' и теперь надо просто 'char'. А формально оба скетча рабочие, просто прошиваться будут только на разных версиях ArduinoIDE. И это относиться не просто к скетчам, а и к библиотекам. Взяли скрестили новую версию библиотеки со старым ArduinoIDE или наоборот старую библиотеку с новой версией ArduinoIDE и работать скетч уже не будет. Поэтому. Установили в какой-то операционной системе какую то IDE. Написали по какому то примеру какой то скетч, а не работает. То ли с железом проблема. То ли программы сорятся. То ли ошибок в скетче понаделали. Если скетч старый и рабочий, а у Вас стоит ArduinoIDE с новыми правилами написания скетчей, все равно формально скетч рабочий - просто факт.
И какая ситуация конкретно у спрашивающего, форуму не ведомо. Для начинающих. Установили в чем-то какой-то IDE. Запускаете из примеров Blink. Меняете частоту вспышек. Убеждаетесь, что эти изменения вызваны Вашими действиями. Это Важный шаг. Не надо этот шаг пропускать, типа и так все понятно и просто. Если лампочки на ардуинке мигают то это говорит о том, что какой то процесс идет. Но не говорит о том, что все правильно сделано. При этом может и не работать. Шаг следующий. Устанавливаете или используете установленную библиотеку. Запускаете примеры из этой библиотеки. Разбираетесь почему не работает. И только после того, как убедитесь, что Ваше устройство (в данном случае дисплей) работает на примерах из библиотеки, начинаете с этим делать что то свое. И не раньше. А вопросы не работает стандартное, совсем другая тема.
Если хотите адекватный ответ, пишите операционную систему полностью. Версию IDE полностью. Версию использованной библиотеки полностью. Работала ли первоначальная проверка вспышкой и стандартные примеры на используемой библиотеке.
PS Когда захотел помочь. Получилось как обычно. Думаешь одно, а все совсем иначе. А вопрошающий считает, что вокруг одни экстрасенсы и всю дополнительную информацию про него обязаны знать.
Классический LCD дисплей, раньше такие стояли в кассовых аппаратах и офисной технике.
- Бывают разного размера, самый популярный – 1602 (16 столбцов 2 строки), есть ещё 2004, 0802 и другие. В наборе идёт 1602.
- Снабжён отключаемой светодиодной подсветкой. Существует несколько вариантов, например синий фон белые буквы, зелёный фон чёрные буквы, чёрный фон белые буквы и проч. В наборе идёт с зелёным фоном и чёрными буквами.
- Сам по себе требует для подключения 6 цифровых пинов, но китайцы выпускают переходник на шину I2C на базе PCF8574, что сильно упрощает подключение и экономит пины. В наборе идёт дисплей с припаянным переходником.
- На переходнике также распаян потенциометр настройки контрастности (синий параллелепипед с крутилкой под крестовую отвёртку). В зависимости от напряжения питания нужно вручную подстроить контрастность. Например при питании платы от USB на пин 5V приходит ~4.7V, а при внешнем питании от адаптера – 5.0V. Контрастность символов на дисплее будет разной!
- Переходник может иметь разный адрес для указания в программе: 0х26 , 0x27 или 0x3F , об этом ниже.
Свои символы
Библиотека поддерживает создание “своих” дополнительных символов размером 5х7 точек, можно воспользоваться онлайн-генератором кодов символов – ссылка. Для компактности рекомендую переключить его в HEX. Вот так будет выглядеть “символ” крестик: byte myX[] = ;
Дисплей имеет 8 ячеек под сторонние символы, добавляются они при помощи createChar(номер, массив) , где номер – от 0 до 7, а массив – имя массива с данными, которое мы создали для символа. Выводятся символы при помощи write(номер) .
Важный момент: после вызова createChar сбрасывается позиция вывода текста, нужно обязательно вызвать setCursor!
Важная информация по дисплеям
Данная информация относится ко всем дисплеям.
- Вывод данных на дисплей занимает время, поэтому выводить нужно либо по таймеру, либо по факту изменения данных.
- Очищать дисплей полностью не всегда целесообразно, иногда достаточно вывести новые значения поверх старых, либо частично очистить “пробелами”.
Уроки по таймерам:
Рассмотрим два примера.
Урок по потенциометрам читай здесь.
Урок по кнопкам читай здесь.
Символы дисплея
Вывод на русском языке
Данный дисплей работает следующим образом: шрифт (буквы, цифры, символы) зашит в память контроллера дисплея, поэтому язык определяется моделью контроллера. Самые распространённые – с английским и китайским, как в табличке выше. Есть дисплеи с кириллицей (вместо китайского), но они сильно дороже. Также у нас есть 8 ячеек для хранения своих символов, и с их помощью можно вполне организовать вывод на другом языке. Что касается русского – большая часть букв совпадает по написанию, и это сильно упрощает задачу. Есть готовые библиотеки, где это уже реализовано, например LCD_1602_RUS_ALL от ssilver2007. Библиотека поддерживает также украинский язык для LCD1602. Пример:
Библиотеки
Для этого дисплея существует несколько библиотек, я рекомендую LiquidCrystal_I2C от Frank de Brabander. Библиотека идёт в архиве к набору, а также её можно скачать через менеджер библиотек по названию LiquidCrystal_I2C и имени автора. Репозиторий на GitHub.
Пример вывода
При первой работе с дисплеем нужно настроить контраст и определиться с адресом:
- Прошить пример “Демо”
- Если дисплей показывает чёрные прямоугольники или пустой экран – крутим контраст
- Если кроме чёрных прямоугольников и пустого экрана ничего не видно – меняем адрес в программе: 0х26 , 0x27 и 0x3F
- Снова крутим контраст, должно заработать
- Если не работает – проверяем подключение и повторяем сначала
- Примечание: в наборе должны идти дисплеи с адресом 0x27 , но может зависеть от партии!
Подключение
Дисплей подключается по шине I2C, выведенной на пины:
Читайте также: