Innholdsfortegnelse:
- Trinn 1: LCD -grafikkmodul 128x128 RGB TFT ILI 9163C
- Trinn 2: Fuktighets- og temperatursensor AM2302 DHT22
- Trinn 3: Krets
- Trinn 4: Montering
- Trinn 5: Bibliotek
- Trinn 6: Kode
- Trinn 7: Noen andre interessante funksjoner
Video: ESP8266 digitalt termometer med LCD -skjerm: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
I dag vil jeg vise deg hvordan du bruker en TFT LCD-skjerm på ESP8266 NodeMCU for å vise temperatur- og fuktighetsdata for et gitt sanntidsmiljø. Jeg gjør et eksempel på å bruke displayet med DHT22, som er temperatur- og fuktighetsmåleren. Spesielt i denne videoen bruker jeg en kompakt skjerm for vårt digitale termometer, som er grafisk og tillater overvåking av selve systemet. Målet med i dag er derfor å lære om håndtering av flytende krystallskjerm ved bruk av ESP8266.
Trinn 1: LCD -grafikkmodul 128x128 RGB TFT ILI 9163C
Skjermen vi bruker i dette prosjektet er 128x128 piksler. 0, 0 er i øvre venstre hjørne, og denne modellen har både tekstutskrift og grafisk utskrift, som vi skal behandle senere.
Trinn 2: Fuktighets- og temperatursensor AM2302 DHT22
Vi vil bruke AM2302 DHT22 i vår samling, som er en sensor som jeg virkelig liker, siden den er veldig presis.
Trinn 3: Krets
I prosjektet har vi en ESP8266 som allerede er programmert og bruker USB -strøm. DHT22 er koblet til dataene og pull-up-motstanden til ESP8266, som styrer LCD-displayet.
Trinn 4: Montering
Her har vi det elektriske diagrammet over enheten vår, som viser NodeMCU, sensoren og displayet. Husk at dette er en seriell skjerm, i2c, som er lettere å bruke fordi den har flere pinner.
Trinn 5: Bibliotek
Siden vi skal programmere skjermen med Arduino C -språk, trenger vi DHT22 -biblioteket, så vel som LCD -skjermen.
Legg først til følgende "DHT -sensorbibliotek" -bibliotek for kommunikasjon med fuktighets- og temperatursensoren.
Bare få tilgang til "Skisse >> Inkluder biblioteker >> Administrer biblioteker …"
Legg nå til følgende bibliotek, "Adafruit-GFX-Library-master."
Bare få tilgang til "Skisse >> Inkluder biblioteker >> Administrer biblioteker …"
Legg også til "TFT_ILI9163C" -biblioteket for kommunikasjon med LCD -grafikkmodulen.
Få tilgang til lenken (((((((https://github.com/sumotoy/TFT_ILI9163C)))) og last ned biblioteket.
Pakk ut filen og lim den inn i bibliotekmappen i Arduino IDE.
C: / Program Files (x86) / Arduino / libraries
Trinn 6: Kode
La oss først legge til bibliotekene som skal brukes i koden vår.
#include // utilizada para se comunicar com eller módulo LCD#include // utilizada para se comunicar com o sensor de umidade e temperatura
Definisjoner
Vi ser nedenfor variablene som vi vil bruke under programmet, og forekomsten av objektene.
#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 // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81Fin definere _CS D1 // pino que conectaremos o CS do módulo LCD #define _DC D4 // pino que conectaremos o RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // construtor gjøre objeto que utilizaremos fora comunicar com eller modulo LCD
Oppsett
I setup () -funksjonen initialiserer vi variabelen "dht", som er ansvarlig for kommunikasjonen med fuktighetssensoren og temperaturen. Vi vil også initialisere "display" -variabelen som brukes til å kommunisere med LCD -modulen.
Vi vil også konfigurere objektet til å begynne å tegne på skjermen.
void -oppsett (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 (BLACK); // pinta a tela toda de preto display.setTextSize (2); // konfigurasjon av tamanho gjør tekst til com tamanho 2 display.setTextColor (GRØNN); // konfigura 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 markør display.print ("UMIDADE"); // escreve em tela display.setTextColor (WHITE); // konfigura a cor do texto como branco (a partir de agora) forsinkelse (1000); // espera de 1 segundo}
Løkke
I loop () -funksjonen vil vi hente fuktigheten og temperaturene som leses av sensoren og skrives på skjermen på det spesifikke stedet. Ved hvert intervall på 5 sekunder leses verdien fra sensoren og skrives på skjermen.
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, SVART); // fillRect (x, y, bredde, høyde, farge); display.fillRect (5, 92, 120, 20, SVART); display.setCursor (40, 35); // reposiciona o markør for escrever display.print (t); // oppgi en temperatur på displayet. utskrift ((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 markør for escrever display.print (h); // oppgi en umidade em tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }
Trinn 7: Noen andre interessante funksjoner
// Roterer innholdet på skjermen (parameter 0, 1, 2 eller 3)
display.setRotation (uint8_t);
// Snu fargene på displayet (negativt)
display.invertDisplay (boolsk);
// Tegner en enkelt piksel på skjermen ved posisjon (x, y)
display.drawPixel (x, y, farge);
// Tegner en vertikal linje på plass
display.drawFastVLine (x, y, bredde, farge);
// Tegner en vertikal linje på den angitte posisjonen
display.drawFastHLine (x, y, bredde, farge);
// Tegner en horisontal linje på den angitte posisjonen
display.drawRect (x, y, bredde, høyde, farge);
// Tegner en sirkel i den angitte posisjonen
display.drawCircle (x, y, radius, farge);
Anbefalt:
Digitalt RPi LED -termometer: 6 trinn (med bilder)
Digitalt RPi LED -termometer: Raspbian OSLær hvordan jeg lagde dette digitale LED -termometeret, med en Raspberry Pi Zero W, LED -stripe, en OLED -skjerm og en tilpasset PCB. Den sykluser automatisk gjennom en liste over byer og viser temperaturen på OLED displayet og LED -lampene. Men
Digitalt termometer DHT11 ved bruk av ESP8266: 4 trinn
Digitalt termometer DHT11 Bruke ESP8266: I forrige artikkel diskuterte jeg allerede DH11 og hvordan du viser det på utgangsenheter som 7 segmenter, LCD, seriell skjerm og RGB -ring. Og i denne artikkelen vil jeg vise deg hvordan du overvåker temperatur og fuktighet bruker en nettleser på en mobiltelefon
Digitalt termometer med Arduino og DS18B20: 7 trinn
Digitalt termometer med Arduino & DS18B20: Bare lag et digitalt termometer med kan fortelle deg gjeldende romtemperatur på en LCD -skjerm. Dette er et nybegynnerprosjekt. Apparater du trenger: 1. Arduino UNO R3 2. DS18B20 temperatursensor. 3. 16X2 LCD -skjerm. 4. Koble til ledninger. 5
Arduino From Scratch - Digitalt termometer: 7 trinn (med bilder)
Arduino From Scratch - Digitalt termometer: Jeg har elsket å lage prosjekter med Arduinos, men for 30 dollar stykket kan prosjektene dine bli dyre. Så jeg vil vise deg hvordan du kan lage din egen Arduino fra bunnen av og spare penger ved å gjøre det. Lag din egen Arduino for rundt $ 8. For dette instruerbare
Multifunksjonelt digitalt termometer: 5 trinn (med bilder)
Multifunksjonelt digitalt termometer: Denne instruksjonen viser deg hvordan du lager en multifunksjonsplattform med et termometer, kronograf (nedtellingstimer), nedtellingstimer og lysdisplay. Det er også ment å være en plattform for andre analoge sensorer eller andre funksjoner du gir