Оглавление:
- Шаг 1: метеостанция
- Шаг 2: материалы
- Шаг 3: Программное обеспечение
- Шаг 4: Распиновка ЖК-дисплея
- Шаг 5: WS в действии
- Шаг 6: несколько важных советов
- Шаг 7: Готово
- Шаг 8: небольшое обновление
Видео: Метеостанция ESP8266 / ESP32 с ЖК-дисплеем TFT: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Привет!
В этом кратком руководстве я хотел бы представить свой второй проект 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 в действии
После того, как вы все сделали правильно, вы увидите, что метеостанция подключается к Интернету и загружает данные о погоде.
Различные параметры разделены в разных циклах.
Вы видите фактическое описание погоды, температуру, влажность, скорость ветра, видимость в метрах, атмосферное давление, угол ветра, степень облачности в процентах (%).
Что касается бонуса между 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.
Рекомендуемые:
Профессиональная метеостанция с использованием ESP8266 и ESP32 DIY: 9 шагов (с изображениями)
Профессиональная метеостанция с использованием ESP8266 и ESP32 DIY: LineaMeteoStazione - это законченная метеостанция, которая может быть сопряжена с профессиональными датчиками от Sensirion, а также с некоторыми компонентами прибора Дэвиса (датчик дождя, анемометр)
Метеостанция NaTaLia: метеостанция на солнечной энергии Arduino сделала правильный выбор: 8 шагов (с изображениями)
Метеостанция NaTaLia: метеостанция на солнечной энергии Arduino сделала правильный выбор: после 1 года успешной работы в 2 разных местах я делюсь своими планами по проекту метеостанции на солнечной энергии и объясняю, как она превратилась в систему, которая действительно может выжить в течение длительного времени. периоды от солнечной энергии. Если вы последуете
3.2 Метеостанция TFT: 4 шага
3.2 Метеостанция TFT: Да! Это снова та же метеостанция, но с большим дисплеем. Пожалуйста, взгляните на предыдущие инструкции. У меня все еще был ЖК-дисплей 320X480 для Arduino Mega, и мне было интересно, могу ли я переписать свой эскиз, чтобы поработать над ним. Мне повезло
Усовершенствованная метеостанция 1,8 TFT LCD: 5 шагов
Усовершенствованная метеостанция 1,8 TFT LCD: немного меньше, но больше
2.4 Метеостанция TFT Arduino с несколькими датчиками: 7 шагов
2.4 TFT-метеостанция Arduino с несколькими датчиками: портативная метеостанция Arduino с TFT-дисплеем и несколькими датчиками