English: It is important to wash your hands between 20 and 30 seconds. To make sure you do that, you can make an easy timer with the calliope mini. The timer is activated via microphone input. Just make a whistle, and the timer starts a countdown of 25 seconds. When it's finished, you get an extra reward in form of a nice picture and sound.
Just download the .hex-file, drag it to your Calliope or open it in MakeCode, to edit the code.
German: Man sollte sich die Hände zwischen 20 und 30 Sekunden lang waschen, damit sie richtig sauber werden. Um das sicherzustellen, kannst Du dir einen einfachen Timer mit dem Calliope mini programmieren. Der Timer wird über das Mikrofon aktiviert. Pfeife einfach kurz, um ihn zu aktivieren und der Timer zählt einen Countdown von 25 Sekunden herunter. Wenn die Zeit um ist, bekommst Du eine Belohnung in Form von einem kleinen Bild und einer Melodie.
Der Code wurde in MakeCode erstellt. Du kannst ihn entweder nachbauen oder Du lädst Dir das.hex-Dokument herunter. Das kannst Du Dir entweder direkt auf Dein Calliope mini laden, oder Du importierst es in MakeCode. Dann kannst Du selbst Änderungen vornehmen. Zum Beispiel kannst Du ein anders Bild oder eine Melodie auswählen.
Schritt-für-Schritt Anleitung in MakeCode:
1. : Zuerst schreiben wir den Code, der dauerhaft ausgeführt werden soll. Um den Timer zu aktivieren, wird das Mikrofon ausgelesen. Hierfür erstellen wir eine Variable micwert. Anschließend wird micwert auf den Wert des analogen Pins MIC gesetzt.
2. : Der Wert, der am Mikrofon ausgelesen wird, kann zwischen 0 und 1023 liegen. Wobei 0 für absolute Stille und 1023 für volle Lautstärke steht. Der Countdown soll aktiviert werden, wenn am Mikrofon ein Pfeifen, also ein relativ lautes Geräusch, gemessen wird. Hierfür verwenden wir den wenn-dann-Block: wenn die Variable micwert höher als 600 ist, dann soll der Countdown gestartet werden. Ansonsten soll der Bildschirminhalt geleert werden.
3.: Bei dem Block "Aufruf countdown" handelt es sich um eine Funktion. Um eine eigene Funktion zu erstellen, öffnest Du im Menü den Punkt "Fortgeschritten". Dort gibt es den Punkt "Funktionen". Erstelle hier eine neue Funktion namens countdown.
Diese Funktion wird aufgerufen, wenn die gemessene Lautstärke am Mikrofon den Schwellwert übersteigt.
4.: Nun programmieren wir den Timer. Hierfür wollen wir die LED-Matrix des Calliope mini nutzen. Sie besteht aus 5x5, also 25 LEDs. Es soll nun nacheinander immer eine LED angehen und eine Sekunde abgewartet werden, bis die nächste LED angeht. Das geschieht so lange, bis die Matrix komplett leuchtet. Dann sind 25 Sekunden abgelaufen. In der Programmierung setzen wir das durch zwei ineinander verschachtelte "für-von-bis"- Blöcke um. Hierfür müssen wir noch eine weitere Variable, Index2 erstellen. Die LED wird durch den Block "Zeichne x - y" angeschaltet.
5.: Ist der Timer abgelaufen, sol noch eine Belohnung angezeigt werden. Hierfür zeigen wir erst einmal ein Symbol an. Ich habe mir das Herz herausgesucht, aber Du kannst Dir natürlich auch ein anderes Symbol aussuchen.
6.: Außerdem soll eine Melodie gespielt werden. Auch hier kannst Du Dir eine Melodie aus der Bilbiothek aussuchen. Anschließend soll noch 1 Sekunde gewartet werden.
7.: Fertig! Nun kannst Du den Code auf Dein Calliope laden und ihn testen. Es kann sein, dass das Calliope schon bei normalen Geräuschen reagiert. Dann solltest Du den Schwellwert des Mikrofons etwas weiter nach oben setzen.
Probiere hier einfach ein wenig herum, bis Du den richtigen Wert gefunden hast. Er sollte so hoch sein, dass das Calliope nicht durch den Wasserhahn oder durch normales Sprechen ausgelöst wird. Je höher Du den Wert einstellst, desdo näher musst du zum Aktivieren des Timers an das Calliope heran gehen.
Viel Spaß und immer sauber bleiben!
Comments