Здравствуйте! С Ардуино знаком недавно, заказал на али китайский аналог и набор, в котором также был модуль LCD1602 и отдельно I2C. Припаял I2C. Попробовал подключить этот экран... и столкнулся с проблемой: никак не мог вывести на него текст, верхний ряд высвечивался квадратами и на скетчи не реагировал. В инете очень много аналогичных проблем. Менял библиотеки, узнал реальный адрес с помощью сканера, перепаивал и все-таки немного продвинулся: теперь в первом столбце, то есть в начале первой строки и в начале второй появляются буквы, с которых начинаются слова. Продолжения этих слов попросту нет. Так как в интернете нет аналогичных ситуаций, плюс у меня уже кончились идеи, решил спросить совета здесь.
Вот скетч, который залил:
#include <Wire.h> // библиотека для управления устройствами по I2C
#include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602
LiquidCrystal_I2C lcd(0x3F,20,2); // присваиваем имя lcd для дисплея 20х2
void setup() // процедура setup
{
lcd.init();
lcd.backlight(); // включение подсветки дисплея
lcd.setCursor(0,0); // ставим курсор на 1 символ первой строки
lcd.print("S LOVE"); // печатаем сообщение на первой строке
lcd.setCursor(0,1); // ставим курсор на 1 символ второй строки
lcd.print("ARDUINO"); // печатаем сообщение на второй строке
}
void loop() // процедура loop
{
/* это многострочный комментарий
// изначально процедура void loop() в скетче не используется
lcd.noDisplay(); // выключаем подсветку LCD дисплея
delay(500); // ставим паузу
lcd.display(); // включаем подсветку LCD дисплея
delay(500); // ставим паузу
*/
}
Итак, спрашивайте, если ситуация не ясна. Что это может быть? Вряд ли непропай, уже перепаял, да и буквы ведь все таки вылазят, хоть и не все. Одним словом, помогите)
Здесь на форуме есть решения, ищите. Одно из них описал лично я.
Ах да, в этом примере в начале верхней строки на дисплее выводится "S" , а в начале нижней "A". И больше ничего
Именно такой ситуации?
Скажите хотя бы как правильно открыть файл с расширением cpp, в этой ситуации.
Откройте исходники библиотеки и найдите там описанное. Поправьте, как сказано. Дело двух минут.
Скажите хотя бы как правильно открыть файл с расширением cpp, в этой ситуации.
В любом текстовом редакторе, например, в Notepad++.
Пишите что экран 1602 а инициализируете как 2002 может в этом косяк?
Извините, я ведь новичок в этом деле. Спасибо за помощь, ведь действительно заработало. Посидел, немного потупил и вуаля. Спасибо еще раз:)
Как же вы это нашли? Удивительно
Этот косяк в библиотеке
https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
Давно уже все поправлено, качайте библиотеки с первоисточников.
Первоисточников? Набирал в поисковике подключение LCD к ардуино, и первые 20 сайтов, по сути, являющихся самыми популярными, облазил полностью. Загружал с каждого библиотеки:). Знать бы, где эти первоисточники, и я только рад был бы оттуда качать.
Как же вы это нашли? Удивительно
ничего удивительного, не все, как Вы, " новичок в этом деле". Метод write тянется от класса Stream и даже от его родителя и всегда обязан возвращать количество выведенных данных. Это так во всех реализациях потоков от микроконтроллеров до суперкомпьютеров - это общее место. А в этой библиотеке, его вывод используется для подсчёта позиции следующего символа. Вот и вся удивительность. Грамотный человек это найдёт достаточно быстро, что мы и наблюдаем.
Первоисточников? Набирал в поисковике подключение LCD к ардуино, и первые 20 сайтов, по сути, являющихся самыми популярными, облазил полностью. Загружал с каждого библиотеки:). Знать бы, где эти первоисточники, и я только рад был бы оттуда качать.
Нужно как миниум знать программу, с которой вы работаете. Доступ к большинству библиотек есть прямо в среде arduino ide, Скетч- подключить библиотеку -управлять библиотеками - в поиске вбить LCD