Სარჩევი:

ESP8266/ESP32 ამინდის სადგური TFT LCD (ებ) ით: 8 ნაბიჯი
ESP8266/ESP32 ამინდის სადგური TFT LCD (ებ) ით: 8 ნაბიჯი

ვიდეო: ESP8266/ESP32 ამინდის სადგური TFT LCD (ებ) ით: 8 ნაბიჯი

ვიდეო: ESP8266/ESP32 ამინდის სადგური TFT LCD (ებ) ით: 8 ნაბიჯი
ვიდეო: #fasfartech Trạm thời tiết online, đo nhiệt độ, độ ẩm, áp suất khí quyển, đo lượng mưa,đo tốc độ gió 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: პროგრამული უზრუნველყოფა

ამ პროექტისთვის მე გთავაზობთ წყაროს კოდს და საჭირო ბიტმაპის სურათებს, გადმოწერეთ ჩემი github გვერდიდან:

ბიბლიოთეკა, რომელიც მე გამოვიყენე არის ბოდმერის მიერ შექმნილი TFT_eSPI.

ყველაფერი რაც თქვენ უნდა გააკეთოთ: ჩამოტვირთეთ სწორი ბიბლიოთეკები, შეადგინეთ და ატვირთეთ იგი დაფაზე, ატვირთეთ ბიტმაპის სურათები SPIFFS– ით ESP– ში და დაუკავშირდით LCD– თან.

მე გამოვიყენე 24 bit 100 X100 bitmap გამოსახულებები, მაგრამ თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი სხვა ხატი. ის, რაც მე გამოვიყენე გადმოწერილია https://www.flaticon.com– დან

ნაბიჯი 4: LCD Pinout

პინუტი შემდეგია:

// აჩვენეთ SDO/MISO NodeMCU pin D6 (ან დატოვეთ გათიშული, თუ არ კითხულობთ TFT)

// აჩვენეთ LED NodeMCU pin VIN (ან 5V, იხილეთ ქვემოთ)

// ჩვენება SCK to NodeMCU pin D5

// ჩვენება SDI/MOSI to NodeMCU pin D7

// DC (RS/AO) ჩვენება NodeMCU pin D3– ზე

// ჩვენება RESET to NodeMCU pin D4 (ან RST, იხ. ქვემოთ)

// აჩვენეთ CS NodeMCU pin D8 (ან GND, იხ. ქვემოთ)

// ჩვენება GND to NodeMCU pin GND (0V)

// ჩვენება VCC to NodeMCU 5V ან 3.3V

უკანა ნაწილის შემცირებისთვის შეგიძლიათ გამოიყენოთ 10K პოტენომეტრი ან გამოიყენოთ სხვა GPIO პინი. რაც შეეხება საკუთარ თავს, მე, როგორც წესი, უკანა განათების პინს ვუკავშირებ TX პინს. მე ვიცი, რომ ეს არ არის ძალიან კარგი იდეა ან ძალიან ჯანსაღი ESP– სთვის, მაგრამ ის მუშაობს ასე.

ნაბიჯი 5: WS მოქმედებაში

WS მოქმედებაში
WS მოქმედებაში
WS მოქმედებაში
WS მოქმედებაში
WS მოქმედებაში
WS მოქმედებაში

მას შემდეგ რაც ყველაფერი სწორად გააკეთეთ, თქვენ ნახავთ, რომ ამინდის სადგური უკავშირდება ინტერნეტს და ჩამოტვირთავს ამინდის მონაცემებს.

სხვადასხვა პარამეტრები გამოყოფილია სხვადასხვა მარყუჟებში.

რასაც ხედავთ არის ამინდის ფაქტობრივი აღწერა, ტემპერატურა, ტენიანობა, ქარის სიჩქარე, ხილვადობა მეტრებში, ჰაერის წნევა, ქარის კუთხე, ღრუბლების დაფარვა პროცენტულად (%).

რაც შეეხება პრემიას საღამოს 9 საათიდან დილის 7 საათამდე, ეკრანი პირიქით ხდება ღამის დროის სიმბოლისთვის.

ნაბიჯი 6: რამდენიმე მნიშვნელოვანი რჩევა

რამდენიმე მნიშვნელოვანი რჩევა
რამდენიმე მნიშვნელოვანი რჩევა
რამდენიმე მნიშვნელოვანი რჩევა
რამდენიმე მნიშვნელოვანი რჩევა
რამდენიმე მნიშვნელოვანი რჩევა
რამდენიმე მნიშვნელოვანი რჩევა

როგორც ყველამ იცით, ინტერნეტში არის 1.8 TFT- ის რამდენიმე ვარიანტი. ნამდვილ Adafruit lcd- ებთან, როგორც წესი, არანაირი პრობლემა არ არის. მაგრამ ყალბი მოწყობილობების გამოყენებისას (ჩვეულებრივ, ალიექსპრესიდან) თქვენ უნდა შეცვალოთ ცვლილებები.

Bodmers TFT_eSPI ბიბლიოთეკა არის ძალიან საშინელი და მდიდარი ფუნქციონალურობით. და საუკეთესო ნაწილი ის არის, რომ მან მოახერხა პიქსელის ოფსეტების დამუშავება იმისდა მიხედვით, თუ რა სახის 1.8 დიუმიანი TFT იყენებთ.

ამ პრობლემის გადასაჭრელად მე გირჩევთ შემდეგს:

გადადით ბიბლიოთეკის საქაღალდეში და შეცვალეთ User_Setup.h ფაილი. დატოვეთ კომენტარი #განსაზღვრეთ ST7735_DRIVER და დატოვეთ კომენტარი სხვებზე.

შემდეგ გააკეთეთ კომენტარი tft სიმაღლე სიგანეზე. შემდეგ კი ჩემს შემთხვევაში (REDTAB) კომენტარის გაკეთება მაგალითად: #განსაზღვრეთ ST7735_REDTAB. ამის შემდეგ შეინახეთ ეს მომენტი და შეადგინეთ ესკიზი და ატვირთეთ დაფაზე. დარწმუნებული ვარ, რომ ესკიზში მეც მაქვს განსაზღვრული პარამეტრები. ეს არის ცოტა ხანგრძლივი პროცედურა, რადგან თქვენ უნდა შეადგინოთ და ატვირთოთ ესკიზი ყოველ ჯერზე, სანამ დაფარვა არ გაქრება, მაგრამ ღირს ექსპერიმენტირება. რედაქტირებისათვის თ. ფაილებს მე მკაცრად გირჩევთ 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– ზე.

გირჩევთ: