Anleitung: Kaffeepause über Distanz

Bau deine vernetzte Untertasse

Diese Anleitung führt dich durch die einzelnen Schritte, wie du eine vernetzte Untertasse baust, die dir hilft, auch über Distanz eine Kaffeepause mit einer anderen Person zu teilen.

Was die vernetzte Untertasse macht:

Die Untertasse erkennt, wenn du eine warme Tasse darauf stellst.
Ein Temperatursensor misst die Wärme der Tasse und sendet ein Signal über das Internet an das Gerät einer anderen Person. Sobald dort erkannt wird, dass dein Kaffee warm ist, leuchtet eine kleine LED auf. So weiß dein Gegenüber: Jetzt ist Zeit für eine gemeinsame Kaffeepause.

Für dieses Projekt baut ihr zwei Geräte, die miteinander verbunden sind.

Anforderungen

Du benötigst:

  • einen Computer mit macOS, Windows oder Linux

  • einen freien USB-Port

  • eine Internetverbindung

  • ein 2,4 GHz WLAN-Netzwerk

Die Geräte verbinden sich über das Internet miteinander, damit sie Signale austauschen können.

Hardware

XIAO ESP32-C3-Mikrocontroller (1 Stück pro Gerät)
DS18B20-Temperatursensor (1 Stück pro Gerät)
Addressable RGB Led (1 Stück pro Gerät)
4,7-kΩ-Widerstand (1 Stück pro Temperatursensor)
Breadboard (1 Stück pro Gerät)
Jumper-Kabel Male-Female für den Temperatursensor (3 Stück pro Gerät).
Jumper-Kabel Male-Male für die RGB-LED (3 Stück pro Gerät).
3,7-V Lithium-Batterie zur Stromversorgung (alternativ: USB-C-Kabel)

Für den Bau von zwei Geräten benötigst du jeweils doppelt so viele Komponenten.

So baust du die Komponenten zusammen

Die folgende Abbildung zeigt die Pinübersicht des XIAO ESP32-C3. Sie hilft dir, die richtigen Pins für den Anschluss der Komponenten zu finden.

Hier sind die einfachen Schritte, um deine vernetzte Untertasse zusammenzubauen. Nimm dir alle Komponenten zur Hand, bevor du anfängst:

Schritt 1.

Stromversorgung vorbereiten

Wenn du ein USB-C-Kabel verwendest, kannst du diesen Schritt überspringen.

Wenn du eine 3,7-V Lithium-Batterie verwendest:

  • Löte zwei Kabel an die Stromanschlüsse des Mikrocontrollers: ein Kabel für Plus (+), ein Kabel für Minus (–)

  • Verwende dafür zwei Jumper-Kabel (Male-Male). Die eine Seite wird an die entsprechenden Strompins des Mikrocontrollers gelötet, die andere Seite verbindest du mit den Plus- und Minuspolen der Batterie.

Die folgende Abbildung zeigt die Verkabelung.

Schritt 2.

Antenne anschließen und Mikrocontroller platzieren

  • und löte anschließend die Pins an den Mikrocontroller.

  • Achte darauf, dass die Pins gerade in den Kontakten des Breadboards stecken.

  • Stelle sicher, dass keine Pins eine metallische Oberfläche berühren, um Kurzschlüsse zu vermeiden.

Schritt 3.

Addressable RGB-LED im Breadboard positionieren

  • Die Addressable RGB-LED hat unterschiedlich lange Beinchen, wie im Bild dargestellt. Die Beinlängen geben die Orientierung vor:

DIN: Dateneingang

VDD: Versorgungsspannung

GND: Masse

DOUT: Datenausgang

  • Die flache Kante der LED hilft bei der richtigen Ausrichtung. Orientiere dich an der Beinlänge und der Beschriftung im Bild, um die LED korrekt im Breadboard zu platzieren.

Schritt 4.

Addressable RGB-LED anschließen

Verbinde die LED mit dem Mikrocontroller.

  • Verbinde den Daten-Pin (DIN) der LED mit GPIO 4 des Mikrocontrollers (gelbes Kabel).

  • Verbinde den VDD-Pin der LED mit dem 3V3-Pin des Mikrocontrollers (rotes Kabel).

  • Verbinde den GND-Pin der LED mit GND (blaues Kabel).

Der Datenausgang (DOUT) der LED wird in diesem Aufbau nicht benötigt und bleibt frei.

Überprüfe die Verkabelung sorgfältig. Eine falsche Verbindung kann dazu führen, dass die LED nicht funktioniert oder beschädigt wird.

Schritt 5.

DS18B20-Temperatursensor ausrichten

Halte den DS18B20-Sensor so, dass die flache Seite zu dir zeigt.

In dieser Ausrichtung sind die Pins:

  • Links: GND

  • Mitte: DATA

  • Rechts: VDD

Stecke den Sensor anschließend in das Breadboard oder verbinde ihn mit den Jumper-Kabeln.

Schritt 6.

DS18B20 mit Widerstand an den XIAO ESP32-C3 anschließen

Verbinde den Sensor mit dem Mikrocontroller.

  • Verbinde den DATA-Pin (Mitte) mit GPIO 8 des Mikrocontrollers (gelbes Kabel).

  • Verbinde den VDD-Pin (rechts) mit 3V3 (oranges Kabel).

  • Verbinde den GND-Pin (links) mit GND (grünes Kabel).

Setze anschließend einen 4,7-kΩ-Widerstand zwischen DATA und VDD.
Dieser Widerstand sorgt dafür, dass der Sensor korrekt mit dem Mikrocontroller kommunizieren kann.

So bereitest du die Software vor

Du hast deine Komponenten zusammengebaut. Jetzt braucht deine vernetzte Untertasse den passenden Code, damit sie funktionieren kann.

Der Code muss nicht selbst programmiert werden.
Du lädst ihn herunter, nimmst ein paar Einstellungen vor und überträgst ihn anschließend auf den Mikrocontroller.

Schritt 1.

Arduino IDE installieren

Lade die Arduino IDE von der offiziellen Seite (hier) herunter , installiere sie und folge der Installationsanleitung auf der Seite. Öffne die Arduino IDE nach der Installation.

Schritt 2.

ESP32-Board in der Arduino IDE einrichten

Damit die Arduino IDE mit dem Seeed XIAO ESP32-C3 arbeiten kann, musst du das passende Board installieren.

  • Öffne Arduino IDE

  • Gehe zu File → Preferences

  • Füge folgende Adresse in das Feld
    “Additional Board Manager URLs” ein and Klicke auf OK :

https://jihulab.com/esp-mirror/espressif/arduino-esp32.git

Danach:

  • Gehe zu Tools → Board → Boards Manager

  • Suche nach ESP32

  • Installiere das Paket esp32 by Espressif Systems

Schritt 3.

Benötigte Bibliotheken installieren

Installiere die folgenden Bibliotheken über:

Sketch → Include Library → Manage Libraries

Suche nacheinander nach diesen Bibliotheken und installiere sie:

  • WiFiManager

  • PubSubClient

  • Adafruit NeoPixel

  • OneWire

  • DallasTemperature

Schritt 4.

Code in die Arduino IDE laden

Kopiere den bereitgestellten Arduino-Code und füge ihn in ein neues Sketch-Fenster in der Arduino IDE ein.

Wenn du zwei Geräte baust, benötigst du für jedes Gerät denselben Code.

Schritt 5.

Geräterolle festlegen

Bevor du den Code hochlädst, musst du festlegen, welches Gerät du gerade programmierst.

Im Code findest du diese Zeile:

#define ROLE_COFFEE 1

Für das erste Gerät bleibt der Wert 1.

Für das zweite Gerät ändere ihn zu:

#define ROLE_COFFEE 2

Schritt 6.

Eigenen Projektnamen festlegen

Im Code findest du außerdem diese Zeile:

#define UNIQUE_ID "CHANGE_THIS_NAME"

Schritt 7.

Mikrocontroller mit dem Computer verbinden

Verbinde den Seeed XIAO ESP32-C3 mit einem USB-Kabel mit deinem Computer.

Stelle sicher, dass das Kabel Daten übertragen kann und nicht nur zum Laden geeignet ist.

Schritt 8.

Board auswählen

  • Gehe in der Arduino IDE zu:

    Tools → Board

  • Wähle anschließend das Board:

    XIAO ESP32C3

Schritt 9.

Richtigen COM-Port wählen

Verbinde den Mikrocontroller mit einem USB-Kabel mit deinem Computer.

  • Gehe anschließend zu:

    Tools → Port

  • Wähle den Port aus, an dem dein Mikrocontroller angeschlossen ist.

    Der Port kann zum Beispiel so aussehen:

    • COM3 / COM4 (Windows)

    • /dev/cu.usbmodem… (macOS)

    • /dev/ttyACM0 (Linux)

Wenn kein Port angezeigt wird, überprüfe das USB-Kabel. Einige USB-Kabel sind nur zum Laden geeignet und unterstützen keine Datenübertragung.

Schritt 10.

Code auf den Mikrocontroller hochladen

Klicke in der Arduino IDE auf den Upload-Button (Pfeil-Symbol). Der Code wird nun auf den Mikrocontroller übertragen. Nach einigen Sekunden sollte eine Erfolgsmeldung erscheinen.

Schritt 11.

Upload funktioniert nicht?

Wenn der Upload nicht startet, kann es helfen, den Boot-Modus des Mikrocontrollers zu aktivieren.

Auf dem Mikrocontroller Seeed XIAO ESP32-C3 befinden sich zwei kleine Tasten: BOOT und RESET.

Gehe folgendermaßen vor:

1- Halte den BOOT-Button auf dem Mikrocontroller gedrückt.

2- Drücke kurz den RESET-Button auf dem Mikrocontroller.

3- Lasse anschließend den BOOT-Button wieder los.

4- Starte danach den Upload in der Arduino IDE erneut.

Die Abbildung zeigt die Vorderseite des Mikrocontrollers Seeed XIAO ESP32-C3 mit den Tasten BOOT und RESET.

Schritt 12.

WLAN-Verbindung einrichten

  • Öffne die WLAN-Einstellungen auf deinem Smartphone oder Computer und suche nach dem Netzwerk:

  • Coffee1-Setup (für das erste Gerät)      Coffee2-Setup (für das zweite Gerät)

  • Verbinde dich mit diesem Netzwerk. Danach öffnet sich automatisch eine Seite zur Einrichtung.

  • Tippe auf Configure WiFi und wähle dein Heim-WLAN aus der Liste aus und Gib anschließend das WLAN-Passwort ein und bestätige die Eingabe.

WiFi_Manager

Schritt 13.

Jetzt ist dein deine vernetzte Untertasse bereit

Deine Hardware ist nun vorbereitet und programmiert. Du kannst den Mikrocontroller vom Computer trennen und ihn an eine Stromquelle anschließen, z.B. eine LiPo-Batterie oder ein USB-Netzteil.

Wenn du nun eine warme Tasse auf die Untertasse stellst, misst der Temperatursensor die Temperatur und sendet ein Signal an das Gerät deines Gegenübers. Dort leuchtet die LED auf und zeigt:

Es ist Zeit für eine gemeinsame Kaffeepause.

Schau dir die fertige vernetzte Untertasse an – hier!

Zielgruppe: Familie, Paare, Freunde
Art: DIT
Zeitlicher Aufwand: Mittel
Schwierigkeitsgrad: Mittel

Materialien:
Hardware-Komponenten (z.B. ESP32-C3, LED, Temperatursensor)
Computer
Webbrowser
Internet

Die Idee: Pause für zwei

Arduino-Code für die vernetzte Untertasse