Почему на LCD-дисплее отображаются случайные символы?
Я часами боролся со своим ЖК-дисплеем, и после решения большего количества различных проблем, чем я могу вспомнить, у меня закончились идеи по этому поводу.
На моем ЖК-дисплее отображаются случайные символы, см. рисунок ниже (последний символ мигает, некоторые символы меняются, и со временем символов становится все больше и больше). Я начинаю задаваться вопросом, есть ли у выбранного мной ЖК-дисплея драйвер, совместимый с библиотекой LiquidCrystal, что вы думаете? Если да, то что я могу сделать, чтобы не покупать еще один?
Вот код:
// включаем код библиотеки:
#include <LiquidCrystal.h>
// инициализируем библиотеку номерами контактов интерфейса
//RS EN D4 D5 D6 D7
LiquidCrystal lcd(2, 3, 4, 5, A2, A3);
//RW к GND, VSS к GND, VCC к 5 В, V0 к движку потенциометра 5 В к GND 10 кОм
void setup() {
Serial.begin(9600);
Serial.println("Starting");
lcd.begin(16, 2);
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
Serial.println("Printing");
delay(1000);
}
Я использую этот Arduino и этот ЖК-дисплей. Обратите внимание, что я использую контакты 10,11,12,13 для SD (который работает) и 6, 7, 8 для MAX232 (который отключен).
Есть идеи?
@user42875, 👍3
Обсуждение1 ответ
Лучший ответ:
Возможно, причина в том, что «millis()/1000» генерирует «число», а не «строку» (или «символ»). Попробуйте добавить «,DEC» в свой lcd.print(), что-то вроде «millis()/1000,DEC», чтобы преобразовать его в «десятичный». Как правило, это зависит от библиотеки, как они реализуют эту функцию.
Удачи
Майк
Вы и Прохожий были правы в этом, я это исключил, потому что это был официальный пример, но очевидно, что их пример был неверным. Я изменил это на «ABC...Z», а затем на «123...90», и оба работали безупречно. Спасибо!, @user42875
- Печать string and integer LCD
- Как отобразить символ º на ЖК-дисплее?
- Отправка значения с одного Arduino на другой
- Черные квадраты дисплея Arduino 16x2
- NodeMCU с RFID RC522 и LCD-модулем интерфейса I2C вместе
- ЖК-дисплей I2C отображает странные символы
- Экран LCD 16*02 I2C показывает только первый напечатанный символ
- Потенциометр 10 кОм против резистора 10 кОм на ЖК-дисплее
Я не уверен, поддерживает ли библиотека LiquidCrystal использование «аналоговых контактов» A2 A3 таким образом. Можете ли вы проверить свой ЖК-дисплей, используя стандартную конфигурацию контактов (очевидно, не используя SD или какие-либо другие мешающие устройства). Сам ЖК-дисплей выглядит как обычный HD44780, поэтому причина скорее в конфигурации контактов, чем в каком-то экзотическом драйвере устройства., @MarkU
Библиотека LiquidCrystal включает в себя заведомо хороший пример кода, который является частью того, для чего предназначен Arduino. Используйте это в качестве диагностики, чтобы проверить работу ЖК-дисплея, прежде чем пытаться использовать нестандартное соединение., @MarkU
Спасибо. Приведенный выше код является примером на официальном сайте. Я только что добавил задержку(), так что он должен работать... Я проверил, A2 и A3 отправляют цифровые сигналы, как и другие контакты, так что все выглядит нормально. Прохожий, разве недостаточно вызвать конструктор с 6 аргументами, чтобы выбрать 4-контактный режим?, @user42875
У многих людей, столкнувшихся с этой проблемой, были проблемы с ЭМС — напряжение 5 В подается через повышающий преобразователь от батареи, но я заметил, что на шине питания стабильные 5 В…, @user42875
Контакты, не отмеченные на картинке, остаются неподключенными. Нужно ли их заземлять? Все примеры, которые я видел, оставили их не связанными, @user42875
Глупый вопрос, но на картинке такое впечатление, будто ты просто засунул провода в отверстия. Ты их спаял, да?, @Roger Rowland
«Пожалуйста, пока не переносите этот пост на Arduino SE» — слишком поздно!, @Nick Gammon
проверьте 2 и 3 :) опять ваша военная служба плоха, ну насколько я знаю, есть ли "?" этот знак, ты должен проверить свои связи, @Narzan Q.
Соединения сквозные, не важно на каком слое я их припаиваю, они припаиваются снизу. Я проверил, верхние колодки подключены., @user42875