Mundarija:

TSP LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi: 8 qadam
TSP LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi: 8 qadam

Video: TSP LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi: 8 qadam

Video: TSP LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi: 8 qadam
Video: TSP #233 - How good is an $85, 10GHz Power Sensor? Detailed Teardown, Analysis & Experiments 2024, Noyabr
Anonim
TFT LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi
TFT LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi
TFT LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi
TFT LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi
TFT LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi
TFT LCD displeyli ESP8266/ESP32 ob -havo stantsiyasi

Salom!

Bu qisqa ko'rsatmali men o'zimning ikkinchi Esp8266 WS loyihamni taqdim qilmoqchiman. Men birinchi ESP loyihasini joylashtirganimdan so'ng, men o'zimni ikkinchi loyihaga aylantirmoqchi edim. Shunday qilib, mening ehtiyojlarimga mos keladigan eski manba kodini qayta ishlash uchun bo'sh vaqtim bor edi.

Shuning uchun, agar qarshi bo'lmasangiz, men uni taqdim etaman.

1 -qadam: Ob -havo stantsiyasi

WS hali ham ob -havo ma'lumotlarini yuklab olish va ekranda ko'rsatish uchun openweathermap API kalitidan foydalanadi.

Biroz kodlash kerak edi, chunki u formada men xohlagan ob -havo belgilarini ko'rsatolmasdi.

2 -qadam: materiallar

WS uchun zarur bo'lgan qismlar:

- Nodemcu V3 ESP8266

- ST7735 haydovchi IC bilan 1,8 dyuymli TFT LCD

- F-F simlari

- Manba kodi

- Arduino IDE

- SPIFFS -ni qo'llab -quvvatlash

- Openweathermap API kaliti

3 -qadam: dasturiy ta'minot

Men ushbu loyiha uchun manba kodini va kerakli bitmap rasmlarini beraman, uni github sahifamdan yuklab oling: https://github.com/Lacybad/ESP8266-ST7735- ob-havo-…

Men foydalangan kutubxona Bodmer tomonidan yaratilgan TFT_eSPI.

Siz qilishingiz kerak bo'lgan narsa: to'g'ri kutubxonalarni yuklab oling, kompilyatsiya qiling va taxtaga yuklang, SPIFFS yordamida bitmap rasmlarini ESP -ga yuklang va lcd -ga ulaning.

Men 24 bitli 100 X100 bitmapli tasvirlardan foydalanganman, lekin siz boshqa har qanday ikonkalardan foydalanishingiz mumkin. Men ishlatganlar https://www.flaticon.com saytidan yuklab olingan

4 -qadam: LCD pinout

Pinout quyidagicha:

// SDO/MISO ni NodeMCU pin D6 -ga ko'rsatish (yoki TFT o'qilmasa, uzilgan holda qoldiring)

// LEDni NodeMCU pin VIN (yoki 5V, pastga qarang) ga ko'rsatish

// SC5 -ni NodeMCU pin D5 -ga ko'rsatish

// SDI/MOSI -ni D7 NodeMCU piniga ko'rsatish

// DC (RS/AO) ni D3 NodeMCU piniga ko'rsatish

// RESETni NodeMCU pin D4 (yoki RST, pastga qarang) ga ko'rsatish

// CS ni NodeMCU pin D8 (yoki GND, pastga qarang) ga ko'rsatish

// GND ni NodeMCU pin GND (0V) ga ko'rsatish

// VCC ni NodeMCU 5V yoki 3.3V ga ko'rsatish

Yorug'likni kamaytirish uchun siz 10K potentsiometrdan yoki boshqa GPIO pinidan foydalanishingiz mumkin. O'zimga kelsak, men odatda orqa nuri pinini TX piniga ulayman. Bilaman, bu ESP uchun juda yaxshi g'oya yoki juda sog'lom emas, lekin u shunday ishlaydi.

5 -qadam: WS amalda

WS amalda
WS amalda
WS amalda
WS amalda
WS amalda
WS amalda

Hamma narsani to'g'ri bajarganingizdan so'ng, meteorologik stansiya Internetga ulanganini va ob -havo ma'lumotlarini yuklayotganini ko'rishingiz mumkin.

Turli xil parametrlar turli halqalarda ajratilgan.

Siz ko'rgan narsa - bu ob -havoning haqiqiy tavsifi, harorat, namlik, shamol tezligi, metrlarda ko'rish qobiliyati, havo bosimi, shamol burchagi, bulut qoplamasi foizda (%).

21:00 dan 7:00 gacha bo'lgan bonusga kelsak, displey tungi vaqtni aks ettirish uchun teskari aylanadi.

6 -qadam: Ba'zi muhim maslahatlar

Ba'zi muhim maslahatlar
Ba'zi muhim maslahatlar
Ba'zi muhim maslahatlar
Ba'zi muhim maslahatlar
Ba'zi muhim maslahatlar
Ba'zi muhim maslahatlar

Hammaga ma'lumki, Internetda 1,8 dyuymli TFT-ning bir nechta variantlari mavjud. Haqiqiy Adafruit lcd-lari bilan odatda hech qanday muammo bo'lmaydi. Lekin soxta (odatda Aliexpress-dan) ishlatilganda siz ba'zi o'zgartirishlar kiritishingiz kerak bo'ladi.

Bodmers TFT_eSPI kutubxonasi juda ajoyib va boy funktsiyaga ega. Va eng yaxshi tomoni shundaki, u siz foydalanadigan 1,8 dyuymli TFT turiga qarab piksellar almashinuvini boshqarishga muvaffaq bo'ldi.

Ushbu muammoni hal qilish uchun men quyidagilarni taklif qilaman.

Kutubxona papkasiga o'ting va User_Setup.h faylini tahrirlang. Sharh #ST7735_DRIVERni belgilang va boshqalarga izoh bering.

Keyin tft balandligini kengligi bo'yicha izohlang. Va keyin mening holatimda (REDTAB), masalan: #define ST7735_REDTAB. Shundan so'ng, uni hozir saqlang va eskizni tuzing va taxtaga yuklang. Eskizda parametrlarni aniqlaganimga ishonch hosil qilish uchun, bu biroz uzoq protsedura, chunki siz ofset yo'qolguncha taxtaga chiqish uchun har safar eskizni kompilyatsiya qilishingiz va yuklashingiz kerak bo'ladi, lekin tajriba o'tkazishga arziydi. H tahrir qilish uchun. Men Wordpad -ni tavsiya qilaman. Rasmlar kiritilgan.

7 -qadam: bajarildi

Hamma narsani to'g'ri bajarganingizdan so'ng, siz ushbu kichik gadjetdan bahramand bo'lishingiz mumkin. Men bitmap tasvirlarini ob -havo kodlari bilan iloji boricha birlashtirishga harakat qildim, lekin hozircha uni sinab ko'rmoqdaman.

Asosan, men buni o'zim uchun qildim, lekin bir kundan keyin men buni baham ko'raman deb o'yladim. Balki mendan ko'ra kimgadir yoqar.

Mening ko'rsatmalarni o'qiganingiz uchun tashakkur, umid qilamanki, siz uni foydali deb topasiz va xohlaganingizcha ishlatasiz.

Hayrli kun!

8 -qadam: Kichik yangilanish

Kichik yangilanish
Kichik yangilanish
Kichik yangilanish
Kichik yangilanish
Kichik yangilanish
Kichik yangilanish

Bir necha kundan keyin men ushbu WS -ni yangi shaklda qayta tuzaman deb o'yladim.

O'zgarishlar: ESP32 Uno R3

Parallel ILI9340/41 TFT LCD

Yangi piktogramma

1 ta qo'shimcha variant

User_setup.h faylini TFT_eSPI kutubxonasida mos ravishda eskizda tahrir qiling. Pls ularga izoh qoldiring va boshqa variantni izohlang, aks holda u ishlamaydi.

Siz GPIO 35 dan 15 gacha, GPIO 33 dan 34 gacha, GPIO 32 dan 36 gacha ulashingiz kerak, chunki ular faqat kirish pimlari, keyin displeyimiz ishlamaydi (rasmga qarang).

Manba kodi github -da mavjud.

Tavsiya: