Inhoudsopgave:
- Stap 1: Grafische LCD-module 128x128 RGB TFT ILI 9163C
- Stap 2: Vochtigheids- en temperatuursensor AM2302 DHT22
- Stap 3: Circuit
- Stap 4: Montage
- Stap 5: Bibliotheek
- Stap 6: Coderen
- Stap 7: Enkele andere interessante functies
Video: ESP8266 digitale thermometer met lcd-scherm - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Vandaag laat ik je zien hoe je een TFT LCD-scherm op de ESP8266 NodeMCU gebruikt om temperatuur- en vochtigheidsgegevens weer te geven voor een bepaalde realtime omgeving. Ik maak een voorbeeld van het gebruik van het display met DHT22, de temperatuur- en vochtigheidsmeter. In deze video gebruik ik specifiek een compact display voor onze digitale thermometer, die grafisch is en monitoring op het systeem zelf mogelijk maakt. Het doel van vandaag is daarom om te leren over de bediening van het liquid crystal display met behulp van de ESP8266.
Stap 1: Grafische LCD-module 128x128 RGB TFT ILI 9163C
Het scherm dat we in dit project gebruiken is 128x128 pixels. De 0, 0 bevindt zich in de linkerbovenhoek en dit model heeft zowel tekstafdruk- als grafische afdrukfuncties, die we later zullen behandelen.
Stap 2: Vochtigheids- en temperatuursensor AM2302 DHT22
We zullen de AM2302 DHT22 in onze montage gebruiken, een sensor die ik erg leuk vind, omdat hij erg nauwkeurig is.
Stap 3: Circuit
In het project hebben we een ESP8266 die al is geprogrammeerd en de USB-stroom gebruikt. De DHT22 is verbonden met de data en de pull-up weerstand met de ESP8266, die het LCD-scherm bestuurt.
Stap 4: Montage
Hier hebben we het elektrische schema van onze assemblage, die de NodeMCU, de sensor en het display toont. Onthoud dat dit een serieel display is, i2c, dat gemakkelijker te gebruiken is omdat het meer pinnen heeft.
Stap 5: Bibliotheek
Omdat we het display gaan programmeren met Arduino C-taal, hebben we de DHT22-bibliotheek nodig, evenals het LCD-scherm.
Voeg eerst de volgende "DHT-sensorbibliotheek" -bibliotheek toe voor communicatie met de vochtigheids- en temperatuursensor.
Ga gewoon naar "Schets >> Bibliotheken opnemen >> Bibliotheken beheren …"
Voeg nu de volgende bibliotheek toe, "Adafruit-GFX-Library-master."
Ga gewoon naar "Schets >> Bibliotheken opnemen >> Bibliotheken beheren …"
Voeg ook de bibliotheek "TFT_ILI9163C" toe voor communicatie met de grafische LCD-module.
Ga naar de link (((((https://github.com/sumotoy/TFT_ILI9163C))))) en download de bibliotheek.
Pak het bestand uit en plak het in de bibliothekenmap van de Arduino IDE.
C: / Programmabestanden (x86) / Arduino / bibliotheken
Stap 6: Coderen
Laten we eerst de bibliotheken toevoegen die in onze code zullen worden gebruikt.
#include //utilizada para se comunicar com o módulo LCD#include //utilizada para se comunicar com o sensor de umidade e temperatura
definities
We zullen hieronder de variabelen zien die we tijdens het programma zullen gebruiken, en de instantie van de objecten.
#define DHTPIN D6 // pino que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (belangrijk voor construtor) DHT dht(DHTPIN, DHTTYPE); // construtor do objeto que utilizaremos para se comunicar com o sensor // Kleurdefinities #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAAN 0x07FF #define MAGENTA 0xF81F #define0 YELLOWdefine 0xF definieer _CS D1 // pino que conectaremos of CS met modulaire LCD #define _DC D4 // pino que conectaremos of RS met modulaire LCD TFT_ILI9163C display = TFT_ILI9163C(_CS, _DC); // construtor om gebruik te maken van de comunicar com of módulo LCD
Opstelling
In de functie setup () initialiseren we de variabele "dht", die verantwoordelijk is voor de communicatie met de vochtigheidssensor en temperatuur. We zullen ook de variabele "display" initialiseren die wordt gebruikt om met de LCD-module te communiceren.
We zullen het object ook configureren om op het scherm te tekenen.
void setup (void) { dht.begin(); // inicialização para se comunicar com o sensor display.begin(); // inicialização se comunicar com o módulo LCD display.clearScreen(); // limpa a tela, removendo todos os desenhos display.fillScreen (ZWART); // pinta a toda de preto display.setTextSize (2); // configura o tamanho do texto o tamanho 2 display.setTextColor (GROEN); // configura 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); // configura a cor do texto como branco (a partir de agora) delay (1000); // Espera de 1 segundo }
Lus
In de loop ()-functie halen we de vochtigheid en temperaturen op die door de sensor zijn gelezen en op het scherm op de specifieke locatie zijn geschreven. Met elk interval van 5 seconden wordt de waarde van de sensor afgelezen en op het scherm geschreven.
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 escreverdo novamente atualiza. display.fillRect(5, 32, 120, 20, ZWART); // fillRect (x, y, breedte, hoogte, kleur); display.fillRect(5, 92, 120, 20, ZWART); display.setCursor(40, 35); // reposiciona of cursor para escrever display.print(t); // escreve een temperatuur em tela display.print((char)247); // escreve of 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 of cursor para escrever display.print(h); // escreve een umidade em tela display.print("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }
Stap 7: Enkele andere interessante functies
// Roteert de inhoud van het scherm (parameters 0, 1, 2 of 3)
display.setRotation (uint8_t);
// Keert weergavekleuren om (maakt een negatief)
display.invertDisplay (booleaans);
// Tekent een enkele pixel op het scherm op positie (x, y)
display.drawPixel (x, y, kleur);
// Tekent een verticale lijn in positie
display.drawFastVLine (x, y, breedte, kleur);
// Tekent een verticale lijn op de opgegeven positie
display.drawFastHLin (x, y, breedte, kleur);
// Tekent een horizontale lijn op de opgegeven positie
display.drawRect (x, y, breedte, hoogte, kleur);
// Tekent een cirkel op de opgegeven positie
display.drawCircle (x, y, straal, kleur);
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Een digitale schuifmaat afbreken en hoe werkt een digitale schuifmaat: 4 stappen
Een digitale schuifmaat afbreken en hoe werkt een digitale schuifmaat: Veel mensen weten hoe ze een schuifmaat moeten gebruiken om te meten. Deze tutorial leert je hoe je een digitale schuifmaat afbreekt en een uitleg over hoe de digitale schuifmaat werkt
Hoe maak je een digitale thermometer #1: 4 stappen
Hoe maak je een digitale thermometer # 1: In dit artikel zal ik een project maken met de naam "Digitale Thermometer". Ik gebruik "DHT11" voor de temperatuursensor. En gebruik de "7Segmrnt-module" als de weergave. Ik raad aan eerst dit artikel te lezen "DHT11" en &q
Digitale thermometer met NodeMCU en LM35: 5 stappen
Digitale thermometer met NodeMCU en LM35: maak je eigen digitale thermometer en bewaak de temperatuur overal via internet. We zullen temperatuursensor LM35 koppelen met NodeMCU 1.0 (ESP-12E). LM35 is een temperatuursensor
Een digitale thermometer maken: 5 stappen
Maak een digitale thermometer: in deze instructable leer je hoe je een eenvoudige digitale thermometer maakt voor minder dan 10 pond met behulp van een paar eenvoudige componenten en 1 IC. Het voltooide project zou er ongeveer zo uit moeten zien: