Talaan ng mga Nilalaman:

ESP8266 / ESP32 Weather Station Na May TFT LCD (s): 8 Hakbang
ESP8266 / ESP32 Weather Station Na May TFT LCD (s): 8 Hakbang

Video: ESP8266 / ESP32 Weather Station Na May TFT LCD (s): 8 Hakbang

Video: ESP8266 / ESP32 Weather Station Na May TFT LCD (s): 8 Hakbang
Video: LCD1602 I2C Address for Arduino explained 2024, Hulyo
Anonim
ESP8266 / ESP32 Weather Station Na May TFT LCD (s)
ESP8266 / ESP32 Weather Station Na May TFT LCD (s)
ESP8266 / ESP32 Weather Station Na May TFT LCD (s)
ESP8266 / ESP32 Weather Station Na May TFT LCD (s)
ESP8266 / ESP32 Weather Station Na May TFT LCD (s)
ESP8266 / ESP32 Weather Station Na May TFT LCD (s)

Kamusta!

Sa maikling itinuturo na ito nais kong ipakita ang aking pangalawang proyekto ng Esp8266 WS. Mula nang mai-post ang aking unang proyekto sa ESP nais kong gawing pangalawa ang aking sarili. Kaya't nagkaroon ako ng ilang libreng oras upang muling mabuo ang isang dating source code upang magkasya ang aking mga pangangailangan.

Kaya't kung hindi mo alintana ipapakita ko ito.

Hakbang 1: Ang Weather Station

Gumagamit pa rin ang WS ng openweathermap API key upang i-download ang data ng panahon at ipakita ito sa screen.

Kailangan ng kaunting pag-coding dahil sa form na iyon ay hindi nito maipakita ang mga icon ng panahon na gusto ko.

Hakbang 2: Mga Kagamitan

Mga bahaging kinakailangan para sa WS:

- Nodemcu V3 ESP8266

- 1.8 pulgada TFT LCD na may ST7735 driver IC

- Mga wire na F-F

- Source code

- Arduino IDE

- Suporta ng SPIFFS

- Openweathermap API key

Hakbang 3: Software

Para sa proyektong ito nagbibigay ako ng source code at mga bitmap na imahe na kinakailangan, i-download ito mula sa aking pahina ng github:

Ang ginamit kong silid-aklatan ay ang TFT_eSPI nilikha ni Bodmer.

Ang kailangan mo lang gawin: Mag-download ng mga tamang aklatan, i-compile ito at i-upload ito sa board, i-upload ang mga imahe ng bitmap na may SPIFFS sa ESP at kumonekta sa lcd.

Gumamit ako ng 24 bit 100 X100 bitmap na mga imahe, ngunit maaari mong gamitin ang anumang iba pang mga icon. Ang mga ginamit ko ay na-download mula sa

Hakbang 4: LCD Pinout

Ang pinout ay ang sumusunod:

// Ipakita ang SDO / MISO sa NodeMCU pin D6 (o iwanan ang pagkakakonekta kung hindi binabasa ang TFT)

// Display LED sa NodeMCU pin VIN (o 5V, tingnan sa ibaba)

// Ipakita ang SCK sa NodeMCU pin D5

// Ipakita ang SDI / MOSI sa NodeMCU pin D7

// Display DC (RS / AO) sa NodeMCU pin D3

// Display RESET sa NodeMCU pin D4 (o RST, tingnan sa ibaba)

// Ipakita ang CS sa NodeMCU pin D8 (o GND, tingnan sa ibaba)

// Ipakita ang GND sa NodeMCU pin GND (0V)

// Ipakita ang VCC sa NodeMCU 5V o 3.3V

Para sa pinababang backligh maaari kang gumamit ng 10K potentiometer o gumamit ng ibang GPIO pin. Tulad ng para sa aking sarili madalas kong ikonekta ang backlight pin sa TX pin. Alam ko na ito ay hindi isang napakahusay na ideya o napaka-malusog para sa ESP, ngunit gumagana ito sa ganoong paraan.

Hakbang 5: WS sa Aksyon

WS sa Pagkilos
WS sa Pagkilos
WS sa Pagkilos
WS sa Pagkilos
WS sa Pagkilos
WS sa Pagkilos

Matapos mong magawa ang lahat nang tama maaari mong makita na ang istasyon ng panahon ay kumokonekta sa internet at i-download ang data ng panahon.

Ang magkakaibang mga parameter ay pinaghiwalay sa iba't ibang mga loop.

Ang nakikita mo ay ang aktwal na paglalarawan ng panahon, temperatura, kahalumigmigan, bilis ng hangin, kakayahang makita sa metro, presyon ng hangin, anggulo ng hangin, saklaw ng ulap sa porsyento (%).

Tulad ng para sa isang bonus sa pagitan ng 9 PM at 7 AM ang display ay lumiliko sa kabaligtaran sa simbolise oras ng gabi.

Hakbang 6: Ilang Mahahalagang Tip

Ilang Mahahalagang Tip
Ilang Mahahalagang Tip
Ilang Mahahalagang Tip
Ilang Mahahalagang Tip
Ilang Mahahalagang Tip
Ilang Mahahalagang Tip

Tulad ng alam mo lahat ay ang ilang mga variant ng 1.8 TFT sa internet. Sa tunay na Adafruit lcd-s ay karaniwang walang mga problema. Ngunit kapag gumagamit ng mga pekeng (karaniwang mula sa Aliexpress) kailangan mong gumawa ng ilang mga pagsasaayos.

Ang aklatan ng Bodmers TFT_eSPI ay napakagulat at mayamang funcionality. At ang pinakamagandang bahagi ay ginawa niya ito upang mahawakan ang mga pixel offset depende sa uri ng 1.8 TFT na iyong ginagamit.

Upang mapagtagumpayan ang isyung ito iminumungkahi ko ang sumusunod:

Pumunta sa folder ng library at i-edit ang User_Setup.h file. Magkomento # tukuyin ang ST7735_DRIVER at magkomento sa iba.

Pagkatapos ay i-compress ang taas ng tft ng isang lapad. At pagkatapos ay sa aking kaso (REDTAB) hindi pagkakasundo para sa hal: #define ST7735_REDTAB. Matapos ito ay i-save ito para sa sandali at i-compile ang sketch at i-upload sa board. Upang matiyak na natukoy ko rin ang mga parameter sa sketch. Ito ay medyo mahabang pamamaraan, sanhi na kailangan mong isulat at i-upload ang sketch tuwing sasakay hanggang sa nawala ang offset, ngunit sulit ang eksperimento. Para sa pag-edit ng h. ang mga file ay masidhi kong iminumungkahi sa Wordpad. Kasama ang mga imahe.

Hakbang 7: Tapos Na

Matapos gawin nang tama ang lahat ay masisiyahan ka sa maliit na gadget na ito. Sinubukan ko ang pagpapares ng mga bitmap na imahe na may mga code ng panahon na kasing ganda ng makakaya ko, ngunit sinusubukan ko pa rin ito sa ngayon.

Talaga ginawa ko lang ito para sa aking sarili, ngunit pagkatapos ng isang araw naisip ko na ibabahagi ko ito. Siguro may magugustuhan pa kaysa sa akin.

Salamat sa pagbabasa ng aking itinuturo, inaasahan kong makikita mo itong kapaki-pakinabang at gamitin ito ayon sa gusto mo.

Magandang araw!

Hakbang 8: Isang Maliit na Update

Isang Maliit na Update
Isang Maliit na Update
Isang Maliit na Update
Isang Maliit na Update
Isang Maliit na Update
Isang Maliit na Update

Matapos ang ilang araw naisip ko na muling gagawin ko ang WS na ito sa isang bagong form.

Mga Pagbabago: ESP32 Uno R3

Parallel ILI9340 / 41 TFT LCD

Mga bagong icon

1 dagdag na pagpipilian

Pls i-edit ang User_setup.h file sa TFT_eSPI library nang naaayon sa sketch. Pls mag-komento sa kanila at magkomento ng iba pang pagpipilian o kung hindi man ay hindi ito gagana.

Kailangan mong ikonekta ang GPIO 35 hanggang 15, GPIO 33 hanggang 34, GPIO 32 hanggang 36 dahil ang mga input pin lamang at pagkatapos ay hindi gagana ang aming display (tingnan ang larawan).

Magagamit ang source code sa github.

Inirerekumendang: