Съдържание:

Метеорологична станция ESP8266/ESP32 с TFT LCD (и): 8 стъпки
Метеорологична станция ESP8266/ESP32 с TFT LCD (и): 8 стъпки

Видео: Метеорологична станция ESP8266/ESP32 с TFT LCD (и): 8 стъпки

Видео: Метеорологична станция ESP8266/ESP32 с TFT LCD (и): 8 стъпки
Видео: ESP8266 Weather Station - Openweathermap.org API - OLED Display 2024, Ноември
Anonim
ESP8266/ESP32 метеорологична станция с TFT LCD (и)
ESP8266/ESP32 метеорологична станция с TFT LCD (и)
ESP8266/ESP32 метеорологична станция с TFT LCD (и)
ESP8266/ESP32 метеорологична станция с TFT LCD (и)
ESP8266/ESP32 метеорологична станция с TFT LCD (и)
ESP8266/ESP32 метеорологична станция с TFT LCD (и)

Здравейте!

В тази кратка инструкция бих искал да представя втория си проект Esp8266 WS. Откакто публикувах първия си ESP проект, исках да си направя втори. Така че имах малко свободно време да преработя стар изходен код, за да отговаря на моите нужди.

Така че, ако нямате нищо против, ще го представя.

Стъпка 1: Метеорологичната станция

WS все още използва API ключ за openweathermap, за да изтегли данните за времето и да ги покаже на екрана.

Необходимо беше малко кодиране, тъй като в тази форма не можеше да покаже иконите за времето, които исках.

Стъпка 2: Материали

Необходими части за WS:

- Nodemcu V3 ESP8266

- 1.8 инчов TFT LCD с ST7735 драйвер IC

- F-F проводници

- Програмен код

- IDE на Arduino

- Поддръжка на SPIFFS

- API ключ на Openweathermap

Стъпка 3: Софтуер

За този проект предоставям изходния код и необходимите растерни изображения, изтеглете го от моята страница на github:

Библиотеката, която използвах, е TFT_eSPI, създадена от Bodmer.

Всичко, което трябва да направите: Изтеглете правилните библиотеки, компилирайте го и го качете на дъската, качете растерните изображения с SPIFFS в ESP и се свържете с lcd.

Използвал съм 24 битови 100 X100 растерни изображения, но можете да използвате всякакви други икони. Тези, които използвах, са изтеглени от

Стъпка 4: LCD Pinout

Разпилката е следната:

// Показване на SDO/MISO към NodeMCU извод D6 (или оставете изключен, ако не четете TFT)

// Дисплей LED към NINMCU pin VIN (или 5V, вижте по -долу)

// Показване на SCK към NodeMCU щифт D5

// Показване на SDI/MOSI към NodeMCU щифт D7

// Показва DC (RS/AO) към NodeMCU извод D3

// Показване на RESET към NodeMCU щифт D4 (или RST, вижте по -долу)

// Показване на CS към NodeMCU щифт D8 (или GND, вижте по -долу)

// Показване на GND към NodeMCU извод GND (0V)

// Показване на VCC към NodeMCU 5V или 3.3V

За намалена осветеност можете да използвате 10K потенциометър или да използвате друг GPIO щифт. Що се отнася до мен, обикновено свързвам щифт за подсветка към TX щифт. Знам, че това не е много добра идея или много здравословно за ESP, но работи по този начин.

Стъпка 5: WS в действие

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

След като сте направили всичко правилно, можете да видите, че метеорологичната станция се свързва с интернет и изтегля данни за времето.

Различните параметри са разделени в различни контури.

Това, което виждате, е действителното описание на времето, температура, влажност, скорост на вятъра, видимост в метри, въздушно налягане, ъгъл на вятъра, покритие на облаците в проценти (%).

Що се отнася до бонус между 21:00 и 7:00 сутринта, дисплеят се обръща обратно, за да символизира нощното време.

Стъпка 6: Някои важни съвети

Някои важни съвети
Някои важни съвети
Някои важни съвети
Някои важни съвети
Някои важни съвети
Някои важни съвети

Както всички знаете, има няколко варианта на 1,8-инчовия TFT в интернет. С оригиналните Adafruit LCD обикновено няма проблеми. Но когато използвате фалшиви (обикновено от Aliexpress), трябва да направите някои корекции.

Библиотеката на Bodmers TFT_eSPI е много страхотна и богата функционалност. И най -хубавото е, че той успя да обработи изместванията на пикселите в зависимост от вида 1.8 TFT, който използвате.

За да се преодолее този проблем, предлагам следното:

Отидете в папката на библиотеката и редактирайте файла User_Setup.h. Коментирайте #дефинирайте 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.

Препоръчано: