Добрый день. Не могу вывести абсолютно ничего на дисплей 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(){
}
Так не бывает.
Если горят “квадратики” верхней строки - значит дисплей не про инициализирован. Почему?
Показывайте схему свою соединения, фото того что собрали (ну и код научитесь вставлять ПРАВИЛЬНО).
В thinkercad все работает, что интересно. Хотя там тоже моменты интересные есть: подсветка напрямую не подключается, надо через резистор, иначе сгорает и курсор на вторую строку не переносится. Ну это ладно…
Я конечно понимаю, что Вы уже у себя много раз всё меняли. Но Вы же для проверки материал предоставляете, чтобы ошибку в нём нашли. А у Вас скетч один, на фото совсем другое собрано, в тинкеркаде третье. Так что первое, что в голову приходит - неправильно собрано или отражено в скетче.
(В скетче в тинкеркаде возможно из-за отсутствия lcd.begin со строками косячит)
А при правильных сборке и скетче я бы на сопли “дюпонтовые” поставил.
Еще у меня был случай с этими брэбордами - не запускался дисплей 1602 (кстати, говоря (!)) хоть тресни. Прозвонил сами соединительные провода - два в обрыве (не звонятся). Заменил и дело пошло.
Как минимум пин RW не на землю, а в плюс воткнут. И на второй фотке из последнего сообщения не внушает доверия пайка контактов к дисплею (стоит пропаять).
Если квадратики горят - это обычно хорошо, типа живой он. Где-то всё-таки неконтакт или не туда воткнуто.
Таки заработало!) Пин rw я пробовал в прошлый раз перетыкать. После чего пропаял контакты, а rw назад не вернул. Спасибо, что обратили на это внимание.
Чтобы ветку не создавать: можно ли как-то в thinkerсад добавить элементы? Интересует датчик ds1820. Или другие онлайн-конструкторы есть или приложения с более расширенным набором элементов?
Всем привет такая же проблема только с диспеем 2004 и модулем I2C выводятся только кубики больше ничего. вот код
"#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // Устанавливаем дисплей #include <iarduino_RTC.h>
iarduino_RTC time(RTC_DS3231);
void setup() {
delay(300); // Ждем готовности модуля отвечать на запросы
Serial.begin(9600); // Инициируем передачу данных в монитор последовательного порта на скорости 9600 бод.
time.begin(); // Инициируем работу с ds3231.
lcd.begin(); // Инициируем работу с LCD.
time.settime(0,00,6,21,4,24,4); // Записываем время в модуль: 0 сек, 00 мин, 12 час, 17, февраля, 2020 года, понедельник.
}
void loop() {
Serial.println(time.gettime(“d-m-Y, H:i:s, D”)); // Выводим время в монитор порта.
lcd.setCursor(0, 0); // Установка курсора экрана.
lcd.print(time.gettime(“d-m-Y H:i:s D”)); // Выводим время на экран.
lcd.setCursor(0, 1);
lcd.print(time.gettime(“d-m-Y H:i”));
lcd.setCursor(0, 2);
lcd.print(time.gettime(“d-m-Y D”));
time.blinktime(7, 4); // при выводе на дисплеё будут мигать дни недели с частотой 4Гц
lcd.setCursor(0, 3);
lcd.print(time.gettime(“d-m H:i”));
delay(1000); // Приостанавливаем скетч на 1 с, чтобы не выводить время несколько раз за 1мс.