Подключение_дисплея_к_esp8266

Подключение_дисплея_к_esp8266

Подключение LCD дисплея к ESP8266 c прошивкой ESPEasy

Вместе с монтажным шкафом мне достался дисплей Winstar WH2004A-YYH-CPH

Подключим экран к модулю на базе PCF8574A вот таким образом:

1 контакт модуля со стороны пинов (gnd, vcc, sda, scl), 16 контакт модуля со стороны перемычки и led индикатора.

Подключим теперь сам модуль к есп:

GND > GND
VCC > Vin (5v)
SDA > D2 (gpio4)
SCL > D1 (gpio5)

Затем в espeasy перейдем в Tools и нажмем I2C Scan:

и посмотрим какой I2C адрес у нашего экрана. В данном случае 0x3f

Теперь добавим экран в Devices c такими настройками:

Line 1-4 можно писать все что угодно для вывода на экран. Примеры тут и тут Например я подключил для теста датчик давления BMP280 (так же, SDA на D2 (gpio4) и SCL на D1 (gpio5)) и вывел давление , температуру, системное время есп и ip:

Яркость текста настраивается вот тут:

Подсветка выключается снятием перемычки около led индикатора модуля (на фото в самом низу)

wildSCSI › Блог › ESP8266 NodeMcu. Подключение двухстрочного экрана

Подключил экран (табло) LCD1602 по шине i2c микроконтроллеру ESP8266 NodeMcu.
Экрану нужно питание 3.3-5V. Взял с его с платы. Соединял платы проводами взятых от старых корпусов ПК.

Подключение i2c:
SCL — GPIO 5 (D1)
SDA — GPIO 4 (D2)

т.к. к шине данных i2c можно подключить много устройств, у каждой свой адрес. Чтобы найти адрес табло воспользовался сканером из шела питона.

Ссылка на библиотеки и файл с программой, т.е. всё чтобы запустить

Дисплеи ST7735 и ST7789. Подключаем к ESP8266, выводим изображение без SD карты.

Недавно заказал с алиэкпресс интересный экран, достаточно маленького размера, всего 1.44 дюйма, но обладающий разрешением 240х240 пикселей на матрице IPS, и обладающий SPI контроллером ST7789, т.е. его можно подружить с библиотекой Adafruit. Появление таких качественных экранов по бросовой цене, могу объяснить только тем, что возможно их сделали огромную партию под какие-нибудь смарт-часы или похожие устройства.

Читайте также:  Чертеж_филейного_ножа_для_рыбы

К AVR подключать его не сильно хотелось, ведь его тактовая частота выводит изображения с сильной задержкой, и я решил протестировать его на ESP8266. Конечно особой информации в сети не нашлось, но вроде стандартная библиотека, судя по быстрому описанию на гитхабе, позволяла легко его подключить (хаха, не тут то было). Добавляем библиотеку в Arduino IDE

Открываем пример graphictest, который появится у нас после добавления библиотеки, и видим много ifdef, для разных чипов, и вариантов подключений. Я эти куски сразу почистил, до лаконичных выводов, которые мне нужны. Собственно, какую-то часть менять не нужно, так как она завязана на аппаратный SPI

Тут я всё понял, когда посмотрел на выводы дисплея, ведь зашитая на спех программа ничего не отобразила на дисплее. Причину нашёл быстро, ведь я никуда не подключил вывод CS. Стоп, а где он?

Почему-то китайцы решили, что он не нужен (и да, можно выйти из ситуации программно, но стандартная библиотека использует его, а паяльника я боюсь меньше, чем программирования). Нашёл этот дисплей ещё раз на алиэкпресс, и о чудо, на самой матрице вывод обнаружился

К сожалению вывод CS был припаян к земле, и я решил, что его переходной контакт будет под экраном и аккуратно ножом сдёрнул его.

Но там его не оказалось, и остался вариант сложнее – полностью отпаять шлейф экрана, что было не просто, ведь его легко порвать. Кстати теперь сам дисплей можно использовать в своих устройствах без этой синей площадки. Распаять его достаточно легко на свою плату, изготовленную ЛУТом например, шаг выводов позволяет.

Контакт этот я срезал ножом, что он не контактировал с контактом GND, это делать нужно тоже аккуратно.

Читайте также:  Как_обрезать_большую_тую

Теперь запаиваем обратно шлейф матрицы, и к выводу CS припаиваем уже свой провод, который можно подключить в ESP8266.

Итоговая схема подключения дисплея на ST7789 (и ST7735) получилась такая

Ещё раз пройдёмся по коду из примера graphictest из библиотеки st7789 и st7735

Как я писал выше, я убрал все замены ifdef, и оставил выводы, которые точно буду использовать (выше в статье). ЗАтем закомментировал ненужный контроллер, и раскомментировал тот, что установлен в этом дисплее

Также раскомментировал строку, с разрешением, которое мне нужно. Остальные удалил

Вот теперь, при подключённом выводе CS демка сразу заработала. Значит нам доступны все функции библиотек adafruit_gfx. Скорость работы намного выше, чем у AVR.

Чтобы оценить качество экрана в полной мере, лучше вывести изображение, обычно это делается с micro-sd карты, но в самом экране её нет (хотя у adafruit вроде есть версии с флеш-слотом). Вспомнив, что у ESP8266 достаточно много собственной памяти для программ, решил попробовать записать изображение в память программы. Для этого можно воспользоваться ссылкой

Загружаем картинку нужного разрешения, и конвертируем в *.с файл. Далее, я чищу header этого файла, переименовываю в *.h, кладу в папку с проектом, и подключаю командой

Файл очень большой, и когда он лежит в проекте занимает много места. Каждый пиксель описывается в 16 битной цветовой гамме, и это конечно избыточно, замедляет вывод изображения. В самом файле картинки нас интересует переменная памяти программ, я назвал её DogBitmap

Теперь простой командой из библиотеки adafruit можно вывести её на экран

Где, первые два аргумента (0,0) – это стартовая позиция отрисовки, потом имя нашей переменной, и затем размеры изображения по ширине и высоте (240х240). Смотрим результат. Картинку я взял из известных стикеров Вконтакте.

Читайте также:  Каким_лаком_покрывают_гитары

Как я уже писал, у этого экрана потрясающие углы обзора, и большое разрешение на 1.4 дюйма размера, так что для отображения картинок в маленьких устройствах он подходит великолепно. Как обычно, код по ссылке

Ссылка на основную публикацию
Поделки_незнайка_и_его_друзья_своими_руками
Как сделать из бумаги незнайку Данный вариант поделки как нельзя лучше подходит для детского творчества. Всем нам, конечно, знакомы похождения...
Подбор_теплового_реле_по_мощности_двигателя_таблица
Выбор теплового реле В данной статье будет рассматриваться выбор теплового реле для асинхронного электродвигателя. Тепловое реле предназначено для защиты двигателя...
Поделки_арктика_своими_руками
Мастер-класс по изготовлению макета «Арктика и Антарктика» Татьяна Корякина Мастер-класс по изготовлению макета «Арктика и Антарктика» Здравствуйте, гости моего блога....
Подключение_дисплея_к_esp8266
Подключение LCD дисплея к ESP8266 c прошивкой ESPEasy Вместе с монтажным шкафом мне достался дисплей Winstar WH2004A-YYH-CPH Подключим экран к...
Adblock detector