Innehållsförteckning:
- Steg 1: LCD -grafikmodul 128x128 RGB TFT ILI 9163C
- Steg 2: Luftfuktighets- och temperatursensor AM2302 DHT22
- Steg 3: Krets
- Steg 4: Montering
- Steg 5: Bibliotek
- Steg 6: Kod
- Steg 7: Några andra intressanta funktioner
Video: ESP8266 digital termometer med LCD -skärm: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Idag kommer jag att visa dig hur du använder en TFT LCD-skärm på ESP8266 NodeMCU för att visa temperatur- och luftfuktighetsdata för en given realtidsmiljö. Jag gör ett exempel på att använda displayen med DHT22, som är temperatur- och luftfuktighetsmätaren. I den här videon använder jag specifikt en kompakt display för vår digitala termometer, som är grafisk och möjliggör övervakning av själva systemet. Dagens syfte är därför att lära sig om hanteringen av flytande kristallskärmen med hjälp av ESP8266.
Steg 1: LCD -grafikmodul 128x128 RGB TFT ILI 9163C
Displayen vi använder i detta projekt är 128x128 pixlar. 0, 0 finns i det övre vänstra hörnet, och den här modellen har både textutskrift och grafisk utskriftsfunktioner, som vi kommer att ta itu med senare.
Steg 2: Luftfuktighets- och temperatursensor AM2302 DHT22
Vi kommer att använda AM2302 DHT22 i vår samling, som är en sensor som jag verkligen gillar, eftersom den är mycket exakt.
Steg 3: Krets
I projektet har vi en ESP8266 som redan är programmerad och använder USB -ström. DHT22 är ansluten till data och pull-up-motståndet till ESP8266, som styr LCD-displayen.
Steg 4: Montering
Här har vi det elektriska diagrammet över vår enhet, som visar NodeMCU, sensorn och displayen. Kom ihåg att detta är en seriell display, i2c, som är lättare att använda eftersom den har fler stift.
Steg 5: Bibliotek
Eftersom vi ska programmera displayen med Arduino C -språk, behöver vi DHT22 -biblioteket, liksom LCD -skärmen.
Lägg först till följande "DHT -sensorbibliotek" -bibliotek för kommunikation med fukt- och temperatursensorn.
Gå bara till "Skiss >> Inkludera bibliotek >> Hantera bibliotek …"
Lägg nu till följande bibliotek, "Adafruit-GFX-Library-master."
Gå bara till "Skiss >> Inkludera bibliotek >> Hantera bibliotek …"
Lägg också till "TFT_ILI9163C" -biblioteket för kommunikation med LCD -grafikmodulen.
Gå till länken (((((((https://github.com/sumotoy/TFT_ILI9163C))))) och ladda ner biblioteket.
Packa upp filen och klistra in den i biblioteksmappen i Arduino IDE.
C: / Program Files (x86) / Arduino / libraries
Steg 6: Kod
Låt oss först lägga till biblioteken som kommer att användas i vår kod.
#inkludera // nytta för att kommunicera med modulo LCD
Definitioner
Vi kommer att se nedan de variabler som vi kommer att använda under programmet och förekomsten av objekt.
#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 // Färgdefinitioner #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81Fine #0fine0def #0fine0def #0fine definiera _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 do objeto que utilizaremos para se comunicar com or modulo LCD
Uppstart
I setup () -funktionen initierar vi variabeln "dht", som är ansvarig för kommunikationen med fuktsensorn och temperaturen. Vi kommer också att initialisera "display" -variabeln som används för att kommunicera med LCD -modulen.
Vi kommer också att konfigurera objektet för att börja rita 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 (SVART); // pinta a tela toda de preto display.setTextSize (2); // konfiguration o tamanho gör texto com o tamanho 2 display.setTextColor (GRÖN); // configa 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); // configa a cor do texto como branco (a partir de agora) fördröjning (1000); // espera de 1 segundo}
Slinga
I loop () -funktionen kommer vi att hämta fuktigheten och temperaturerna som avläses av sensorn och skrivs på skärmen på den specifika platsen. Vid varje intervall på 5 sekunder läses värdet från sensorn och skrivs 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 display.fillRect (5, 32, 120, 20, SVART); // fillRect (x, y, bredd, höjd, färg); display.fillRect (5, 92, 120, 20, SVART); display.setCursor (40, 35); // reposiciona o markör för escrever display.print (t); // upprätthålla en temperatur på displayen. 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 markör för escrever display.print (h); // visa ett meddelande om tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }
Steg 7: Några andra intressanta funktioner
// Roterar innehållet på skärmen (parametrar 0, 1, 2 eller 3)
display.setRotation (uint8_t);
// Omvänd displayfärger (gör en negativ)
display.invertDisplay (booleskt);
// Ritar en enda pixel på skärmen vid position (x, y)
display.drawPixel (x, y, färg);
// Ritar en vertikal linje på plats
display.drawFastVLine (x, y, bredd, färg);
// Ritar en vertikal linje vid den angivna positionen
display.drawFastHLine (x, y, bredd, färg);
// Ritar en horisontell linje vid den angivna positionen
display.drawRect (x, y, bredd, höjd, färg);
// Ritar en cirkel vid den angivna positionen
display.drawCircle (x, y, radie, färg);
Rekommenderad:
Använd smartphone som kontaktfri termometer / bärbar termometer: 8 steg (med bilder)
Använd smarttelefon som kontaktfri termometer / bärbar termometer: Mät kroppstemperatur med beröringsfri / kontaktlös som en termopistol. Jag skapade det här projektet eftersom Thermo Gun nu är väldigt dyrt, så jag måste skaffa alternativ för att göra DIY. Och syftet är att göra med låg budgetversion.SuppliesMLX90614Ardu
Digital RPi LED -termometer: 6 steg (med bilder)
Digital RPi LED -termometer: Raspbian OSLär dig hur jag gjorde denna digitala LED -termometer, med en Raspberry Pi Zero W, LED -remsa, en OLED -skärm och en anpassad PCB. Den cyklar automatiskt genom en lista över städer och visar temperaturen på OLED displayen och lysdioderna. Men
Digital termometer DHT11 med ESP8266: 4 steg
Digital termometer DHT11 Användning av ESP8266: I föregående artikel diskuterade jag redan DH11 och hur man visar den på utmatningsenheter som 7 segment, LCD, seriell bildskärm och RGB -ring. Och i den här artikeln kommer jag att visa dig hur du övervakar temperatur och luftfuktighet använda en webbläsare på en mobiltelefon
Arduino -baserad icke -kontakt infraröd termometer - IR -baserad termometer med Arduino: 4 steg
Arduino -baserad icke -kontakt infraröd termometer | IR -baserad termometer med Arduino: Hej killar i dessa instruktioner kommer vi att göra en kontaktfri termometer med hjälp av arduino. Eftersom temperaturen på vätskan/fastämnet ibland är för hög eller för låg och då är det svårt att komma i kontakt med den och läsa dess temperaturen då i den scen
Acme Digital termometer W/ DS18B20 Temp Probe & I2C LCD: 5 steg
Acme Digital Thermometer W/ DS18B20 Temp Probe & I2C LCD: detta är ett mycket enkelt projekt som inte kostar särskilt mycket och inte tar mycket tid. Jag lade den i en Amazon -låda eftersom den var där, men den kan monteras i nästan vad som helst