Wemos: дисплей 16x2 ничего не показывает
Я подключил ЖК-дисплей 16x2 к Arduino Uno. Затем я протестировал код «Hello, Word», и он отлично работает. Теперь я хочу сделать то же самое с Wemos D1 Mini, но это не работает.
Здесь Wemos не подключен к USB:
Это код "Hello, World". Мне нужно было изменить название пинов (может в этом проблема):
#include <LiquidCrystal.h>
const int rs = 8, en = 7, d4 = D5, d5 = D4, d6 = D3, d7 = D2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
lcd.begin(16, 2);
lcd.print("hello, world!");
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
}
Вот результат (потенциометр работает идеально):
@Roby Sottini, 👍1
Обсуждение3 ответа
Три возможности (из вашего описания невозможно быть более точным):
- Дисплей не подключен к контактам, указанным в скетче.
- Дисплей не принимает сигналы 3,3 В при работе от 5 В.
- Дисплей не работает при питании от 3,3 В.
Он определенно не инициализируется, что говорит мне о том, что инструкции по его настройке не выполняются или не выполняются, когда они выполняются.
Вы можете:
- Используйте осциллограф или логический анализатор, чтобы убедиться, что используются правильные контакты,
- Попробуйте запитать дисплей от 3,3 В, если сейчас он питается от 5 В.
- Попробуйте запитать дисплей от 5 В, если сейчас он питается от 3,3 В.
Если он питается от 5 В, вы можете рассмотреть возможность добавления некоторого преобразования логического уровня, чтобы усилить сигналы ввода-вывода от Wemos до 5 В.
Вы делаете это на wemos d1 mini, не так ли?
Тогда вы не включаете файлы заголовков, Вы проверили, что в «LiquidCrystal.h» есть определения распиновки wemos?
Ваш ЖК-дисплей в порядке, n wemos тоже, просто ваша конфигурация неверна.
Проверьте их и обновите здесь.
Несмотря на то, что это старый вопрос, я столкнулся с точно такой же проблемой.
Проблема в том, что нумерация контактов на wemos D1 не такая, как на arduino.
Я следовал руководству по жидкокристаллическому arduino, но изменил нумерацию контактов на
const int rs = 12, en = 13, d4 = 14, d5 = 4, d6 = 5, d7 = 16;
Теперь, по крайней мере у меня, дисплей работает как надо
thx, или можно определить так: const int rs = D6, en = D7, d4 = D5, d5 = D2, d6 = D1, d7 = D0;
, @To Kra
- Как подключить ЖК-дисплей TFT к NodeMCU?
- Запись значения на 7-сегментный дисплей max7219
- Как подключить этот последовательный дисплей SPI к Arduino?
- Заготовка ЖК-дисплея 16 X 2 с Arduino Uno
- OLED-дисплей выходит из строя при подключении USB
- Я пытаюсь сделать что то вроде видеоигры с Arduino UNO
- Печать string and integer LCD
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
Первым шагом может быть очистка кода в
loop()
, чтобы вы могли сузить проблему. Просто выполните действия вsetup()
, чтобы они выполнялись только один раз. После того, как вы получите там текст, вы можете перейти к более сложным действиям. Однако следует отметить, что платы Wemos рассчитаны на 3,3 В, а ЖК-дисплеи обычно на 5 В. Однако не похоже, что вы меняете уровень., @jose can u c