Черные квадраты дисплея Arduino 16x2
Вчера я подключил ЖК-дисплей 16x2, совместимый с Arduino, и убедился, что все соединения соответствуют программе и схемам, которые можно найти в Интернете. У меня контраст настроен идеально, но проблема в том, что в верхней строке есть черные квадраты, а нижняя пустая.
Я знаю, что этот вопрос задавали много раз, но никто не ответил на него, кроме как сказать: "Проверьте контрастный контакт". Я использую пример кода по умолчанию, представленный в Arduino IDE. ПОМОГИТЕ!
С уважением.
@Owais, 👍5
Обсуждение5 ответов
Лучший ответ:
Я погуглил в Интернете, и оказалось, что это может быть вызвано несколькими причинами:
- Неверная проводка.
- Подключение ЖК-дисплея в обратном направлении (т.е. 1 к 16 и 16 к 1).
- Неисправная проводка (например, оборванные кабели и сухие соединения).
- Неправильная инициализация ЖК-дисплея.
- Ошибочное программное обеспечение.
- Поврежден экран.
Ваш ЖК-экран основан на чипсете Hitachi HD44780. Это наиболее распространенный интерфейс для текстовых ЖК-дисплеев. Его можно определить по 16-контактному интерфейсу. I2C является следующим наиболее распространенным интерфейсом, и его можно отличить по 4-контактному (иногда 5-контактному) интерфейсу.
Предположим, что ваш экран не поврежден. Судя по деталям вашего вопроса, похоже, что ваш контраст работает нормально. Приведенный выше список можно сократить всего до двух пунктов: плохой проводки и/или плохого кода. Давайте устраним оба из них, используя известное работающее программное обеспечение и известную рабочую схему.
В Arduino есть LCD-библиотека с примерами программ. Подробную информацию об этой библиотеке, включая схему подключения, можно найти на сайте Arduino в разделе Справочник. раздел. Я использую эти примерные наброски для проверки соединений проводки, прежде чем писать свою собственную программу. Я рекомендую использовать пример Autoscroll.
Схема: Эти диаграммы взяты с страницы автопрокрутки Arduino. Я настоятельно рекомендую вам внимательно прочитать эту страницу.
Код можно легко загрузить в Arduino через IDE, выбрав Файл
> Примеры
> LiquidCrystal
> Автопрокрутка
, затем скетч
> Загрузить
.
Вы должны увидеть, как скетч печатает символы от 0 до 9 в верхней строке (с отключенной автопрокруткой), затем перемещает курсор в нижний правый угол (включает автопрокрутку) и печатает символы от 0 до 9 в нижней строке, но как печатает каждый символ, который дисплей должен переместить на один влево.
Если вы заставите этот пример программы работать, значит, у вас есть работающий ЖК-дисплей, а также что с вашей проводкой все в порядке.
Подключите контакт RW к земле.
Ваш ответ довольно краток и может быть дополнен. Например, чем поможет подключение RW к земле? В нынешнем виде ваш ответ был бы лучше в качестве комментария, @Greenonline
Используете ли вы плату драйвера ЖК-дисплея, которая имеет 4 соединения между ней и arruino, или ЖК-дисплей подключен напрямую?
Если вы используете плату драйвера, загрузите библиотеку Liquid Crupystal здесь
Убедитесь, что библиотека запущена в этом коде запуска.
У вас отличный контраст. Черные прямоугольники указывают на то, что ваш ЖК-дисплей неправильно инициализирован. Виноваты плохие соединения и/или плохой код. Поэтому сосредоточьте свою отладку на нем.
- Печать string and integer LCD
- Как отобразить символ º на ЖК-дисплее?
- Отправка значения с одного Arduino на другой
- NodeMCU с RFID RC522 и LCD-модулем интерфейса I2C вместе
- ЖК-дисплей I2C отображает странные символы
- Экран LCD 16*02 I2C показывает только первый напечатанный символ
- Потенциометр 10 кОм против резистора 10 кОм на ЖК-дисплее
- Запрограммируйте Arduino Uno как цифровые часы
Используете ли вы интерфейс I2C на ЖК-дисплее?, @Rien Brand
@RienBrand Нет. Просто стандартный интерфейс (я не знаю, как он называется). Кстати, вот ссылка на его техпаспорт: http://www.evselectro.com/image/data/datasheet/LMB162ABC.pdf, @Owais
Можешь выложить фото как подключал? Контраст, на самом деле, не проблема здесь., @Gerben
Чаще всего такая проблема возникает из-за того, что дисплей был подключен наоборот. Дважды проверьте, какой контакт заголовка на вашем дисплее является контактом 1., @Majenko
@Majenko Дисплей невозможно подключить назад, потому что контакты помечены на самом дисплее. Мне даже не пришлось искать даташит. Контакты 1 и 2 — это контакты питания, затем у нас есть контраст, RS, R/W, E и так далее. И да, R/W подключен к земле., @Owais
@Гернеб Как? Без вариантов :/, @Owais
Посмотрите на этот ответ здесь: http://arduinoprosto.ru/q/17472/11174, @Jerry
Попробуйте в своем коде lcd(0x27,16,2); вместо lcd(0x3f,16,2);, @Sebas Gomez Pereira