Mündəricat:

TFT LCD (lər) lə ESP8266/ESP32 Hava İstasyonu: 8 addım
TFT LCD (lər) lə ESP8266/ESP32 Hava İstasyonu: 8 addım

Video: TFT LCD (lər) lə ESP8266/ESP32 Hava İstasyonu: 8 addım

Video: TFT LCD (lər) lə ESP8266/ESP32 Hava İstasyonu: 8 addım
Video: How to Make PLC LCD HMI || FLProg 2024, Noyabr
Anonim
TFT LCD ilə ESP8266/ESP32 Hava İstasyonu
TFT LCD ilə ESP8266/ESP32 Hava İstasyonu
TFT LCD ilə ESP8266/ESP32 Hava İstasyonu
TFT LCD ilə ESP8266/ESP32 Hava İstasyonu
TFT LCD ilə ESP8266/ESP32 Hava İstasyonu
TFT LCD ilə ESP8266/ESP32 Hava İstasyonu

Salam!

Bu qısa təlimatda ikinci Esp8266 WS layihəmi təqdim etmək istərdim. İlk ESP layihəmi yerləşdirdiyim üçün özümü ikinci bir layihə etmək istədim. Ehtiyaclarıma uyğun köhnə bir qaynaq kodunu yenidən işləmək üçün boş vaxtım oldu.

Buna görə də zəhmət olmasa, təqdim edəcəyəm.

Addım 1: Hava İstasyonu

WS hələ də hava məlumatlarını yükləmək və ekranda göstərmək üçün openweathermap API açarından istifadə edir.

Bir az kodlaşdırmağa ehtiyac var idi, çünki bu formada istədiyim hava nişanlarını göstərə bilmirdi.

Addım 2: Materiallar

WS üçün lazım olan hissələr:

- Nodemcu V3 ESP8266

- ST7735 sürücü IC ilə 1.8 düymlük TFT LCD

- F-F telləri

- Mənbə kodu

- Arduino IDE

- SPIFFS dəstəyi

- Openweathermap API açarı

Addım 3: Proqram təminatı

Bu layihə üçün mənbə kodunu və lazım olan bitmap şəkillərini təqdim edirəm, github səhifəmdən yükləyin:

İstifadə etdiyim kitabxana Bodmer tərəfindən yaradılan TFT_eSPI -dir.

Etməli olduğunuz şey: Düzgün kitabxanaları yükləyin, tərtib edin və lövhəyə yükləyin, SPIFFS ilə bitmap şəkillərini ESP -ə yükləyin və lcd ilə əlaqə saxlayın.

24 bit 100 X100 bitmap şəkillərindən istifadə etdim, ancaq digər ikonalardan istifadə edə bilərsiniz. İstifadə etdiklərimi https://www.flaticon.com saytından endirmişəm

Addım 4: LCD Pinout

Pinout aşağıdakı kimidir:

// SDO/MISO -nu NodeMCU pin D6 -ya göstərin (və ya TFT oxumasanız əlaqəni kəsin)

// LED -i NodeMCU pin VIN -ə göstərin (və ya 5V, aşağıya baxın)

// SCK -ni NodeMCU pin D5 -ə göstərin

// NodeMCU pin D7 -də SDI/MOSI göstərin

// DC (RS/AO) NodeMCU pin D3 -ə göstərin

// RESET -i NodeMCU pin D4 -ə göstərin (və ya RST, aşağıya baxın)

// CS -ni NodeMCU pin D8 -ə göstərin (və ya GND, aşağıya baxın)

// GND -ni NodeMCU pin GND -ə (0V) göstərin

// VCC -ni NodeMCU 5V və ya 3.3V -ə göstərin

Azaldılmış işıqlandırma üçün 10K potensiometrdən və ya başqa bir GPIO pinindən istifadə edə bilərsiniz. Özümə gəldikdə, ümumiyyətlə arxa işıq pinini TX pininə bağlayıram. ESP üçün çox yaxşı bir fikir olmadığını və ya çox sağlam olduğunu bilirəm, amma bu şəkildə işləyir.

Addım 5: WS Fəaliyyətdədir

WS Fəaliyyətdədir
WS Fəaliyyətdədir
WS Fəaliyyətdədir
WS Fəaliyyətdədir
WS Fəaliyyətdədir
WS Fəaliyyətdədir

Hər şeyi düzgün etdikdən sonra hava stansiyasının internetə qoşulduğunu və hava məlumatlarını yüklədiyini görə bilərsiniz.

Fərqli parametrlər fərqli döngələrdə ayrılır.

Gördüyünüz faktiki hava şəraiti, temperatur, rütubət, küləyin sürəti, metrlərlə görünmə qabiliyyəti, hava təzyiqi, külək bucağı, buludun əhatə dairəsi (%).

21.00 -dan 7.00 -dək bir bonusa gəldikdə, ekran gecəni simvollaşdırmaq üçün tərsinə çevrilir.

Addım 6: Bəzi vacib məsləhətlər

Bəzi vacib məsləhətlər
Bəzi vacib məsləhətlər
Bəzi vacib məsləhətlər
Bəzi vacib məsləhətlər
Bəzi vacib məsləhətlər
Bəzi vacib məsləhətlər

Hamınızın bildiyiniz kimi, İnternetdə 1.8 TFT-nin bir neçə variantı var. Həqiqi Adafruit lcd-ləri ilə ümumiyyətlə heç bir problem olmur. Ancaq saxta olanları (ümumiyyətlə Aliexpress-dən) istifadə edərkən bəzi düzəlişlər etməlisiniz.

Bodmers TFT_eSPI kitabxanası çox möhtəşəm və zəngin funksionallıqdır. Və ən yaxşı tərəfi, istifadə etdiyiniz 1.8 TFT növündən asılı olaraq piksel ofsetlərini idarə etməsidir.

Bu problemi həll etmək üçün aşağıdakıları təklif edirəm:

Kitabxana qovluğuna gedin və User_Setup.h faylını redaktə edin. Yazmayın #ST7735_DRIVER -i təyin edin və digərlərinə şərh yazın.

Sonra tft hündürlüyünü bir genişliyə yazın. Və sonra mənim vəziyyətimdə (REDTAB), məsələn, şərh verməyin: #define ST7735_REDTAB. Bundan sonra anı qeyd edin və eskizini tərtib edin və lövhəyə yükləyin. Eskizdə də parametrləri təyin etdiyimə əmin olmaq üçün bu bir qədər uzun bir prosedurdur, çünki ofset yox olana qədər hər dəfə taxtaya çıxmaq üçün eskizi tərtib etməli və yükləməlisiniz, amma sınağa dəyər. H redaktə etmək üçün. Wordpad -ı güclü şəkildə təklif edirəm. Şəkillər daxildir.

Addım 7: Tamamlandı

Hər şeyi düzgün etdikdən sonra bu kiçik gadgetdan zövq ala bilərsiniz. Bitmap şəkillərini hava kodları ilə bacardığım qədər yaxşı əlaqələndirməyə çalışdım, amma hələ də sınayıram.

Əsasən özüm üçün hazırladım, amma bir gündən sonra paylaşacağımı düşündüm. Bəlkə kimsə məndən daha çox bəyənəcək.

Təlimatımı oxuduğunuz üçün təşəkkür edirəm, inşallah faydalı olar və istədiyiniz kimi istifadə edərsiniz.

Gözəl gün arzu edirəm!

Addım 8: Kiçik bir yeniləmə

Kiçik bir yeniləmə
Kiçik bir yeniləmə
Kiçik bir yeniləmə
Kiçik bir yeniləmə
Kiçik bir yeniləmə
Kiçik bir yeniləmə

Bir neçə gündən sonra bu WS -ni yeni bir formada yenidən hazırlayacağımı düşündüm.

Dəyişikliklər: ESP32 Uno R3

Paralel ILI9340/41 TFT LCD

Yeni nişanlar

1 əlavə seçim

Pls User_setup.h faylını TFT_eSPI kitabxanasında buna uyğun olaraq eskizdə redaktə edin. Pls onlara şərh yazmayın və başqa variantı şərh edin, əks halda işləməyəcək.

GPIO 35 -dən 15 -ə, GPIO 33 -dən 34 -ə, GPIO 32 -dən 36 -ya bağlamalısınız, çünki bunlar yalnız giriş pinləridir və sonra ekranımız işləməyəcək (şəklə baxın).

Mənbə kodu github -da mövcuddur.

Tövsiyə: