Indholdsfortegnelse:
- Trin 1: LCD grafisk modul 128x128 RGB TFT ILI 9163C
- Trin 2: Fugtigheds- og temperatursensor AM2302 DHT22
- Trin 3: Kredsløb
- Trin 4: Montering
- Trin 5: Bibliotek
- Trin 6: Kode
- Trin 7: Nogle andre interessante funktioner
Video: ESP8266 digitalt termometer med LCD -display: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
I dag vil jeg vise dig, hvordan du bruger et TFT LCD-display på ESP8266 NodeMCU til at vise temperatur- og fugtighedsdata for et givet realtidsmiljø. Jeg laver et eksempel på at bruge displayet med DHT22, som er temperatur- og fugtighedsmåler. I denne video bruger jeg specifikt en kompakt skærm til vores digitale termometer, som er grafisk og muliggør overvågning af selve systemet. Formålet med i dag er derfor at lære om håndteringen af LCD -skærmen ved hjælp af ESP8266.
Trin 1: LCD grafisk modul 128x128 RGB TFT ILI 9163C
Det display, vi bruger i dette projekt, er 128x128 pixels. 0, 0 er i øverste venstre hjørne, og denne model har både tekstudskrivning og grafisk udskrivningsfunktioner, som vi vil behandle senere.
Trin 2: Fugtigheds- og temperatursensor AM2302 DHT22
Vi vil bruge AM2302 DHT22 i vores samling, som er en sensor, som jeg virkelig kan lide, da den er meget præcis.
Trin 3: Kredsløb
I projektet har vi en ESP8266, der allerede er programmeret og bruger USB -strøm. DHT22 er forbundet til dataene og pull-up-modstanden til ESP8266, som styrer LCD-displayet.
Trin 4: Montering
Her har vi det elektriske diagram over vores samling, som viser NodeMCU, sensoren og displayet. Husk, at dette er en seriel skærm, i2c, som er lettere at bruge, fordi den har flere pins.
Trin 5: Bibliotek
Da vi skal programmere displayet med Arduino C -sprog, har vi brug for DHT22 -biblioteket samt LCD.
Tilføj først følgende "DHT -sensorbibliotek" -bibliotek til kommunikation med fugtigheds- og temperatursensoren.
Du skal blot få adgang til "Skitse >> Inkluder biblioteker >> Administrer biblioteker …"
Tilføj nu følgende bibliotek, "Adafruit-GFX-Library-master."
Du skal blot få adgang til "Skitse >> Inkluder biblioteker >> Administrer biblioteker …"
Tilføj også biblioteket "TFT_ILI9163C" til kommunikation med LCD -grafikmodulet.
Få adgang til linket (((((((https://github.com/sumotoy/TFT_ILI9163C)))) og download biblioteket.
Pak filen ud, og indsæt den i biblioteksmappen i Arduino IDE.
C: / Programfiler (x86) / Arduino / biblioteker
Trin 6: Kode
Lad os først tilføje de biblioteker, der skal bruges i vores kode.
#inkludere // brug for en komunikar eller en LCD -skærm#inkludere // brug for en komunikar for en temperatur og temperatur
Definitioner
Vi vil nedenfor se de variabler, vi vil bruge under programmet, og forekomsten af objekterne.
#define DHTPIN D6 // pino que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (importante para o construtor) DHT dht (DHTPIN, DHTTYPE); // Construtor do objeto que utilizaremos para se comunicar com o sensor // Farvedefinitioner #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81Fin #0fine0def #0fine definere _CS D1 // pino que conectaremos o CS til módulo LCD #define _DC D4 // pino que conectaremos o RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // konstruktør, der kan bruges til at kommunikere med en LCD -skærm
Opsætning
I setup () -funktionen initialiserer vi variablen "dht", som er ansvarlig for kommunikationen med fugtighedsføleren og temperaturen. Vi vil også initialisere "display" -variablen, der bruges til at kommunikere med LCD -modulet.
Vi konfigurerer også objektet til at begynde at tegne på skærmen.
void setup (void) {dht.begin (); // inicialização para se comunicar com o sensor display.begin (); // inicialização para se comunicar com o módulo LCD display.clearScreen (); // limpa a tela, removeendo todos os desenhos display.fillScreen (SORT); // pinta a tela toda de preto display.setTextSize (2); // konfiguration o tamanho do texto com o tamanho 2 display.setTextColor (GREEN); // konfiguration a cor do texto 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); // konfiguration a cor do texto como branco (a partir de agora) forsinkelse (1000); // espera de 1 segundo}
Sløjfe
I loop () -funktionen vil vi hente den fugtighed og temperaturer, der læses af sensoren og skrives på skærmen på det specifikke sted. Ved hvert interval på 5 sekunder læses værdien fra sensoren og skrives på skærmen.
void loop () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // faz a leitura da temperatura do sensor // as 2 linhas seguintes utilizando o método “fillRect”, são para fazer a limpeza do local onde escreveremos a umidade e a temperatura, apagaremos o valor atual para escrever novamente atualizado. display.fillRect (5, 32, 120, 20, SORT); // fillRect (x, y, bredde, højde, farve); display.fillRect (5, 92, 120, 20, SORT); display.setCursor (40, 35); // reposiciona o cursor para escrever display.print (t); // registrere en temperatur på displayet. 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); // registrere en umidade em tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }
Trin 7: Nogle andre interessante funktioner
// Roterer skærmens indhold (parametre 0, 1, 2 eller 3)
display.setRotation (uint8_t);
// Vender displayfarver (gør en negativ)
display.invertDisplay (boolsk);
// Tegner en enkelt pixel på skærmen ved position (x, y)
display.drawPixel (x, y, farve);
// Tegner en lodret linje på plads
display.drawFastVLine (x, y, bredde, farve);
// Tegner en lodret linje på den angivne position
display.drawFastHLine (x, y, bredde, farve);
// Tegner en vandret linje på den angivne position
display.drawRect (x, y, bredde, høj, farve);
// Tegner en cirkel på den angivne position
display.drawCircle (x, y, radius, farve);
Anbefalede:
Digitalt RPi LED -termometer: 6 trin (med billeder)
Digitalt RPi LED -termometer: Raspbian OSLær hvordan jeg lavede dette digitale LED -termometer med en Raspberry Pi Zero W, LED -strip, en OLED -skærm og et brugerdefineret printkort. Det cykler automatisk gennem en liste over byer og viser temperaturen på OLED display og LED'erne. Men
Digitalt termometer DHT11 ved hjælp af ESP8266: 4 trin
Digitalt termometer DHT11 Brug af ESP8266: I den forrige artikel diskuterede jeg allerede DH11 og hvordan man viser det på outputenheder som f.eks. 7 segmenter, LCD, seriel skærm og RGB -ring. Og i denne artikel vil jeg vise dig, hvordan du overvåger temperatur og fugtighed ved hjælp af en browser på en mobiltelefon
Digitalt termometer med Arduino & DS18B20: 7 trin
Digitalt termometer med Arduino & DS18B20: Opret blot et digitalt termometer med kan fortælle dig den aktuelle rumtemperatur på en LCD -skærm. Dette er et begynderprojekt. Apparat, du har brug for: 1. Arduino UNO R3 2. DS18B20 temperatursensor. 3. 16X2 LCD -display. 4. Tilslutning af ledninger. 5
Arduino From Scratch - Digitalt termometer: 7 trin (med billeder)
Arduino From Scratch - Digitalt termometer: Jeg har elsket at lave projekter med Arduinos, men for $ 30 pr. Stykke kan dine projekter blive dyre. Så jeg vil vise dig, hvordan du kan lave din egen Arduino fra bunden og spare penge ved at gøre det. Lav din egen Arduino for omkring $ 8. For denne instruerbare
Multifunktions digitalt termometer: 5 trin (med billeder)
Multifunktions digitalt termometer: Denne instruktive viser dig, hvordan du opretter en multifunktionsplatform med et termometer, kronograf (tæller op), nedtællingstimer og lysdisplay. Det er også beregnet til at være en platform for andre analoge sensorer eller andre funktioner, du