Я новичок в электронике и пытаюсь заставить свой ЖК-дисплей 1602 работать с адаптером I2C. У меня работает подсветка, но я не могу вывести текст. Это мой текущий код:
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(5, 0);
lcd.print("HELLO");
}
void loop() {
lcd.backlight();
delay(2000);
lcd.noBacklight();
delay(2000);
}
Я проверил адрес I2C с помощью сканера, и это 0x27.
Я немного погуглил и наткнулся на этот пост, где кто-то разместил это:
Простой тест
Подайте + 5 В / GND на ЖК-дисплей, а затем подайте питание фонового светодиода (иногда с пометкой A / K) на ЖК-модуль.
Никаких других подключений (данные и т. д.) для этого теста включения не требуется.
Вы должны быть в состоянии различить ВСЕ поля болтунов, но подключение контрастного горшка облегчит эту задачу.
Он МОЖЕТ быть не полностью виден, но модуль инициализируется (внутренне) при включении питания, и должны отображаться ВСЕ поля символов.
Конечно, теперь вы знаете, что вам нужно в основном три подключения питания к ЖК-дисплею — сам ЖК-дисплей, контрастность и подсветка.
Конечно, похоже, что основная мощность ЖК-дисплея отсутствует - следовательно, никакие интеллектуальные данные не могут быть обработаны / отображены.
Я также провел этот тест и пришел к этим результатам:
- При подаче 5В на подсветку светит ярко.
- При подаче 5 В как на подсветку, так и на сам ЖК-дисплей, подсветка становится темнее, но больше ничего не появляется.
Затем я случайно перевернул адаптер I2C, но это дало мне текстовые блоки.
Как я могу заставить текст отображаться? Что я сейчас делаю неправильно?