Tea-Maker: IV IDLE Sounds

Die ersten Tea-Maker wurden an Weihnachten verschenkt und von den Beschenkten ausgiebig auf Herz und Nieren geprüft. Natürlich dauerte es nicht sehr lange und es wurde um weitere Features gebeten.

Die aktuelle Version signalisiert das Ende der Brühzeit akkustisch durch einen Summer. Dieser Ton erklingt jedoch nur ein einziges mal, wenn der Teebeutel aus der Tasse gezogen wird. In der aktuellen Version ertönt das akkustische Signal alle x Sekunden, wobei dieses Intervall über ein Optionsmenü eingestellt werden kann.

Auch lassen sich über dieses Menü die Töne allgemein abstellen.

Tea-Maker: III Smaller, Smarter, Better

Der erste Prototyp erfüllte zwar seinen Zweck, wies jedoch im tatsächlichen Einsatz zu viele Schwächen auf. Vor allem die recht großen Gehäuseabmessungen erschwerten die Suche nach einem geeigneten Aufstellort erheblich. Und auch die Bedienung selbst war nicht gerade benutzerfreundlich: zu viele Knöpfe, zu viele Einstellräder.

Der Tea-Maker muss daher geschrumpft und auf das Nötigste reduziert werden.

Die Optimierungen

  1. Statt einem relativ großen Arduino wird nun ein Arduino Nano verwendet. Aus Preisgründen kommt jedoch statt eines Originals ein China Klon zum Einsatz.
  2. Die Buttons werden auf zwei reduziert: Einen für Start/Stop und einen für das Options Menü
  3. Auch die Verkabelung erfolgt jetzt über eine selbstgelötete Platine auf einer Rasterlochplatine.
  4. Ein einfacher Piezo-Buzzer zeigt nun auch akkustisch das Ende des Brühvorgangs an

Die Einkaufsliste

Neben den bereits beschriebenen Komponenten der ersten Version (siehehttps://cod3cruncher.de/?p=19) benötigen wir noch:

Verdrahtung der Komponenten

Die Komponenten werden wie folgt skizziert miteinander verbunden.

Das neue Gehäuse

Der Code

Wie zuvor beschrieben wird mittlerweile als IDE die Kombination aus Visual Studio Code und PlatformIO verwendet.

Da der Code mittlerweile doch ganz schön angewachsen ist, wurde ein umfangreiches Refactoring durchgeführt und der Code aufgeteilt (statt zuvor lediglich eine einzige .ino Datei).

Das zugehörige Repo für die neue Version gibts hier: https://github.com/cod3cruncher/tea_maker_nano

Und so sieht das ganze dann in Action aus:

Tea-Maker: II. Der erste Prototyp

Mittlerweile sind alle Bauteile besorgt und die Arbeiten am ersten Prototypen können beginnen.

Folgende Komponenten werden benutzt:

Zuerst werden sämtliche Komponenten mittels des Breadboards zusammengesteckt und die Funktionalität geprüft.

Das Gehäuse ausschneiden und zusammenbauen

Zuerst werden aus den Holzplatten die Gehäuseteile ausgeschnitten und der ganze Kasten zusammengebaut. Auch die Löcher für die Druckknöpfe und die Aussparung für das Display wurden gebohrt. Die Rückseite kann über ein Scharnier aufgeklappt werden und der Deckel wird nur verschraubt, sodass die Komponenten einfach eingebaut und getauscht werden können.

Das ganze sieht dann erst einmal so aus

Die Komponenten miteinander verbinden

Wichtig: Es wird hier ein 9V Netzteil verwendet, welches den Arduino am DC Anschluss mit 9V versorgt. Der Servo hingegen benötigt jedoch 4.8-6.0V, weshalb die 9V für diesen heruntergeregelt werden müssen! Bitte auch nicht den Servo an einen der 5V Anschlüsse des Arduinos klemmen, da der Servo zu viel Strom zieht.

Die Pins werden wie folgt miteinander verbunden:

  • Start Button -> Pin 4
  • Calibration Button -> Pin 7
  • Up/Down Button -> Pin 12
  • Zeit-Poti -> A0
  • Calibration-Poti -> A1
  • Servo-Pin -> 9
  • Brightness-Pin -> 6
  • CLK -> 2
  • DIO -> 3
Der erste Start

Der Code

Programmiert wurde das ganze in der Arduino IDE, welche unter https://www.arduino.cc/en/main/software für Windows, Mac und Linux heruntergeladen werden kann.

Den Code gibts unter: https://github.com/cod3cruncher/tea_timer

Die fertige Maschine

Das Gehäuse ist lackiert, die Firmware geflashed und alle Komponenten befinden sich im Gehäuse. Jetzt fehlt nur noch eine warme Tasse Tee 😉

Durch Drücken des schwarzen Knopfes können die untere und obere Position entsprechend der verwendeten Tasse eingestellt werden.

Die Ziehzeit wird mittels des mittigen Drehers eingestellt und mit einem Druck auf den grünen Schalter beginnt der Brühvorgang.

Der blaue Knopf senkt oder hebt den Arm auf die untere bzw. obere Position.

Der gelbe Taster wurde aktuell noch nicht belegt.

Tea-Maker: I. Die Idee

In dieser Reihe möchte ich euch ein nützliches Gadget für alle Tee-Liebhaber vorstellen.

Wer kennt das Problem nicht? Das Wasser ist gekocht und hat die richtige Temperatur, der gute Tee ist portioniert und der Timer auf zwei Minuten gestellt. Da kann doch eigentlich gar nichts mehr schief gehen auf dem Weg zum perfekten Grüntee, oder doch?

Die zwei Minuten sind rum, der Wecker klingelt, doch du bist gerade mit dem Schreiben eines Blog-Eintrags beschäftigt und es kommt wie es kommen muss: Aus den zwei Minuten werden vier und der Tee ist alles andere als perfekt.

Gerade in der Erkältungssaison erlebe ich das beschrieben Szenario mehrmals pro Woche und als technikbegeisterter (und von klein auf MacGyver „geschädigter“) Mensch kann man das natürlich nicht akzeptieren und sucht nach einer Lösung.

Da liegt doch schon lange dieser Arduino rum, und ein Motor sollte sich auch noch auftreiben lassen…, dazu ein paar Zeilen Code programmieren und schon sollte sich doch da etwas entwickeln lassen?!.

Und heraus kam dieser erste Entwurf:

Der erste Gedanke…

Der Arduino steuert einen Motor mit einer einfachen Winde an, wodurch der Teebeutel mittels des Hebearms gesenkt und gehoben werden kann. Die Zeit wird mittels eines Potis eingestellt und über einen Knopf kann der Vorgang gestartet werden.

Nachdem der erste Prototyp aus Holz gefertigt wurde und die ersten Zeilen Code geschrieben wurden, kam die Ernüchterung: So habe ich mir das nicht vorgestellt. Vor allem wie passt man das ganze an verschiedene Tassenhöhen an?

Die Konstruktion aus Hebearm und Winde muss weg, ein neuer Ansatz muss also her:

Statt der Seilwinde soll nun ein Modellbau Servo den Hebearm direkt bewegen. Da Servos meistens einen Schwenkbereich von 0 bis 180 Grad abdecken und für große hohe Drehmomente ausgelegt sind, sollte diese Lösung deutlich besser funktionieren.

Auch befindet sich nun das ganze in einem geschlossenen Holzgehäuse und die Zeit lässt sich direkt am Display ablesen.

Im nächsten Teil geht es weiter mit der Anfertigung des neuen Prototypen.

Eine Alternative zur Arduino IDE

Auch wenn die Arduino IDE grundsätzlich alles bietet, um die ersten Sketche für den Arduino zu coden, vermisse ich doch den Komfort einer ausgereiften IDE (vor allem wenn man vorher von IntelliJ sehr verwöhnt wurde ;)).

Da ich zu dieser Zeit ein Windows 10 Gerät zur Programmierung verwendet habe, fiel mein Blick auf Visual Studio in Kombination mit dem Visual Micro Plugin (https://www.visualmicro.com/).

Die Einrichtung erfolgte recht unkompliziert.

Wichtig: Falls ein Arduino Klon mit dem CH340 Treiber (http://www.wch.cn/) verwendet wird und dieser noch den alten Bootloader verwendet, muss dieser entsprechend eingestellt werden!

Auch wenn der Komfort von VS angenehm war, so erlebte ich während der Arbeit relativ viele Abstürze von Visual Studio, die ich auch nicht beheben konnte. Nachdem dann ein Windows Update kurz vor Weihnachten das ganze System zerschossen hatte und ich aufgrund von Zeitdruck mit Ubuntu weiterarbeitete, musste eine andere Lösung gefunden werden.

Durch den äußerst interessanten heise-Artikel (https://www.heise.de/developer/artikel/VS-Code-lebt-Entwicklung-von-Embedded-Software-mit-PlatformIO-4464669.html) wurde ich auf die Kombination aus Visual Studio Code und PlatformIO aufmerksam.

Da ich mit dieser Kombination sowohl unter Windows, Linux und auch Mac arbeiten kann, war die Entscheidung für PlatformIO schnell getroffen und die Weiterentwicklung des Tea-Makers sollte damit vorangetrieben werden.