16*2 1602A LCD дисплей не отображает никаких символов или контрастности, несмотря на правильное подключение
Я использовал свой ЖК-дисплей во многих небольших проектах. Теперь это больше не работает. В большинстве схем, которые вы найдете в Интернете, используются резисторы и потенциометры. Однако я никогда этого не делал, но тем не менее заставил это работать.
Я пробовал разные схемы, но ни одна из них не работает. Думаю, я как-то сломал свой ЖК-дисплей.
Я почти уверен, что схема, которую я сейчас использую, работает. Подсветка работает, но ничего не печатается.
Фотографии проекта (Внимание! Черт возьми)
ЖК-компонент представляет собой синий дисплей 1602A v2.0 размером 16x2. Все компоненты входят в официальный стартовый комплект Arduino, за исключением проводов. Хотя я проверил каждый провод на целостность, чтобы быть абсолютно уверенным, что проблема не в самих проводах. Кроме того, поворот потенциометра не приводит к появлению каких-либо блоков или каких-либо изменений на ЖК-дисплее, как ожидалось.
Код:
#include <LiquidCrystal.h>
//Жидкий кристалл (RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
pinMode(6,OUTPUT);
analogWrite(6,90); //подсветка без использования потенциометра.
lcd.begin(16, 2);
//lcd.setCursor(0,0);
lcd.print("hello, world!");
}
void loop() {
}
Я не уверен, что не так, я проверил все, что мог придумать.
По запросу я могу загрузить больше (более чистых) изображений, просто я не хотел разрушать свой другой проект.
@Edward, 👍1
Обсуждение4 ответа
Лучший ответ:
Итак, проблема была в проводах. Хотя я проверил каждый провод на целостность, я пошел в магазин и купил совершенно новый (дорогой/не с aliexpress) набор соединительных проводов. Я перемонтировал весь проект по схеме и коду, которые были опубликованы в моем вопросе-посте, и он заработал как по волшебству..
Так что я не уверен, что именно вызвало проблему, но это было в проводе. Я думал, что непрерывность провода — это 100% доказательство того, что провод работает правильно. Может быть, у кого-то есть идея, что могло вызвать это?
Итак, я снова заменил только провода, а не схему или код, на совершенно новые, и все заработало отлично.
У меня есть предложение. Попробуйте удалить комментарий из этой строки: //lcd.setCursor(0,0);
Вам необходимо убедиться, что ваш текст отображается на первой строке, в первой позиции (0,0).
ЖК-дисплей работает отлично (аппаратная часть).
В ваш код нужно внести всего 2 изменения.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
pinMode(6,OUTPUT);
analogWrite(6,90); //оптимальная подсветка без использования потенциометра.
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("hello, world!");
delay(3000);
}
void loop() {
}
Добавлена задержка (она должна быть!) и установлена позиция курсора.
Попробуйте код выше и сообщите.
Добавление задержки или изменение положения курсора ничего не изменило. Я даже не думаю, что это необходимо. Положение курсора по умолчанию на (0,0)
., @Edward
- Заготовка ЖК-дисплея 16 X 2 с Arduino Uno
- Закодируйте и подключите ЖК-дисплей и кнопку
- Печать string and integer LCD
- Отправка значения с одного Arduino на другой
- ЖК-дисплей I2C отображает странные символы
- Подключить Arduino к телефонной линии?
- Экран LCD 16*02 I2C показывает только первый напечатанный символ
- Запрограммируйте Arduino Uno как цифровые часы
Что ты имеешь в виду? Я сказал, что поворот потенциометра ничего не меняет на дисплее., @Edward
Посмотрите на схему, которую я разместил, я именно это и делаю, потенциометр подключен к 3-му контакту дисплея (V0). Яркость контролируется ШИМ на выводе 6, значение 90 обеспечивает достаточную подсветку, чтобы все можно было прочитать. Я всегда использовал это так., @Edward