Anleitung: Co-Drink

Bau deine vernetzte Trinkflasche

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

Was Co-Drink macht

Die Flasche erkennt, wenn du sie anhebst und daraus trinkst.
Ein Bewegungssensor registriert die Veränderung und sendet ein Signal über das Internet an das Gerät deines Gegenübers.

Sobald dort erkannt wird, dass du trinkst, leuchtet eine kleine LED auf.
So weiß die andere Person: Jetzt ist ein guter Moment, um ebenfalls einen Schluck zu trinken.

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)
Bewegungssensor (z. B. MPU6050) (1 Stück pro Gerät)
Addressable RGB Led (1 Stück pro Gerät)
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), empfohlen wird ein 1S LiPo/Li-Ion-Lithium-Akku mit ca. 1000 mAh, Powercells 103035,  JST-PH-2.0-Stecker und integrierter Schutzschaltung (BMS).

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 deinen Co-Drink Prototypen 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

  • Schließe die Antenne des ESP32-C3 an.

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

  • Platziere anschließend den XIAO ESP32-C3 auf dem Breadboard.

  • 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.

Bewegungssensor anschließen

Verbinde den Bewegungssensor mit dem Mikrocontroller.

  • VCC → 3V3 (rotes Kabel)

  • GND → GND (blaues Kabel)

  • SDA → GPIO 6 (D4,  grünes Kabel)

  • SCL → GPIO 7 (D5, gelbes Kabel)

So bereitest du die Software vor

Du hast deine Komponenten zusammengebaut. Jetzt braucht dein Co-Drink Prototyp 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

Adafruit Unified Sensor

Adafruit MPU6050

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.

Schritt 5.

Geräterolle festlegen

Für dieses Projekt brauchst du zwei Geräte. Beide verwenden denselben Code, aber eine kleine Einstellung muss angepasst werden.

Suche im Code diese beiden Zeilen:

const char* MY_ID = "A";
const char* PARTNER_ID = "B";

Für das erste Gerät kannst du diese Einstellung unverändert lassen.

Für das zweite Gerät ändere die Zeilen zu:

const char* MY_ID = "B";
const char* PARTNER_ID = "A";

Schritt 6.

Eigenen Projektnamen festlegen

Im Code findest du außerdem folgende Zeile:

const char* PAIR_ID = "YOUR_UNIQUE_NAME";

Schritt 7.

Gerätenamen festlegen

Im Code findest du folgende Zeile:

#define DEVICE_NAME "CoDrink01"

Ändere den Namen für jedes Gerät leicht ab, zum Beispiel:

Gerät 1 → CoDrink01

Gerät 2 → CoDrink02

So kannst du die beiden Geräte später im WLAN besser unterscheiden.

Schritt 8.

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 9.

Board auswählen

  • Gehe in der Arduino IDE zu:

    Tools → Board

  • Wähle anschließend das Board:

    XIAO ESP32C3

Schritt 10.

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 11.

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 12.

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 13.

WLAN-Verbindung einrichten

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

  • CoDrink01-Config (für das erste Gerät)    CoDrink02-Config (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.

WiFiManager_CoDrink

Schritt 14.

Jetzt ist dein Co-Drink 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 die Flasche anhebst und daraus trinkst, erkennt der Bewegungssensor die Bewegung und sendet ein Signal an das Gerät deines Gegenübers. Dort leuchtet die LED auf und zeigt:

Zeit für einen gemeinsamen Schluck Wasser.

Beispiel: 3D-gedrucktes Gehäuse für den Co-Drink Prototypen als Inspiration.

CoDrink_Gehäuse

Schau dir ein Beispiel des fertigen Co-Drink an – hier!

Alle Fotos: Hochschule Flensburg

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

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

Idee & Inspiration:
Co-Drink

Arduino Code:
vernetztes Co-Drink