Оглавление:

Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT: 8 шагов
Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT: 8 шагов

Видео: Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT: 8 шагов

Видео: Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT: 8 шагов
Видео: Очередная метеостанция берущая информацию на Openweathermap на ili9341 и esp8266 от ThingPulse.com 2024, Ноябрь
Anonim
Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT
Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT
Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT
Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT
Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT
Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT

Привет!

В этом кратком руководстве я хотел бы представить свой второй проект Esp8266 WS. Поскольку я опубликовал свой первый проект ESP, я хотел сделать себе второй. Так что у меня было немного свободного времени, чтобы переделать старый исходный код под свои нужды.

Так что, если вы не возражаете, я его представлю.

Шаг 1: метеостанция

WS по-прежнему использует ключ API openweathermap для загрузки данных о погоде и отображения их на экране.

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

Шаг 2: материалы

Детали, необходимые для WS:

- Nodemcu V3 ESP8266

- 1,8-дюймовый TFT-дисплей с драйвером ST7735

- провода F-F

- Исходный код

- Arduino IDE

- Поддержка SPIFFS

- Ключ API Openweathermap

Шаг 3: Программное обеспечение

Для этого проекта я предоставляю исходный код и необходимые растровые изображения, загрузите их со страницы github:

Я использовал библиотеку TFT_eSPI, созданную Бодмером.

Все, что вам нужно сделать: загрузить правильные библиотеки, скомпилировать их и загрузить на плату, загрузить растровые изображения с помощью SPIFFS в ESP и подключиться к ЖК-дисплею.

Я использовал 24-битные растровые изображения 100 X100, но вы можете использовать любые другие значки. Те, что я использовал, были скачаны с

Шаг 4: Распиновка ЖК-дисплея

Распиновка следующая:

// Отображение SDO / MISO на выводе D6 NodeMCU (или оставьте отключенным, если не читаете TFT)

// Отображение светодиода на выводе NodeMCU VIN (или 5 В, см. Ниже)

// Отображение SCK на выводе D5 NodeMCU

// Отображение SDI / MOSI для вывода NodeMCU D7

// Отображение постоянного тока (RS / AO) на вывод NodeMCU D3

// Отображение RESET на выводе D4 NodeMCU (или RST, см. Ниже)

// Отображение CS на вывод NodeMCU D8 (или GND, см. Ниже)

// Отображение GND на выводе NodeMCU GND (0 В)

// Отображение VCC на NodeMCU 5 В или 3,3 В

Для уменьшения подсветки вы можете использовать потенциометр 10K или другой вывод GPIO. Лично я обычно подключаю вывод подсветки к выводу TX. Я знаю, что это не очень хорошая идея или не очень полезна для ESP, но так работает.

Шаг 5: WS в действии

WS в действии
WS в действии
WS в действии
WS в действии
WS в действии
WS в действии

После того, как вы все сделали правильно, вы увидите, что метеостанция подключается к Интернету и загружает данные о погоде.

Различные параметры разделены в разных циклах.

Вы видите фактическое описание погоды, температуру, влажность, скорость ветра, видимость в метрах, атмосферное давление, угол ветра, степень облачности в процентах (%).

Что касается бонуса между 21:00 и 7:00, дисплей становится инверсным к символу ночного времени.

Шаг 6: несколько важных советов

Несколько важных советов
Несколько важных советов
Несколько важных советов
Несколько важных советов
Несколько важных советов
Несколько важных советов

Как вы все знаете, в Интернете есть несколько вариантов 1,8-дюймового TFT. С подлинными ЖК-дисплеями Adafruit обычно не возникает проблем. Но при использовании поддельных (обычно с Aliexpress) вам придется внести некоторые коррективы.

Библиотека Bodmers TFT_eSPI очень интересна и функциональна. И самое приятное то, что он сделал это для обработки смещения пикселей в зависимости от того, какой 1,8-дюймовый TFT вы используете.

Чтобы решить эту проблему, я предлагаю следующее:

Перейдите в папку библиотеки и отредактируйте файл User_Setup.h. Раскомментируйте #define ST7735_DRIVER и прокомментируйте остальные.

Затем раскомментируйте tft высоту и ширину. А затем в моем случае (REDTAB) раскомментируйте, например: #define ST7735_REDTAB. После этого сохраните его, скомпилируйте скетч и загрузите на плату. Чтобы быть уверенным, что я тоже определил параметры в скетче. Это немного длинная процедура, потому что вам придется каждый раз компилировать и выгружать скетч на плату, пока не исчезнет смещение, но это стоит поэкспериментировать. Для редактирования файла h. файлы я настоятельно рекомендую Wordpad. Изображения включены.

Шаг 7: Готово

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

В основном я просто сделал это для себя, но через день я подумал, что поделюсь им. Может, кому-то он понравится больше, чем мне.

Спасибо, что прочитали мои инструкции, надеюсь, вы найдете их полезными и будете использовать по своему усмотрению.

Хорошего дня!

Шаг 8: небольшое обновление

Небольшое обновление
Небольшое обновление
Небольшое обновление
Небольшое обновление
Небольшое обновление
Небольшое обновление

Через несколько дней я подумал, что переделаю этот WS в новом виде.

Изменения: ESP32 Uno R3

Параллельный ILI9340 / 41 TFT LCD

Новые иконки

1 дополнительная опция

Пожалуйста, отредактируйте файл User_setup.h в библиотеке TFT_eSPI соответственно в скетче. Пожалуйста, раскомментируйте их и закомментируйте другой вариант, иначе он не сработает.

Вы должны подключить GPIO 35 к 15, GPIO 33 к 34, GPIO 32 к 36, потому что это только входные контакты, и тогда наш дисплей не будет работать (см. Рисунок).

Исходный код доступен на github.

Рекомендуемые: