Table des matières:

Thermomètre numérique ESP8266 avec écran LCD : 7 étapes
Thermomètre numérique ESP8266 avec écran LCD : 7 étapes

Vidéo: Thermomètre numérique ESP8266 avec écran LCD : 7 étapes

Vidéo: Thermomètre numérique ESP8266 avec écran LCD : 7 étapes
Vidéo: LA DOMOTIQUE À 2€ FAIRE UN THERMOMÈTRE DIGITAL AVEC UN ARDUINO, une sonde DS18B20 et LCD I2C 2024, Juillet
Anonim
Image
Image
Module graphique LCD 128x128 RVB TFT ILI 9163C
Module graphique LCD 128x128 RVB TFT ILI 9163C

Aujourd'hui, je vais vous montrer comment utiliser un écran LCD TFT sur l'ESP8266 NodeMCU pour afficher les données de température et d'humidité pour un environnement en temps réel donné. Je fais un exemple d'utilisation de l'affichage avec DHT22, qui est la jauge de température et d'humidité. Dans cette vidéo, en particulier, j'utilise un écran compact pour notre thermomètre numérique, qui est graphique et permet une surveillance sur le système lui-même. L'objectif d'aujourd'hui est donc de s'initier au maniement de l'affichage à cristaux liquides à l'aide de l'ESP8266.

Étape 1: Module graphique LCD 128x128 RVB TFT ILI 9163C

L'affichage que nous utilisons dans ce projet est de 128x128 pixels. Le 0, 0 est dans le coin supérieur gauche, et ce modèle a à la fois des fonctions d'impression de texte et d'impression graphique, dont nous traiterons plus tard.

Étape 2: Capteur d'humidité et de température AM2302 DHT22

Capteur d'humidité et de température AM2302 DHT22
Capteur d'humidité et de température AM2302 DHT22

Nous utiliserons l'AM2302 DHT22 dans notre montage, qui est un capteur que j'aime beaucoup car il est très précis.

Étape 3: Circuit

Circuit
Circuit

Dans le projet, nous avons un ESP8266 déjà programmé et utilisant l'alimentation USB. Le DHT22 est connecté aux données et la résistance de rappel à l'ESP8266, qui contrôle l'écran LCD.

Étape 4: Assemblage

Assemblée
Assemblée

Ici, nous avons le schéma électrique de notre assemblage, qui montre le NodeMCU, le capteur et l'affichage. N'oubliez pas qu'il s'agit d'un affichage série, i2c, qui est plus facile à utiliser car il a plus de broches.

Étape 5: Bibliothèque

Une bibliothèque
Une bibliothèque
Une bibliothèque
Une bibliothèque

Puisque nous allons programmer l'affichage avec le langage Arduino C, nous avons besoin de la bibliothèque DHT22, ainsi que de l'écran LCD.

Tout d'abord, ajoutez la bibliothèque « Bibliothèque de capteurs DHT » suivante pour la communication avec le capteur d'humidité et de température.

Accédez simplement à "Esquisse >> Inclure les bibliothèques >> Gérer les bibliothèques …"

Maintenant, ajoutez la bibliothèque suivante, "Adafruit-GFX-Library-master".

Accédez simplement à "Esquisse >> Inclure les bibliothèques >> Gérer les bibliothèques …"

Ajoutez également la bibliothèque "TFT_ILI9163C" pour la communication avec le module graphique LCD.

Accédez au lien ((((((https://github.com/sumotoy/TFT_ILI9163C))))) et téléchargez la bibliothèque.

Décompressez le fichier et collez-le dans le dossier des bibliothèques de l'IDE Arduino.

C:/Program Files (x86)/Arduino/bibliothèques

Étape 6: Coder

Ajoutons d'abord les bibliothèques qui seront utilisées dans notre code.

#include //utilizada para se comunicar com o módulo LCD#include //utilizada para se comunicar com o sensor de umidade e temperatura

Définitions

Nous verrons ci-dessous les variables que nous utiliserons au cours du programme, et l'instance des objets.

#define DHTPIN D6 // pino que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (important para o construtor) DHT dht(DHTPIN, DHTTYPE); // construtor do objeto que utilizaremos para se comunicar com o sensor // Définitions des couleurs #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFITE 0 #define définir _CS D1 // pino que conectaremos o CS do module LCD #define _DC D4 // pino que conectaremos o RS do module LCD TFT_ILI9163C display = TFT_ILI9163C(_CS, _DC); // construtor do objeto que utilizaremos para se comunicar com o módulo LCD

Installer

Dans la fonction setup(), on initialise la variable « dht », qui est responsable de la communication avec le capteur d'humidité et de température. On va aussi initialiser la variable « display » qui sert à communiquer avec le module LCD.

Nous allons également configurer l'objet pour commencer à dessiner à l'écran.

void setup(void) { dht.begin(); // Initialisation pour la communication avec le capteur display.begin(); // Initialisation pour la communication avec le module LCD display.clearScreen(); // limpa a tela, removendo todos os desenhos display.fillScreen(BLACK); // pinta un tel toda de preto display.setTextSize(2); // configura o tamanho do texto com o tamanho 2 display.setTextColor(GREEN); // configura a cor do texto como verde display.setCursor(5, 10); // positionner le curseur sur une entrée à partir de (x, y) display.print("TEMPERATUR"); // escreve em tela display.setCursor(22, 70); // reposiciona o curseur 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 }

Boucle

Dans la fonction loop(), on va récupérer l'humidité et les températures lues par le capteur et écrites sur l'écran à l'endroit précis. A chaque intervalle de 5 secondes, la valeur est lue depuis le capteur et écrite sur l'écran.

boucle vide(){ 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 temperature, apagaremos o valor atual para escrever novamente atualizado. display.fillRect(5, 32, 120, 20, NOIR); // fillRect(x, y, largeur, hauteur, couleur); display.fillRect(5, 92, 120, 20, NOIR); display.setCursor (40, 35); // reposiciona o curseur pour escrever display.print(t); // escreve une temperature em tela 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 curseur pour escrever display.print(h); // escreve un umidade em tela display.print("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }

Étape 7: Quelques autres fonctions intéressantes

// Fait pivoter le contenu de l'écran (paramètres 0, 1, 2 ou 3)

display.setRotation (uint8_t);

// Inverse les couleurs d'affichage (fait un négatif)

display.invertDisplay (booléen);

// Dessine un seul pixel sur l'écran à la position (x, y)

display.drawPixel (x, y, couleur);

// Trace une ligne verticale en position

display.drawFastVLine (x, y, largeur, couleur);

// Trace une ligne verticale à la position spécifiée

display.drawFastHLine (x, y, largeur, couleur);

// Trace une ligne horizontale à la position spécifiée

display.drawRect (x, y, largeur, hauteur, couleur);

// Dessine un cercle à la position spécifiée

display.drawCircle (x, y, rayon, couleur);

Conseillé: