Мазмуну:

ESP8266/ESP32 Weather Station with TFT LCD (s): 8 Steps
ESP8266/ESP32 Weather Station with TFT LCD (s): 8 Steps

Video: ESP8266/ESP32 Weather Station with TFT LCD (s): 8 Steps

Video: ESP8266/ESP32 Weather Station with TFT LCD (s): 8 Steps
Video: ESP8266 Nodemcu & ST7735 TFT Display based Weather Station v2 | Get Local Time & weather information 2024, Ноябрь
Anonim
ESP8266/ESP32 Weather Station with TFT LCD (s)
ESP8266/ESP32 Weather Station with TFT LCD (s)
ESP8266/ESP32 Weather Station with TFT LCD (s)
ESP8266/ESP32 Weather Station with TFT LCD (s)
ESP8266/ESP32 Weather Station with TFT LCD (s)
ESP8266/ESP32 Weather Station with TFT LCD (s)

Салам!

Бул кыска нускамада мен экинчи Esp8266 WS долбоорумду тартуулагым келет. Мен биринчи ESP долбоорумду жарыялагандан бери, мен өзүмдү экинчиси кылгым келди. Ошентип, менин муктаждыктарыма ылайык келген эски булак кодун кайра иштеп чыгууга бош убактым бар болчу.

Андыктан каршы болбосоңуз, мен аны сунуштайм.

1 -кадам: Аба ырайы станциясы

WS дагы эле openweathermap API ачкычын колдонуп, аба ырайы маалыматын жүктөп алып, экранда көрсөтөт.

Кичине коддоо керек болчу, анткени ал формада мен каалаган аба ырайынын сүрөтчөлөрүн көрсөтө алган жок.

2 -кадам: материалдар

WS үчүн керектүү бөлүктөр:

- Nodemcu V3 ESP8266

- ST7735 айдоочусу IC менен 1.8 дюймдук TFT ЖК

- F-F зымдары

- Булак коду

- Arduino IDE

- SPIFFS колдоосу

- Openweathermap API ачкычы

3 -кадам: Программалык камсыздоо

Бул долбоор үчүн мен баштапкы кодду жана керектүү битмап сүрөттөрүн берип жатам, аны менин github баракчамдан жүктөп алыңыз:

Мен колдонгон китепкана бул Bodmer тарабынан түзүлгөн TFT_eSPI.

Сиз эмне кылышыңыз керек: Туура китепканаларды жүктөп алыңыз, аны түзүңүз жана тактага жүктөңүз, SPIFFS менен bitmap сүрөттөрүн ESPке жүктөңүз жана lcd менен туташыңыз.

Мен 24 бит 100 X100 разряддык сүрөттөрдү колдондум, бирок сиз башка сүрөтчөлөрдү колдоно аласыз. Мен колдонгондор https://www.flaticon.com сайтынан жүктөлүп алынган

4 -кадам: LCD Pinout

Пинут төмөнкүдөй:

// SDO/MISOну NodeMCU пин D6ге көрсөтүү (же TFT окубаса, ажыратылган бойдон калтыруу)

// LEDди NodeMCU пин VINге көрсөтүү (же 5В, төмөндө караңыз)

// Display SCK NodeMCU пин D5ке

// Display SDI/MOSI NodeMCU пин D7ге

// Display DC (RS/AO) NodeMCU пин D3

// RESETти NodeMCU пин D4кө көрсөтүү (же RST, төмөндү караңыз)

// CSди NodeMCU пин D8ге көрсөтүү (же GND, төмөндү караңыз)

// Display GND to NodeMCU pin GND (0V)

// VCCди NodeMCU 5V же 3.3Vга көрсөтүү

Кыскартылган фон үчүн сиз 10K потенциометрди колдонсоңуз же башка GPIO пин колдонсоңуз болот. Өзүмө келсек, мен көбүнчө арткы жарык пинин TX пинине туташтырам. Мен билем, бул ESP үчүн абдан жакшы идея же өтө дени сак эмес, бирок ал ушундай иштеп жатат.

5 -кадам: WS аракетте

WS аракетте
WS аракетте
WS аракетте
WS аракетте
WS аракетте
WS аракетте

Баарын туура кылгандан кийин, метеостанция интернетке туташып жатканын жана аба ырайы тууралуу маалыматтарды жүктөп жатканын көрө аласыз.

Ар кандай параметрлер ар кандай циклдарда бөлүнөт.

Чыныгы аба ырайынын сүрөттөлүшү, температура, нымдуулук, шамалдын ылдамдыгы, метрлерде көрүнүшү, абанын басымы, шамалдын бурчу, булуттун камтылышы пайыз менен (%).

Кечки саат 9дан таңкы 7ге чейинки бонусту алсак, дисплей түнкү убакытты символизациялоо үчүн тескери бурулат.

6 -кадам: Кээ бир маанилүү кеңештер

Кээ бир маанилүү кеңештер
Кээ бир маанилүү кеңештер
Кээ бир маанилүү кеңештер
Кээ бир маанилүү кеңештер
Кээ бир маанилүү кеңештер
Кээ бир маанилүү кеңештер

Баарыңыздар билесиздер, интернетте 1.8 TFTнин бир нече варианттары. Чыныгы Adafruit lcd-s менен, адатта, эч кандай көйгөйлөр болбойт. Бирок жасалма колдонууда (көбүнчө 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 ЖК

Жаңы иконкалар

1 кошумча вариант

Pls User_setup.h файлын TFT_eSPI китепканасында ошого жараша эскизде түзөтүңүз. Pls аларга комментарий бербеңиз жана башка вариантты комментарийлеңиз, антпесе ал иштебейт.

Сиз GPIO 35тен 15ке чейин, GPIO 33төн 34кө чейин, GPIO 32ден 36га чейин туташтырышыңыз керек, анткени алар жөн гана казыктар, анан биздин дисплей иштебейт (сүрөттү караңыз).

Булак коду githubда жеткиликтүү.

Сунушталууда: