ARDUINO Проблемы с дисплеями 1602 и подобными

Brabus911

✩✩✩✩✩✩✩
13 Апр 2019
1
0
Ребята, собираю первый раз такие вещи, но хочется разобраться собрал точно по схеме дисплей выглядит вот так, все подключено верно. В проге после заливки прошивки мигает красный и зелёный цвет светодиода и всё. Тишина. В проге ардуино ide в меню - инструменты - жму монитор порта (для программы debug 1) - в окне пишет текст rtc OK, mhz-19 bme 280 ок. all good...bme завелся с библиотекой BlueDot_BME280.h. Проблема с дисплеем сейчас - он рабочий и я в чем то накосячил, или он показывает ошибочную инфу и неисправен? помогите разобраться новичку, пожалуйста.
 

Вложения

пельмешек

✩✩✩✩✩✩✩
15 Апр 2019
1
0
Вот не задача дисплей 1602 но графики и лого не выводятся на экране только полоски проверки контрастности как мне быль с этим?
 

svoi

✩✩✩✩✩✩✩
16 Апр 2019
1
0
Привет всем подскажите пожалуйста я всё спаял загрузил прошивку а на дисплее только квадраты белые менял адрес 0x27 на 0x3f квадраты как были так и есть в чём может быть проблема кто нибудь знает . Дисплей 2004
 

zack

✩✩✩✩✩✩✩
20 Дек 2018
3
0
Привет всем подскажите пожалуйста я всё спаял загрузил прошивку а на дисплее только квадраты белые менял адрес 0x27 на 0x3f квадраты как были так и есть в чём может быть проблема кто нибудь знает . Дисплей 2004
Попробуй по одному прибору подключить, у меня тоже такое было. Это как я выяснил это произошло из-за того что я подключил все датчики одновременно, но в дальнейшем она пропала когда я начал экспериментировать подключая отдельно.
Как я понял это глюк последней версии прошивки. Можешь попробовать другую.
 

Smit

✩✩✩✩✩✩✩
5 Фев 2019
5
2
Привет всем подскажите пожалуйста я всё спаял загрузил прошивку а на дисплее только квадраты белые менял адрес 0x27 на 0x3f квадраты как были так и есть в чём может быть проблема кто нибудь знает . Дисплей 2004
найди библиотеку для датчика bme180 BlueDot_BME280.h.и в комментариях под проектом метеостанции от 10 апреля выложен измененный код с этой библиотекой.у меня тоже одни квадраты были на экране,а сделав эти изменения у меня всё заработалокоменты.png
 

DAK

★★★✩✩✩✩
8 Окт 2020
517
137
Наступил на грабли. просто для заметки.
Изначально у меня был дисплей 1602 без модуля подключения по I2C.
Так как в заначке есть пачка PCF8574T, решил не покупать модуль, а сделать подключение самостоятельно.
Загуглил, нашёл схему и вперёд... После сбора схемы выяснил, что дисплей корректно не хочет работать. Убил время на проверку схему и работоспособности микросхемы, потом пошёл ещё раз гуглить.
Нашёл новую ссылку с другой схемой подключения (ссылка не первоисточник). Ниже вставил работающую схему подключения.
LCD1602-PCF8574-I2C-schema.jpg
Пост создал тупо для того, чтобы другие на грабли не наступали, с сайта Алекса всё классно гуглится. Надеюсь что через пару недель эта схема будет гуглится первой. (Транзистор брал первый попавшийся npn из блока питания ПК).
 

FlyingCat98

✩✩✩✩✩✩✩
1 Янв 2021
1
1
Подарили родители на новый год arduino UNO (китайская) со всякими дополнительными деталями. Решил проверить работоспособность элементов - работают все. Но на экране (LCD 1602a) после припаивания ножек (на макетке собирать) всё работало нормально. Артефакты пошли после добавления I2C - вместо текста из скетча идёт строка с прямоугольниками. Библиотеку LiquidCrystal_I2C скачал. Настройку контраста провёл. Дрова на чип CH320G скачал. Тест на мигающую лампочку провёл. Ардуинка в норме. Как исправить?
 
  • Лойс +1
Реакции: marlya112

SarmatK

✩✩✩✩✩✩✩
13 Июл 2021
14
2
День добрый, уважаемые!

Я только начинаю изучение (да и на форуме первый день) и встретился с непонятным моментом - на LCD1602 выводятся черные квадраты вместо символов. На странице урока сказано:
  • Если дисплей показывает чёрные прямоугольники или пустой экран – крутим контраст
  • Если кроме чёрных прямоугольников и пустого экрана ничего не видно – меняем адрес в программе.
Контраст ничего не дает - первая строка из черных квадратов, а с адресом все должно быть нормально, так как в функции loop() я мигаю подсветкой дисплея и это работает, а значит адрес верный. Тогда в чем дело?
Код:
C++:
// базовый пример инициализации и вывода текста
#include <LiquidCrystal_I2C.h>  // подключаем библу
#include <Wire.h>

// адрес дисплея 0x3f или 0x27
// размер дисплея 16x2 (поддерживаются и другие, например 20x4)
LiquidCrystal_I2C lcd(0x27, 16, 2);  // адрес, столбцов, строк
void setup() {
  lcd.init();           // инициализация
  //lcd.backlight();      // включить подсветку
  lcd.setCursor(1, 0);  // столбец 1 строка 0
  lcd.print("Hello, world!");
  lcd.setCursor(4, 1);  // столбец 4 строка 1
  lcd.print("GyverKIT");
}

void Flash(int time){
  digitalWrite(LED_BUILTIN, 0);
  delay(time);
  digitalWrite(LED_BUILTIN, 1);
  delay(time);
}

void loop() {
  lcd.backlight();
  Flash(500);
  lcd.noBacklight();
  Flash(500);
}
Смена адреса на 0x3f, как и д.б., приводит к тому, что дисплей перестает мигать подсветкой, так как команд не получает.

Ардуинка питается от USB, дисплей - от ардуинки (5v), может ему такого напряжения мало?

++:
Подавал питание от 5 до 15 вольт (ЛБП) - ничего не изменилось, во всем диапазоне контрастностей дисплей выводит черные квадраты или пустоту... :(
 
Изменено:
  • Красота! +2
Реакции: sampkube

ТехнарьКто

★★★★★✩✩
13 Янв 2020
270
437
@SarmatK,

Скетч у Вас рабочий. Напряжения в 5V должно быть достаточно. Встречал один раз, что при питании через стабилизатор ардуины как в Вашем случае, питания дисплею не хватало. Нехватка напряжения питания была в том, что окисленные контакты проводов и макетной платы приводили к большому падению напряжения. Подсветка работала, а вместо информации были черные квадраты. Изменение напряжения питания на Vin до стабилизатора напряжения на ситуацию не влияет. Просто подал 5V на дисплей (массы объединить обязательно) и все заработало.
 

SarmatK

✩✩✩✩✩✩✩
13 Июл 2021
14
2
@ТехнарьКто,

Спасибо, попробую питать их отдельно. А макетка действительно так себе - очень слабенько держатся в ней проводки из набора.:(

Запараллелил питание - ардуинка и дисплей питаются от БП из набора, напряжение на дисплее = 5.28V... но на дисплее по-прежнему либо пусто, либо черные знакоместа в первой строке.

++: Закомментировал строку "lcd.init();" и получил тот же самый моргающий экран с квадратами - то есть, ошибка может заключаться в программе, а не в схеме. Как узнать, какую именно библиотеку использует IDE? Может какой-то конфликт возникает..? Функции не из той либы, например... :(
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,263
1,301
Москва
Если @ТехнарьКто пишет, что скетч рабочий, то скорее всего он проверил его. Так что искать в проводах и настройках. Фото хоть сделайте того , что показывает. И фото дисплея с 2-х сторон
 

SarmatK

✩✩✩✩✩✩✩
13 Июл 2021
14
2
Если @ТехнарьКто пишет, что скетч рабочий, то скорее всего он проверил его. Так что искать в проводах и настройках.
Я не на скетч грешу, а на подключение библиотеки. После включения подробного вывода, я увидел предупреждения о задвоившихся определениях членов класса "LiquidCrystal_I2C" - вот тут, наверное, собака и порылась.

в конце компиляции ИДЕ выдает список всех использованных в скетче библиотек, если у вас стоит галочка "показывать вывод компилятора"
Спасибо, поставил галочку и увидел кучу варнингов. Буду разбираться.

Вот фото во время работы и дисплея с двух сторон.
LCD1602_1.png LCD1602_2.png LCD1602_3.png
 

SarmatK

✩✩✩✩✩✩✩
13 Июл 2021
14
2

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@SarmatK, раз подсветка работает, то проблема с контрастностью, возможно потенциометр бракованный, мультиметром проверить не мешает что на пин дисплея приходит
 

SarmatK

✩✩✩✩✩✩✩
13 Июл 2021
14
2
@SarmatK, раз подсветка работает, то проблема с контрастностью, возможно потенциометр бракованный, мультиметром проверить не мешает что на пин дисплея приходит
На пин приходит от 0 до 5 вольт, в зависимости от положения ротора. Так и должно быть?
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@SarmatK, да, возможно дело в контактах, отмойте флюс и прозвоните сами контакты, а не просто пины
1626428137275.png
 

ТехнарьКто

★★★★★✩✩
13 Янв 2020
270
437
Спасибо, но я работаю под Линуксом.
Вы почему-то считаете, что мы тут экстрасенсы? Понял, что уровень ваш много ниже начального. В общем идите Вы в сад. В смысле детский, для ардуинщиков. Сначала прошиваете стандартный блинк "Blink" из примеров. Если светодиод мигает. Это подтвердит, что Вы смогли правильно настроить порт и научились прошивать простейшие скетчи. Затем прошиваете "Здравствуй мир" в примерах это "Hello World". Вот когда это у Вас получиться, тогда и поговорим.

@SarmatK, раз подсветка работает, то проблема с контрастностью, возможно потенциометр бракованный, мультиметром проверить не мешает что на пин дисплея приходит
На фото отчетливо видно, с контрастностью все хорошо. Пусть научиться запускать стандартные примеры из стандартных библиотек, а не любит мозг сообществу самодельными скетчами.
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@ТехнарьКто, если выкрутить контрастность на максимум такие же прямоугольники и получатся, разве что под определенным углом символы видны будут, так что по 1 фото так не определить.
Видно что светодиод(13) горит, значит все же ардуино прошивается.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,263
1,301
Москва
@SarmatK,
Ниже 3 фото LCD , тоже, только графическое.
1) фото сделано при максимально выкрученном в одну сторону потенциометре.
2) Тоже положение, только под углом.
3) Нормально настроенный
4) не сделал, это выкручено в другую сторону, экран совсем пустой.

Как вариант попробовать поработать без модуля i2c , подключив по параллельному интерфейсу.
1626451972120.png