Calliope Mini mit DHT11 & LCD-Display

In diesem Beitrag möchte ich dir zeigen, wie du an einem Calliope Mini den Sensor DHT11 ein LCD-Display per Grove Schnittstelle anschließt.

Calliope Mini mit DHT11 & LCD-Display
Calliope Mini mit DHT11 & LCD-Display

Den Calliope Mini habe ich dir bereits im Beitrag Vorstellung des Calliope Mini vorgestellt.

Hier soll es nun darum gehen, wie man an diesen Mikrocontroller einen Sensor für das Messen der Temperatur sowie relative Luftfeuchtigkeit und die entsprechende Ausgabe auf einem 16×2 LCD-Display anschließt.

Aufbau des Calliope Mini

Der Calliope Mini verfügt über diverse Anschlüsse, wie Bsp für Sensoren / Aktoren und auch einer Batterie. An den Spitzen des Mikrocontrollers findest du jeweils Anschlüsse für die Stromversorgung und auch Pins für Sensoren.

Aufbau des Calliope Mini
Aufbau des Calliope Mini

Benötigte Ressourcen für dieses Projekt

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

Dem Calliope Mini liegt ein kleines Datenkabel bei, jedoch ist dieses sehr kurz.

Bauteile für das kleine Projekt "DHT11 Sensor & LCD-Display am Calliope Mini"
Bauteile für das kleine Projekt „DHT11 Sensor & LCD-Display am Calliope Mini“

Aufbau der Schaltung

Durch die verwendeten Grove Kabel ist der Anschluss und somit die Schaltung recht schnell erledigt, denn diese werden lediglich mit dem Sensor / dem Display und einen der beiden Ports verbunden. Die Stecker bzw. die Buchsen sind so aufgebaut, dass ein verkehrtes Einstecken nicht ohne größere Gewalt möglich ist.

Calliope Mini 1.3 mit DHT11 Sensor & LCD-Display
Calliope Mini 1.3 mit DHT11 Sensor & LCD-Display

Das LCD-Display wird per I²C angeschlossen, hier dient der Grove Sockel beim Taster „A“ (siehe Grafik), den DHT11 Sensor schließen wir dann an den übrig gebliebenen Sockel beim Taster „B“ an.

Pinout der Grove Schnittstellen am Calliope Mini 1.3
Pinout der Grove Schnittstellen am Calliope Mini 1.3

Programmieren

Das kleine Projekt wird in zwei Stufen programmiert. Im nachfolgenden YouTube Video zeige ich dir, wie du dieses Projekt mit dem Onlinetool MakeCode von Microsoft erstellst.

Schritt 1 – Ausgeben der Sensorwerte auf der LED Matrix

Im ersten Schritt wollen wir die Sensorwerte auslesen und auf der LED Matrix ausgeben.

Wenn der Taster A betätigt wird, wird die relative Luftfeuchtigkeit, beim Betätigen des Tasters B wird die Temperatur in Grad Celsius ausgegeben.

Hier der Code als Download:

Schritt 2 – Ausgeben der Sensorwerte auf einem LCD-Display

Im oben verlinkten YouTube Video habe ich dir bereits erklärt, wie das Programm erstellt wird.

Besonders zu nennen ist hier die kleine Pause von 2 Sekunden zwischen dem Schreiben der ersten und zweiten Zeile auf dem LCD-Display. Das Problem liegt hierbei beim DHT11 Sensor, welcher die Daten nicht so schnell hintereinander liefern kann.

Make Code - Programm zum Anzeigen der DHT11 Sensordaten auf einem LCD-Display
Make Code – Programm zum Anzeigen der DHT11 Sensordaten auf einem LCD-Display

Hier der Code als Download:

Importieren von HEX-Dateien

Du kannst die fertigen HEX-Dateien, entweder direkt auf deinen Calliope Mini kopieren oder im Onlinetool Make Code diese Dateien importieren.

2 Kommentare

  1. Sehr schöner Beitrag.
    Freue mich schon das Projekt in meine Sammlung aufzunehmen.
    Ich muss nur noch auf die Lieferung des DHT11 warten.
    Viele Grüße

  2. Danach kommt dann der nächste Schritt:
    Eine Wetterstation braucht neben Temperatur und Luftfeuchte noch den Luftdruck.
    Also brauchen wir einen Sensor, der alles vereint: BME280

    Ich habe mir diesen Sensor, den ich mit Arduino und ESP zahlreich verwendet habe, nun auch als Grove-Version bestellt. Ich werde also ihr Calliope-Projekt DHT11 auf diesen Sensor anwenden. Für die LCD-Ausgabe muss ich mir noch etwas überlegen, da 2 Zeilen mit je 16 Zeichen eigentlich zu klein sind. Hier wäre ein LCD 2004 mit 4 Zeilen und je 20 Zeichen besser. Mal schauen, ob es diesen als Grove-Version gibt.

    Viele Grüße

Kommentar hinterlassen

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