🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

DUINO EDU – DHT11 Sensor & LCD-Display

Posted on 28. März 20233. Mai 2023 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

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

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb