Mundarija:
- 1 -qadam: LCD grafik moduli 128x128 RGB TFT ILI 9163C
- 2 -qadam: namlik va harorat sensori AM2302 DHT22
- 3 -qadam: O'chirish
- 4 -qadam: yig'ish
- 5 -qadam: kutubxona
- 6 -qadam: kod
- 7 -qadam: Boshqa qiziqarli funktsiyalar
Video: LCD displeyli ESP8266 raqamli termometr: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Bugun men sizga ESP8266 NodeMCU-dagi TFT LCD displeyidan qanday qilib real vaqtda muhit uchun harorat va namlik ma'lumotlarini ko'rsatish kerakligini ko'rsataman. Men harorat va namlik o'lchagichi bo'lgan DHT22 yordamida displeydan foydalanishga misol keltiraman. Bu videoda, aniqrog'i, men raqamli termometrimiz uchun ixcham displeydan foydalanaman, bu grafik va tizimni o'zi kuzatishga imkon beradi. Shunday qilib, bugungi kunning maqsadi - ESP8266 yordamida suyuq kristalli displey bilan ishlashni o'rganish.
1 -qadam: LCD grafik moduli 128x128 RGB TFT ILI 9163C
Ushbu loyihada biz foydalanadigan displey 128x128 piksel. 0, 0 yuqori chap burchakda joylashgan va bu model matnli va grafikli bosib chiqarish funktsiyalariga ega, ular haqida keyinroq gaplashamiz.
2 -qadam: namlik va harorat sensori AM2302 DHT22
Biz yig'ilishimizda AM2302 DHT22 -dan foydalanamiz, bu sensor menga juda yoqadi, chunki bu juda aniq.
3 -qadam: O'chirish
Loyihada bizda allaqachon dasturlashtirilgan va USB quvvatidan foydalanadigan ESP8266 bor. DHT22 Ma'lumotlarga va tortishish qarshiligi LCD displeyni boshqaruvchi ESP8266 ga ulangan.
4 -qadam: yig'ish
Bu erda biz NodeMCU, sensor va displeyni ko'rsatadigan yig'ilishimizning elektr diagrammasini topdik. Shuni esda tutingki, bu i2c ketma -ket displeyi, undan foydalanish osonroq, chunki u ko'proq pinlarga ega.
5 -qadam: kutubxona
Biz displeyni Arduino C tili bilan dasturlamoqchi bo'lganimiz uchun bizga DHT22 kutubxonasi hamda LCD displey kerak.
Birinchidan, namlik va harorat sensori bilan aloqa qilish uchun quyidagi "DHT sensorlar kutubxonasi" kutubxonasini qo'shing.
"Sketch >> kutubxonalarni qo'shish >> kutubxonalarni boshqarish …" ga kiring.
Endi quyidagi kutubxonani qo'shing: "Adafruit-GFX-Library-master".
"Sketch >> kutubxonalarni qo'shish >> kutubxonalarni boshqarish …" ga kiring.
Shuningdek, LCD grafik moduli bilan aloqa qilish uchun "TFT_ILI9163C" kutubxonasini qo'shing.
Havolaga kiring ((((((((https://github.com/sumotoy/TFT_ILI9163C))))))) kutubxonani yuklab oling.
Faylni oching va Arduino IDE kutubxonalari papkasiga joylashtiring.
C: / Dastur fayllari (x86) / Arduino / kutubxonalari
6 -qadam: kod
Avval kodimizda ishlatiladigan kutubxonalarni qo'shamiz.
#qo'shish // LCD displeyni ishga tushirish uchun#o'z ichiga oladi // utilizada uchun komunikator sensori ham umid qiladi va temperatura.
Ta'riflar
Biz quyida dastur davomida ishlatadigan o'zgaruvchilar va ob'ektlar misolini ko'ramiz.
#DHTPIN D6 ni aniqlang // DHT22 sensorini aniqlang#DHTTYPE DHT22 // DHT22 ni aniqlang va sensorni ishlating (muhim konstruktor) DHT dht (DHTPIN, DHTTYPE); // konstruktor sensorli aloqa vositasi yordamida // rang ta'riflari #QARA 0x0000ni belgilang #KO'Kni 0x001F aniqlang RED 0xF800 #aniqlang Yashil 0x07E0 #aniqlang CYAN 0x07FF #defineFEFFEFFEFFEFFOFIFOFFOFIFOFFIFOFIFIFIFI0 _CS D1 ni aniqlang // LCD displeyini aniqlang #Decine _DC D4 // plyonkali aloqa LCD displeyi TFT_ILI9163C displeyi = TFT_ILI9163C (_ CS, _DC); // konstruktor LCD displeyni ishga tushirish uchun zarur.
Sozlash
Setup () funktsiyasida namlik sensori va harorat bilan aloqa qilish uchun mas'ul bo'lgan "dht" o'zgaruvchisini ishga tushiramiz, shuningdek, LCD moduli bilan bog'lanish uchun ishlatiladigan "displey" o'zgaruvchisini ishga tushiramiz.
Shuningdek, biz ob'ektni ekranda chizishni boshlash uchun sozlaymiz.
void setup (void) {dht.begin (); // sensorlar displeyi.begin (); // LCD displeyni o'chirish yoki o'chirish uchun ochiq -oydin ekran (); // limpa a tela, removendo todos os desenhos display.fillScreen (Qora); // ekranni oldindan ko'rsatish.setTextSize (2); // konfiguratsiya yoki matnli buyruqlar berish 2 displey.setTextColor (Yashil); // konfiguratsiya qilingan matnli matnli displey.setCursor (5, 10); // posiciona o cursor para começar a escrita a partir do (x, y) display.print ("TEMPERATUR"); // escreve em tela display.setCursor (22, 70); // reposiciona yoki kursorni display.print ("UMIDADE"); // displey displeyi.setTextColor (OQ); // kechiktirish (1000) kechiktirilmagan matnni sozlash (konfiguratsiya); // espera de segundo}
Loop
Loop () funktsiyasida biz sensor tomonidan o'qilgan va ekranda yozilgan namlik va haroratni aniq manzilda olamiz. Har 5 soniya oralig'ida qiymat sensordan o'qiladi va ekranda yoziladi.
void loop () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // haroratni o'lchash uchun sensorlar // "to'ldirish" bo'limida ikkita vazifani bajaradi, shuning uchun ular mahalliy haroratda, shuningdek, haroratda, haroratda va vaqt oralig'ida. display.fillRect (5, 32, 120, 20, Qora); // fillRect (x, y, kenglik, balandlik, rang); display.fillRect (5, 92, 120, 20, Qora); display.setCursor (40, 35); // reposiciona yoki kursor uchun displey.print (t); // tela displey.print ((char) 247); // dispre.print ("C") belgisini bosish; // coloca o “C” para indicar que é graus Celcius display.setCursor (40, 95); // reposiciona yoki kursor uchun displey.print (h); // tela display.print ("%") uchun umidsizlikni saqlang; // kechiktirishni kechiktirish (5000); }
7 -qadam: Boshqa qiziqarli funktsiyalar
// Ekran tarkibini aylantiradi (parametrlar 0, 1, 2 yoki 3)
display.setRotation (uint8_t);
// Displey ranglarini o'zgartiradi (manfiy qiladi)
display.invertDisplay (mantiqiy);
// Ekranda bitta pikselni (x, y) joylashtiradi
display.drawPixel (x, y, rang);
// O'z o'rnida vertikal chiziq chizadi
display.drawFastVLine (x, y, kenglik, rang);
// Belgilangan pozitsiyada vertikal chiziq chiziladi
display.drawFastHLine (x, y, kenglik, rang);
// Belgilangan pozitsiyada gorizontal chiziq chizadi
display.drawRect (x, y, kenglik, balandlik, rang);
// Belgilangan pozitsiyada aylana chizadi
display.drawCircle (x, y, radius, rang);
Tavsiya:
Arduino 7 segmentli displeyli raqamli Ludo zarlari: 3 qadam
Arduino 7 segmentli displeyli raqamli Ludo zarlari: Ushbu loyihada 7 tugmachali displey tugmachani bosganimizda tasodifiy ravishda 1 dan 6 gacha raqamlarni ko'rsatish uchun ishlatiladi. Bu har kimga yoqadigan eng zo'r loyihalardan biri. 7 segmentli displey bilan ishlashni o'rganish uchun bu erni bosing: -7 segment
ESP32 va xarakterli LCD displeyli harfli -raqamli klaviatura: 4 qadam
ESP32 va xarakterli LCD displeyli alifodali -raqamli klaviatura: Ushbu maqola ESP32 -ga ma'lumotlarni kiritish uchun raqamli raqamli klaviatura moduli va 16x2 I2C belgili LCD modulidan foydalanishni ko'rsatadi. Bu usuldan ESP32 ga Wi-Fi hisob ma'lumotlarini va boshqa ma'lumotlarni kiritish va olish uchun foydalanish mumkin
Acme raqamli termometr W/ DS18B20 harorat sensori va I2C LCD: 5 qadam
Acme Digital Termometr W/ DS18B20 Temp Probe & I2C LCD: bu juda qimmatga tushmaydigan va ko'p vaqt talab qilmaydigan juda oddiy loyiha. Men uni Amazon qutisiga qo'ydim, chunki u erda edi, lekin uni deyarli hamma narsaga o'rnatish mumkin edi
2 dyuymli TFT displeyli va bir nechta sensorli haroratga nisbatan rangga ega termometr: 5 qadam
2 dyuymli TFT displeyli va bir nechta sensorli haroratli nisbiy rangga ega termometr: Men bir nechta harorat sensori o'lchovlarini ko'rsatadigan displey qildim. Qizig'i shundaki, qiymatlar rangi harorat bilan o'zgaradi: > 75 daraja Selsiy = RED > 60 > 75 = apelsin > 40 < 60 = SARI > 30 < 40
7 segmentli displeyli 8051 yordamida raqamli soatni qanday qilish kerak: 4 qadam
7 segmentli displeyli 8051 yordamida raqamli soatni qanday yasash mumkin: Ushbu loyihada men sizga 7 segmentli displeyli 8051 mikrokontroller yordamida oddiy raqamli soat yasashni tushuntirdim