Inhaltsverzeichnis:

ESP8266 Digitales Thermometer mit LCD-Display - Gunook
ESP8266 Digitales Thermometer mit LCD-Display - Gunook

Video: ESP8266 Digitales Thermometer mit LCD-Display - Gunook

Video: ESP8266 Digitales Thermometer mit LCD-Display - Gunook
Video: How to use ESP8266 NodeMCU with DHT11 Temperature and Humidity Sensor 2024, November
Anonim
Image
Image
LCD-Grafikmodul 128x128 RGB TFT ILI 9163C
LCD-Grafikmodul 128x128 RGB TFT ILI 9163C

Heute zeige ich Ihnen, wie Sie ein TFT-LCD-Display auf der ESP8266 NodeMCU verwenden, um Temperatur- und Luftfeuchtigkeitsdaten für eine bestimmte Echtzeitumgebung anzuzeigen. Ich mache ein Beispiel für die Verwendung des Displays mit DHT22, dem Temperatur- und Feuchtigkeitsmesser. In diesem Video verwende ich speziell ein kompaktes Display für unser digitales Thermometer, das grafisch ist und eine Überwachung am System selbst ermöglicht. Das heutige Ziel ist es daher, den Umgang mit der Flüssigkristallanzeige mit dem ESP8266 zu erlernen.

Schritt 1: LCD-Grafikmodul 128x128 RGB TFT ILI 9163C

Das Display, das wir in diesem Projekt verwenden, ist 128x128 Pixel groß. Die 0, 0 befindet sich in der oberen linken Ecke, und dieses Modell verfügt sowohl über Textdruck- als auch Grafikdruckfunktionen, auf die wir später eingehen werden.

Schritt 2: Feuchtigkeits- und Temperatursensor AM2302 DHT22

Feuchte- und Temperatursensor AM2302 DHT22
Feuchte- und Temperatursensor AM2302 DHT22

Wir werden in unserer Montage den AM2302 DHT22 verwenden, einen Sensor, den ich sehr mag, da er sehr präzise ist.

Schritt 3: Schaltung

Schaltkreis
Schaltkreis

Im Projekt haben wir einen ESP8266, der bereits programmiert ist und den USB-Strom verwendet. Der DHT22 ist mit dem Data verbunden und der Pull-Up-Widerstand mit dem ESP8266, der das LCD-Display steuert.

Schritt 4: Montage

Montage
Montage

Hier haben wir den Schaltplan unserer Baugruppe, der die NodeMCU, den Sensor und das Display zeigt. Denken Sie daran, dass dies ein serielles Display, i2c, ist, das einfacher zu verwenden ist, da es mehr Pins hat.

Schritt 5: Bibliothek

Bücherei
Bücherei
Bücherei
Bücherei

Da wir das Display mit der Sprache Arduino C programmieren werden, benötigen wir die DHT22-Bibliothek sowie das LCD.

Fügen Sie zunächst die folgende Bibliothek „DHT-Sensorbibliothek“für die Kommunikation mit dem Feuchte- und Temperatursensor hinzu.

Rufen Sie einfach „Skizze >> Bibliotheken einschließen >> Bibliotheken verwalten …“auf.

Fügen Sie nun die folgende Bibliothek "Adafruit-GFX-Library-master" hinzu.

Rufen Sie einfach „Skizze >> Bibliotheken einschließen >> Bibliotheken verwalten …“auf.

Fügen Sie außerdem die Bibliothek "TFT_ILI9163C" für die Kommunikation mit dem LCD-Grafikmodul hinzu.

Greifen Sie auf den Link ((((((https://github.com/sumotoy/TFT_ILI9163C)))) zu und laden Sie die Bibliothek herunter.

Entpacken Sie die Datei und fügen Sie sie in den Bibliotheksordner der Arduino IDE ein.

C: / Programmdateien (x86) / Arduino / Bibliotheken

Schritt 6: Code

Zuerst fügen wir die Bibliotheken hinzu, die in unserem Code verwendet werden.

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

Definitionen

Unten sehen Sie die Variablen, die wir während des Programms verwenden, und die Instanz der Objekte.

#define DHTPIN D6 // Pinoque conectaremos of sensor DHT22#define DHTTYPE DHT22 // DHT22 oder tipo do sensor que utilizaremos (wichtig für den Konstruktor) DHT dht(DHTPIN, DHTTYPE); // construtor do objeto que utilizaremos para se comunicar com o sensor // Farbdefinitionen #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xWHFFITE0 Definiere _CS D1 // Pinoque conectaremos o CS mit modularem LCD #define _DC D4 // Pinoque conectaremos o RS mit modularem LCD TFT_ILI9163C display = TFT_ILI9163C(_CS, _DC); // construtor do objeto que utilizaremos para se comunicar com o módulo LCD

Aufstellen

In der Funktion setup () initialisieren wir die Variable „dht“, die für die Kommunikation mit dem Feuchtesensor und der Temperatur zuständig ist. Wir initialisieren auch die Variable „display“, die für die Kommunikation mit dem LCD-Modul verwendet wird.

Wir werden auch das Objekt so konfigurieren, dass es mit dem Zeichnen auf dem Bildschirm beginnt.

Void setup (void) {dht.begin(); // Initialisierung für die Kommunikation mit dem Sensor display.begin (); // Initialisierung für die gemeinsame Nutzung oder das Modul LCD display.clearScreen (); // limpa a tela, entferne todos os desenhos display.fillScreen(BLACK); // pinta a tela toda de preto display.setTextSize(2); // configura oder tamanho do texto com oder tamanho 2 display.setTextColor(GREEN); // configura a cor do texto como verde display.setCursor(5, 10); // Position des Cursors für Começar und 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 }

Schleife

In der Funktion loop () rufen wir die vom Sensor gelesene Luftfeuchtigkeit und Temperatur ab und schreiben sie an der bestimmten Stelle auf den Bildschirm. In jedem Intervall von 5 Sekunden wird der Wert vom Sensor gelesen und auf den Bildschirm geschrieben.

Void Schleife () {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 or valor atual para escrever novamente atualizado. display.fillRect(5, 32, 120, 20, SCHWARZ); // fillRect(x, y, Breite, Höhe, Farbe); display.fillRect(5, 92, 120, 20, SCHWARZ); display.setCursor(40, 35); // Reposiciona o Cursor para escrever display.print (t); // eine Temperatur aufgeben display.print ((char) 247); // escreve oder simbolo 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); // escreve a umidade em tela display.print("%"); // escreve o símbolo de „porcentagem“para indicar a umidade delay(5000); }

Schritt 7: Einige andere interessante Funktionen

// Rotiert den Bildschirminhalt (Parameter 0, 1, 2 oder 3)

display.setRotation (uint8_t);

// Kehrt die Anzeigefarben um (macht ein Negativ)

display.invertDisplay (boolean);

// Zeichnet ein einzelnes Pixel auf dem Bildschirm an Position (x, y)

display.drawPixel (x, y, Farbe);

// Zeichnet eine vertikale Linie in Position

display.drawFastVLine (x, y, Breite, Farbe);

// Zeichnet eine vertikale Linie an der angegebenen Position

display.drawFastHLine (x, y, Breite, Farbe);

// Zeichnet eine horizontale Linie an der angegebenen Position

display.drawRect (x, y, Breite, Höhe, Farbe);

// Zeichnet einen Kreis an der angegebenen Position

display.drawCircle (x, y, Radius, Farbe);

Empfohlen: