1602 не выводит ничего

Добрый день. Не могу вывести абсолютно ничего на дисплей 1602. Подключил все перемычки согласно комментария в коде (RW на земле), прозвонил провода, замерил напряжение, проверил полярности, менял пины (с поправкой в коде, разумеется) - ничего. Горит подсветка дисплея и верхний ряд квадратиков (контрастность крутил). Интерфейс без i2c. Библиотеку скачал. Ардуино Уно. Все с алика. УНО рабочая
Код:

LiquidCrystal lcd(8, 9, 10, 11, 12, 13); // (RS, E, DB4, DB5, DB6, DB7)
void setup(){ 
  lcd.begin(16, 2);                  // Задаем размерность экрана
 
  lcd.setCursor(0, 0);              // Устанавливаем курсор в начало 1 строки
  lcd.print("Hello, world!");       // Выводим текст
  lcd.setCursor(0, 1);              // Устанавливаем курсор в начало 2 строки
  lcd.print("1");         // Выводим текст
}
 
void loop(){
}

Бывает

1 лайк

Так не бывает.
Если горят “квадратики” верхней строки - значит дисплей не про инициализирован. Почему?
Показывайте схему свою соединения, фото того что собрали (ну и код научитесь вставлять ПРАВИЛЬНО).

В thinkercad все работает, что интересно. Хотя там тоже моменты интересные есть: подсветка напрямую не подключается, надо через резистор, иначе сгорает и курсор на вторую строку не переносится. Ну это ладно…


А что если убавить яркость/контрастность ?

Игрался и с яркостью, и с контрастностью - толку нет.

Я конечно понимаю, что Вы уже у себя много раз всё меняли. Но Вы же для проверки материал предоставляете, чтобы ошибку в нём нашли. А у Вас скетч один, на фото совсем другое собрано, в тинкеркаде третье. Так что первое, что в голову приходит - неправильно собрано или отражено в скетче.
(В скетче в тинкеркаде возможно из-за отсутствия lcd.begin со строками косячит)
А при правильных сборке и скетче я бы на сопли “дюпонтовые” поставил.

Еще у меня был случай с этими брэбордами - не запускался дисплей 1602 (кстати, говоря (!)) хоть тресни. Прозвонил сами соединительные провода - два в обрыве (не звонятся). Заменил и дело пошло.

1 лайк

Всё прозвонил от контаков на пинах ардуино до контаков дисплея, напряжения на дисплее есть.



#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // (RS, E, DB4, DB5, DB6, DB7)
 
void setup(){ 
  lcd.begin(16, 2);                  // Задаем размерность экрана
 
  lcd.setCursor(0, 0);              // Устанавливаем курсор в начало 1 строки
  lcd.print("Hello, world!");       // Выводим текст
  lcd.setCursor(0, 1);              // Устанавливаем курсор в начало 2 строки
  lcd.print("1");         // Выводим текст
}
 
void loop(){
}

Как минимум пин RW не на землю, а в плюс воткнут. И на второй фотке из последнего сообщения не внушает доверия пайка контактов к дисплею (стоит пропаять).
Если квадратики горят - это обычно хорошо, типа живой он. Где-то всё-таки неконтакт или не туда воткнуто.

1 лайк

Таки заработало!) Пин rw я пробовал в прошлый раз перетыкать. После чего пропаял контакты, а rw назад не вернул. Спасибо, что обратили на это внимание.
Чтобы ветку не создавать: можно ли как-то в thinkerсад добавить элементы? Интересует датчик ds1820. Или другие онлайн-конструкторы есть или приложения с более расширенным набором элементов?