INHOUDSOPGAWE:
- Stap 1: LCD grafiese module 128x128 RGB TFT ILI 9163C
- Stap 2: Humiditeits- en temperatuursensor AM2302 DHT22
- Stap 3: Skakel
- Stap 4: Montering
- Stap 5: Biblioteek
- Stap 6: Kode
- Stap 7: 'n Paar ander interessante funksies
Video: ESP8266 digitale termometer met LCD -skerm: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Vandag sal ek u wys hoe u 'n TFT LCD-skerm op die ESP8266 NodeMCU kan gebruik om data oor temperatuur en humiditeit vir 'n gegewe intydse omgewing te vertoon. Ek maak 'n voorbeeld van die gebruik van die skerm met DHT22, wat die temperatuur- en humiditeitsmeter is. In hierdie video gebruik ek spesifiek 'n kompakte skerm vir ons digitale termometer, wat grafies is en die stelsel self kan monitor. Die doel van vandag is dus om te leer oor die hantering van die vloeibare kristalvertoning met behulp van die ESP8266.
Stap 1: LCD grafiese module 128x128 RGB TFT ILI 9163C
Die skerm wat ons in hierdie projek gebruik, is 128x128 pixels. Die 0, 0 is in die linker boonste hoek, en hierdie model het funksies vir teksdruk en grafiese druk, wat ons later sal hanteer.
Stap 2: Humiditeits- en temperatuursensor AM2302 DHT22
Ons sal die AM2302 DHT22 in ons samestelling gebruik, wat 'n sensor is waarvan ek baie hou, aangesien dit baie presies is.
Stap 3: Skakel
In die projek het ons 'n ESP8266 wat reeds geprogrammeer is en die USB -krag gebruik. Die DHT22 is gekoppel aan die data en die optrekweerstand aan die ESP8266, wat die LCD-skerm beheer.
Stap 4: Montering
Hier het ons die elektriese diagram van ons samestelling, wat die NodeMCU, die sensor en die skerm vertoon. Onthou dat dit 'n seriële skerm, i2c, is wat makliker is om te gebruik omdat dit meer penne het.
Stap 5: Biblioteek
Aangesien ons die skerm met die Arduino C -taal gaan programmeer, benodig ons die DHT22 -biblioteek sowel as die LCD.
Voeg eers die volgende "DHT -sensorbiblioteek" -biblioteek by vir kommunikasie met die humiditeits- en temperatuursensor.
Gaan eenvoudig na "Skets >> Sluit biblioteke in >> Beheer biblioteke …"
Voeg nou die volgende biblioteek by, "Adafruit-GFX-Library-master."
Gaan eenvoudig na "Skets >> Sluit biblioteke in >> Beheer biblioteke …"
Voeg ook die "TFT_ILI9163C" -biblioteek by vir kommunikasie met die LCD grafiese module.
Gaan na die skakel (((((((https://github.com/sumotoy/TFT_ILI9163C))))) en laai die biblioteek af.
Pak die lêer uit en plak dit in die biblioteekmap van die Arduino IDE.
C: / Programlêers (x86) / Arduino / biblioteke
Stap 6: Kode
Laat ons eers die biblioteke byvoeg wat in ons kode gebruik sal word.
#include // gebruik vir die komunikasie van 'n LCD
Definisies
Ons sien hieronder die veranderlikes wat ons tydens die program sal gebruik, en die voorkoms van die voorwerpe.
#define DHTPIN D6 // pino que conectaremos of sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (importante para o construtor) DHT dht (DHTPIN, DHTTYPE); // konstrukteurs wat 'n gebruik kan maak vir 'n kombinasie van 'n sensor definieer _CS D1 // pino que conectaremos of CS to módulo LCD #define _DC D4 // pino que conectaremos of RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // 'n oprigger vir die gebruik van 'n kommunikasie of 'n LCD -skerm
Stel op
In die setup () -funksie initialiseer ons die veranderlike "dht", wat verantwoordelik is vir die kommunikasie met die humiditeitsensor en temperatuur. Ons sal ook die "display" -veranderlike wat gebruik word om met die LCD -module te kommunikeer, initialiseer.
Ons sal ook die voorwerp instel om op die skerm te begin teken.
leemte opstel (leeg) {dht.begin (); // inicialização para se comunicar com o sensor display.begin (); // inicialização para se comunicar com o módulo LCD display.clearScreen (); // dit kan ook verwyder word, maar ons kan ook vertoon word.fillScreen (SWART); // om die weergawe te stel.setTextSize (2); // konfigurasie van die teks of die tamanho 2 display.setTextColor (GROEN); // configura a text text como verde display.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 o cursor display.print ("UMIDADE"); // escreve em tela display.setTextColor (WHITE); // konfigura a cor do texto como branco (a partir de agora) vertraging (1000); // espera de 1 segment}
Lus
In die lus () -funksie sal ons die humiditeit en temperature wat deur die sensor gelees word, op die spesifieke plek ophaal. Met elke interval van 5 sekondes word die waarde van die sensor afgelees en op die skerm geskryf.
leemte -lus () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // as 'n temperatuur vir die sensor // as 2 verskillende funksies gebruik word om "fillRect" te gebruik, kan ons ook 'n plaaslike of plaaslike temperatuurverskil en temperatuurverhouding hê, sowel as 'n waardering vir 'n nuwe boek. display.fillRect (5, 32, 120, 20, SWART); // fillRect (x, y, breedte, hoogte, kleur); display.fillRect (5, 92, 120, 20, SWART); display.setCursor (40, 35); // reposiciona o cursor para escrever display.print (t); // 'n temperatuur vir die display.print ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o “C” para indicar que é graus Celcius display.setCursor (40, 95); // reposiciona o cursor para escrever display.print (h); // gee 'n e -pos aan display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }
Stap 7: 'n Paar ander interessante funksies
// Draai die inhoud van die skerm (parameters 0, 1, 2 of 3)
display.setRotation (uint8_t);
// Draai vertoonkleure om (maak negatief)
display.invertDisplay (booleaans);
// Teken 'n enkele pixel op die skerm op posisie (x, y)
display.drawPixel (x, y, kleur);
// Trek 'n vertikale lyn in posisie
display.drawFastVLine (x, y, breedte, kleur);
// Trek 'n vertikale lyn op die gespesifiseerde posisie
display.drawFastHLine (x, y, breedte, kleur);
// Trek 'n horisontale lyn op die gespesifiseerde posisie
display.drawRect (x, y, breedte, hoogte, kleur);
// Trek 'n sirkel op die gespesifiseerde posisie
display.drawCircle (x, y, radius, kleur);
Aanbeveel:
Digitale RPi LED -termometer: 6 stappe (met foto's)
Digitale RPi LED -termometer: Raspbian OS Leer hoe ek hierdie digitale LED -termometer gemaak het, met 'n Raspberry Pi Zero W, LED -strook, 'n OLED -skerm en 'n pasgemaakte PCB. skerm en die LED's. Maar
Digitale termometer DHT11 met behulp van ESP8266: 4 stappe
Digitale termometer DHT11 met behulp van ESP8266: In die vorige artikel het ek al DH11 bespreek en hoe om dit op uitsetapparate soos 7 segment, LCD, seriële monitor en RGB -ring te vertoon.In hierdie artikel sal ek u wys hoe u temperatuur en humiditeit kan monitor met 'n blaaier op 'n selfoon
Arduino -gebaseerde nie -kontak infrarooi termometer - IR -gebaseerde termometer met behulp van Arduino: 4 stappe
Arduino -gebaseerde nie -kontak infrarooi termometer | IR -gebaseerde termometer met behulp van Arduino: Hallo ouens in hierdie instruksies, ons maak 'n nie -kontaktermometer met behulp van arduino. temperatuur dan in daardie omgewing
Digitale termometer met Arduino en DS18B20: 7 stappe
Digitale termometer met Arduino en DS18B20: skep eenvoudig 'n digitale termometer waarmee u die huidige kamertemperatuur op 'n LCD -skerm kan vertel. Dit is 'n beginnersprojek. Apparaat wat u benodig: 1. Arduino UNO R3 2. DS18B20 temperatuursensor. 3. 16X2 LCD -skerm. 4. Verbindingsdrade. 5
Acme digitale termometer met DS18B20 temp -sonde en I2C LCD: 5 stappe
Acme Digital Thermometer W/ DS18B20 Temp Probe & I2C LCD: dit is 'n baie eenvoudige projek wat nie baie kos nie en nie veel tyd in beslag sal neem nie. Ek het dit in 'n Amazon -boks gesit omdat dit daar was, maar dit kan in omtrent alles gemonteer word