Բովանդակություն:

ESP8266/ESP32 Եղանակային կայան TFT LCD (ներ) ով `8 քայլ
ESP8266/ESP32 Եղանակային կայան TFT LCD (ներ) ով `8 քայլ

Video: ESP8266/ESP32 Եղանակային կայան TFT LCD (ներ) ով `8 քայլ

Video: ESP8266/ESP32 Եղանակային կայան TFT LCD (ներ) ով `8 քայլ
Video: SKR 1.4 - TMC2209 v1.2 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- ն դեռ օգտագործում է openweathermap API ստեղնը:

Մի փոքր կոդավորում էր պետք, քանի որ այդ տեսքով այն չէր կարող ցուցադրել իմ ուզած եղանակային պատկերակները:

Քայլ 2: Նյութեր

WS- ի համար անհրաժեշտ մասեր.

- Nodemcu V3 ESP8266

- 1.8 դյույմանոց TFT LCD ՝ ST7735 վարորդի IC- ով

- F-F լարերը

- Աղբյուրի կոդը

- Arduino IDE

- SPIFFS աջակցություն

- Openweathermap API բանալին

Քայլ 3: Softwareրագրակազմ

Այս նախագծի համար ես տրամադրում եմ աղբյուրի կոդը և անհրաժեշտ bitmap պատկերները, ներբեռնեք դրանք իմ github էջից ՝

Իմ օգտագործած գրադարանը Bodmer- ի ստեղծած TFT_eSPI- ն է:

Մնում է միայն ներբեռնել ճիշտ գրադարանները, կազմել դրանք և վերբեռնել այն տախտակին, SPIFFS- ով բիթմապ պատկերները վերբեռնել ESP- ին և միանալ LCD- ով:

Ես օգտագործել եմ 24 բիթանոց 100 X100 բիթմապ պատկերներ, բայց դուք կարող եք օգտագործել ցանկացած այլ սրբապատկերներ: Իմ օգտագործածները ներբեռնվել են https://www.flaticon.com կայքից

Քայլ 4: LCD Pinout

The pinout- ը հետևյալն է.

// Displayուցադրել SDO/MISO- ն NodeMCU pin D6- ին (կամ թողնել անջատված, եթե TFT չի կարդում)

// LEDուցադրել LED- ը NodeMCU կապի VIN- ին (կամ 5V, տես ստորև)

// CKուցադրել SCK- ը NodeMCU pin D5- ին

// Displayուցադրել SDI/MOSI- ը NodeMCU կապում D7

// Displayուցադրել DC (RS/AO) NodeMCU pin D3- ին

// Displayուցադրել RESET- ը NodeMCU կապում D4 (կամ RST, տես ստորև)

// Displayուցադրել CS- ն NodeMCU կապում D8 (կամ GND, տես ստորև)

// Displayուցադրել GND դեպի NodeMCU կապող GND (0V)

// CCուցադրել 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- երի հետ սովորաբար խնդիրներ չկան: Բայց կեղծերը (սովորաբար Aliexpress- ից) օգտագործելիս պետք է որոշակի ճշգրտումներ կատարել:

Bodmers TFT_eSPI գրադարանը շատ հիանալի և հարուստ ֆունկցիոնալություն է: Եվ ամենալավն այն է, որ նա կարողացավ կարգավորել պիքսելային անջատումները `կախված ձեր օգտագործած 1.8 դյույմանոց TFT- ից:

Այս խնդիրը հաղթահարելու համար ես առաջարկում եմ հետևյալը.

Գնացեք գրադարանի թղթապանակ և խմբագրեք User_Setup.h ֆայլը: Մեկնաբանեք #սահմանեք ST7735_DRIVER- ը և մեկնաբանեք մյուսներին:

Այնուհետեւ մեկնաբանեք tft բարձրությունը լայնությամբ: Եվ հետո, իմ դեպքում (REDTAB) մեկնաբանություն, օրինակ ՝ #define ST7735_REDTAB: Դրանից հետո պահեք այն պահի դրությամբ և կազմեք ուրվագիծ և տեղադրեք տախտակ: Համոզված լինել, որ ես էլ եմ ուրվագծի պարամետրերը սահմանել: Սա մի փոքր երկար ընթացակարգ է, որովհետև դուք պետք է կազմեք և վերբեռնեք էսքիզը ամեն անգամ տախտակի վրա մինչև փոխհատուցումը չվերանա, բայց արժե փորձարկել: Հ -ի խմբագրման համար: ֆայլեր, ես խստորեն առաջարկում եմ Wordpad: Պատկերները ներառված են:

Քայլ 7: Կատարված է

Ամեն ինչ ճիշտ անելուց հետո կարող եք վայելել այս փոքրիկ գործիքը: Ես փորձել եմ հնարավորինս լավ զուգակցել bitmap պատկերները եղանակային կոդերի հետ, բայց դեռ փորձարկում եմ այն:

Հիմնականում ես դա ինքս ինձ համար եմ պատրաստել, բայց մեկ օր անց մտածեցի, որ այն կկիսեմ: Գուցե ինչ -որ մեկին դա ինձ ավելի դուր գա:

Շնորհակալ եմ, որ կարդում եք իմ խրատը, հուսով եմ, որ այն օգտակար կգտնեք և կօգտագործեք այնպես, ինչպես ցանկանում եք:

Հաճելի օր!

Քայլ 8: Փոքր թարմացում

Մի փոքր թարմացում
Մի փոքր թարմացում
Մի փոքր թարմացում
Մի փոքր թարմացում
Մի փոքր թարմացում
Մի փոքր թարմացում

Մի քանի օր անց մտածեցի, որ այս WS- ը կվերակառուցեմ նոր տեսքով:

Փոփոխություններ ՝ ESP32 Uno R3

Ralleուգահեռ ILI9340/41 TFT LCD

Նոր սրբապատկերներ

1 լրացուցիչ տարբերակ

Խնդրում ենք համապատասխանաբար խմբագրել User_setup.h ֆայլը TFT_eSPI գրադարանում ուրվագծում: Խնդրում ենք մեկնաբանել դրանք և մեկնաբանել այլ տարբերակ, հակառակ դեպքում դա չի աշխատի:

Դուք պետք է միացնեք GPIO 35 -ը 15 -ին, GPIO 33 -ը 34 -ին, GPIO 32 -ը 36 -ին, քանի որ դրանք միայն մուտքային կապում են, և մեր էկրանը չի աշխատի (տես նկարը):

Աղբյուրի կոդը հասանելի է github- ում:

Խորհուրդ ենք տալիս: