Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

DUINO EDU – DHT11 Sensor & LCD-Display

Posted on 28. März 202310. März 2024 by Stefan Draeger

In diesem neuen Beitrag möchte ich dir gerne zeigen, wie du die Sensorwerte des DHT11 Sensors auf einem LCD-Display per DUINO EDU anzeigen lassen kannst.

Dieses kleine Projekt ist der Wunsch des lesers Sieglinde L. welche das Projekt gerne mit der grafischen Entwicklungsumgebung DUINO EDU umsetzen möchte.

  • Benötigte Ressourcen für dieses Projekt
  • Aufbau der Schaltung
  • DUINO EDU einrichten / konfigurieren
  • Programmieren in DUINO EDU
    • Fehlende Punkte in der zweiten Zeile
    • Das Programm im Detail
  • Excurs zum Arduino Code

Benötigte Ressourcen für dieses Projekt

Wenn du das kleine Projekt nachbauen möchtest, dann benötigst du:

  • einen Arduino UNO*,
  • ein USB-Datenkabel*,
  • ein Grove Connector Shield / Base Shield v2 für den Arduino UNO*,
  • ein DHT11 Sensor mit Grove Schnittstelle*,
  • ein 20×2 Zeichen LCD-Display (I2C) mit Grove Schnittstelle*,
  • zwei Grove Kabel*

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Aufbau der Schaltung

Die Schaltung ist mit den Grove Anschlüssen sehr einfach und schnell erledigt, denn das LCD-Display wird lediglich in einen I2C und der DHT11 Sensor in ein digitalen Connector gesteckt.

Schaltung - Grove DHT11 Sensor & LCD-Display am Arduino UNO
Schaltung – Grove DHT11 Sensor & LCD-Display am Arduino UNO

DUINO EDU einrichten / konfigurieren

Bevor wir mit der Entwicklung des Programmes starten können, müssen wir die IDE herunterladen. Wie du dieses machst habe ich dir bereits im Beitrag Arduino Programmierung mit DUINO EDU erläutert.

Bei der Programmierung ist mir jedoch aufgefallen das der eingestellte Pfad für das standardmäßige Speichern von Projekten zu Problemen führt. Dieser Pfad wird auch genutzt um Bibliotheken zu referenzieren.

Arduino IDE - Voreinstellungen, Speicherort (default)
Arduino IDE – Voreinstellungen, Speicherort (default)
Arduino IDE - Voreinstellungen, Speicherort (custom)
Arduino IDE – Voreinstellungen, Speicherort (custom)

Meine Lösung dazu war, den Pfad auf einen anderen Ordner innerhalb der IDE DUINO EDU zu legen.

Programmieren in DUINO EDU

Wenn die Entwicklungsumgebung DUINO EDU fertig eingerichtet ist, dann können wir mit der Programmierung beginnen. Eigentlich ist es keine Programmierung im eigentlichen Sinne denn wir klicken eher per Drag’n Drop GUI Elemente zusammen und daraus wird dann der Code generiert welchen wir auf den Mikrocontroller spielen.

DHT11 Sensordaten am LCD-Display
DHT11 Sensordaten am LCD-Display

Nachfolgend das YouTube-Video wo ich dir im Detail erläutere wie das Programm aufgebaut wird.

DUINO EDU: DHT11 Sensor & RGB LCD-Display
Dieses Video auf YouTube ansehen.

Fehlende Punkte in der zweiten Zeile

In der zweiten Zeile vom LCD-Display werden keine Punkte angezeigt.

Das liegt in diesem Fall an der verwendeten Bibliothek. Wenn man die originale Bibliothek von Seeedstudio in der Arduino IDE verwendet, dann werden alle Zeichen auf dem Display korrekt angezeigt.

Beispiel auf dem RGB LCD-Display mit korrekten Sonderzeichen
Beispiel auf dem RGB LCD-Display mit korrekten Sonderzeichen

Das Programm im Detail

In der nachfolgenden Grafik zeige ich dir das kleine Programm mit Kommentaren.

Du benötigst für das Anzeigen der Sensorwerte auf dem LCD-Display recht wenig GUI Elemente, jedoch werden diese Elemente sehr tief ineinander verschachtelt.

Natürlich kannst du auch den Code etwas lesbarer gestalten und die Werte in Variablen auslagern, jedoch macht dieses den Code nicht viel besser.

Den Code kannst du dir auch über nachfolgenden Link als ZIP-Datei herunterladen.

Grove DHT11 Sensor & LCD-DisplayHerunterladen

Excurs zum Arduino Code

Schauen wir uns einmal den generierten Code an welcher kompiliert und auf den Mikrocontroller überspielt wird.

Zunächst werden die benötigten Bibliotheken importiert.

#include <Wire.h>
#include <rgb_lcd.h>
#include <DHT.h>

Danach wird geprüft ob das Feld EDU_LCD_ADRESS vorhanden ist, wenn dieses so ist wird eine Bibliothek für das Display importiert, andernfalls wird eine Bibliothek für ein RGB LCD-Display importiert.

#if defined (EDU_LCD_ADRESS)
#include <Duinoedu_LiquidCrystalUp.h>
Duinoedu_LiquidCrystalUp monRgb(EDU_LCD_ADRESS, EDU_LCD_COLS, EDU_LCD_ROWS);
#else
rgb_lcd monRgb;
#endif

Im nächsten Schritt wird eine Instanz des DHT Sensor objektes initialisiert mit der zusätzlichen Information das am digitalen Pin D2 ein Sensor angeschlossen ist.

DHT monDHT_pin2(2);

In der Funktion setup wird das Display und die Kommunikation mit dem Sensor gestartet.

void setup(){
  monRgb.branch();
  monDHT_pin2.brancher();
}

Die Funktion loop wird fortlaufend ausgeführt und liest und schreibt die Sensordaten auf das Display. Die Funktionen dabei sind in französischer Sprache (warum auch immer).

void loop(){
  monRgb.placerCurseurEn(0,0);
  monRgb.ecrire("Temp.:" );
  monRgb.ecrire(String(monDHT_pin2.lireTemperature(),2)  );
  monRgb.placerCurseurEn(1,0);
  monRgb.ecrire("rel.Luftf.:" );
  monRgb.ecrire(String(monDHT_pin2.lireHumidite(),2)  );
  delay( 2000 );
}

Hier nun der komplette Code:

#include <Wire.h>
#include <rgb_lcd.h>
#include <DHT.h>

#if defined (EDU_LCD_ADRESS)
#include <Duinoedu_LiquidCrystalUp.h>
Duinoedu_LiquidCrystalUp monRgb(EDU_LCD_ADRESS, EDU_LCD_COLS, EDU_LCD_ROWS);
#else
rgb_lcd monRgb;
#endif
DHT monDHT_pin2(2);

void setup()
{
  monRgb.branch();
  monDHT_pin2.brancher();
}

void loop()
{
  monRgb.placerCurseurEn(0,0);
  monRgb.ecrire("Temp.:" );
  monRgb.ecrire(String(monDHT_pin2.lireTemperature(),2)  );
  monRgb.placerCurseurEn(1,0);
  monRgb.ecrire("rel.Luftf.:" );
  monRgb.ecrire(String(monDHT_pin2.lireHumidite(),2)  );
  delay( 2000 );
}

2 thoughts on “DUINO EDU – DHT11 Sensor & LCD-Display”

  1. Sieglinde Langer sagt:
    28. März 2023 um 17:31 Uhr

    Tausend Dank für das super Projekt, endlich mal eine ausführliche Erklärung, vor allem die Kommentare sind super hilfreich. das würde ich allein niemals hinkriegen.
    Hoffentlich können viele davon profitieren.

    Antworten
  2. Pingback: DUINO EDU #2 - Grove Button Shield - Technik Blog

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}