Не могу вывести текст на 1602a

ardneon
Offline
Зарегистрирован: 30.01.2022

Сегодня приобрел себе ардуино. Очень интересная вещь. Столкнулся с проблемой: не могу разобраться с работой экрана. Читал много форумов и пробовал много разных способов. Подскажите, что не так.

При запуске начинается светится экран и больше ничего. Проверял адрес - использую верный. Прикрепляю код и фотографии самой схемы. Спасибо.

Фото: 

Код: 

// Код из примера библиотеки
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
   lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
   lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}


void loop()
{
}

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Покрути контрастность.

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

Экран переверни, увидишь подстроечный резистор. Это регулятор контраста. Покрути его

ardneon
Offline
Зарегистрирован: 30.01.2022

Покрутил - ничего не изменилось. Еще меня смущает горящий светодиод на плате (13), он же не подключен в коде 

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

А подключен экран правильно? SDA - A4, SCL - A5

ardneon
Offline
Зарегистрирован: 30.01.2022

Да, на фотографии видно

AlexTLN
Offline
Зарегистрирован: 14.05.2016

Попробуй один lcd.init() убрать. Потому что в срр файле(52 строка _backlightval = LCD_NOBACKLIGHT). Идея тупая немного, но у меня тоже такой дисплей не запустился )))

 

 

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

ardneon пишет:

Да, на фотографии видно

Да ну? Что там у тебя видно, кроме А4 и А5? На экране концы не попутаны?

Кстати, да, два lcd.init() там не нужно

kalapanga
Offline
Зарегистрирован: 23.10.2016

I2C-сканером проверить отзывается ли адаптер, ну и адрес. (сорри, не заметил, что уже проверяли!)

Возможно адаптер к дисплею плохо припаян.

Про 13 диод что-то странное. А скетч-то точно залился??

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

в любом случае регулировкой контрастности дисплей должен гасится, если нет смотри эти цепи

Нуидела
Offline
Зарегистрирован: 31.01.2017

вставлю свои 5 копеек
дисплей 1602?
а в скетче 2004?

vanila
Offline
Зарегистрирован: 25.08.2015

У меня с вашим кодом все выводит, так что у вас либо с адресом, либо контрастностью либо подключением. 

если просто + и гнд подсоединить, должен верхний ряд быть закрашен сплошником, их видно?

AlexTLN
Offline
Зарегистрирован: 14.05.2016

Нашел у себя такой же дисплей(который почему-то не запустился у меня раньше). Подключил по схеме автора темы. Код такой же. Все работает. Версия среды разработки 1.8.16. Версия библиотеки 1.1.2.

nik182
Offline
Зарегистрирован: 04.05.2015

ardneon пишет:

Покрутил - ничего не изменилось. Еще меня смущает горящий светодиод на плате (13), он же не подключен в коде 

Крутить надо до тех пор, пока не появиться ряд квадратиков. Этот дисплей после включения и без инициализации так инициализирует себя, что бы было понятно что контрастность нормальная. Пока просто подключенный дисплей не покажет квадратики на нем ничего увидеть не получится. Если есть тестер, то надо измерить напряжение на ноге контрастности. Напряжение должно меняться от 0 до 5 вольт. Встречались дисплеи где переменный резистор был сломан и напряжение не менялось.