In diesem Modul werden die Teilnehmer:innen schrittweise an das Konzept von Smart Health herangeführt. Sie lernen etwas über die Vorteile von digitalen Anwendungen, reflektieren dabei aber auch Vorbehalte gegenüber Big Data und Social Scoring und lernen die grundlegenden Funktionsweisen des Programmierens kennen.
Fertiges Produkt/Projektergebnis:
Herstellung eines Schrittzählers, der:
Umgesetzt wird dies mit dem Calliope Mini.
Lernziele:
Dauer:
1 Projekttag
Kernzielgruppe:
Material:
Einführung:
a) Zeigen Sie den Teilnehmer:innen den Calliope, besprechen Sie die vorhandenen Sensoren und Möglichkeiten. Öffnen Sie die Webseite https://lab.open-roberta.org. Wählen Sie als Ihr System „Calliope Mini“ aus.
Ein Schaubild der beschrifteten Sensoren des Calliope finden Sie auch auf der beschriebenen Open Roberta Seite (Auswahl Calliope) unter dem Reiter ROBOTERKONFIGURATION.
Besprechen Sie mit den Teilnehmer:innen im Plenum oder in Kleingruppen, welche Sensoren für den Fitness-Tracker in Frage kommen könnten.
b) Sammeln Sie anschließend gemeinsam, welche Funktionen der Fitness-Tracker erfüllen soll (z. B. Schrittzähler, Distanzrechner, Alarm) und notieren Sie die Vorschläge der Teilnehmer:innen auf einem Flipchart.
c) Teilen Sie die Teilnehmer:innen in 2er Gruppen. Jede Gruppe benötigt folgende Materialien:
Nun können Sie mit dem Programmieren des Fitness-Trackers beginnen. Die grundlegende Funktion, auf die alle anderen aufbauen werden, ist ein Schrittzähler. Um diesen nutzen zu können, benötigen Sie keine weiteren Hilfsmittel als den Calliope und Roberta Lab:
a) Der Start Block ist standardmäßig bereits angewählt. Fügen Sie nun folgende Schritte hinzu:
b) Bei einer Bewegung oder Erschütterung soll der Calliope einen Schritt zählen. Dafür muss die Anzahl der Erschütterungen im Calliope gespeichert werden. Dies ist mit Variablen möglich. In diesem Fall speichern Sie jeweils die Anzahl der Schritte in der Variablen und beschriften diese mit Schritte. Dazu klicken Sie bei dem roten Start Block auf das + . Es öffnet sich ein weiterer Block. Verändern Sie nun die Beschriftung von Element in Schritte. Automatisch wird das Programm nun mit der Schrittzahl 0 gestartet, da in dem blauen Block die 0 bereits voreingestellt ist.:
c) Um nun die Schritte zu zählen, muss zunächst geklärt werden, wie häufig der Calliope überprüfen soll, ob eine Erschütterung stattgefunden hat. Dies sollte der Calliope natürlich unendlich oft überprüfen, also durchgehend. Deswegen benötigen Sie als nächstes den Block Wiederhole unendlich oft mache unter dem Menüpunkt Kontrolle. Außerdem soll der Calliope einen Schritt nur zählen, wenn der Beschleunigungssensor einen bestimmten Wert überschreitet, also wenn jemand wirklich einen Schritt gegangen ist. Dazu benötigen Sie einen wenn mache Block, auch unter Kontrolle zu finden. Da nun ein Wert verglichen werden muss, nehmen Sie unter dem Menüpunkt Logik den = Block und hängen diesen an den wenn mache Block. In dem = Block können Sie nun festlegen, ab welchem Beschleunigungswert der Calliope einen Schritt zählt. Dazu müssen Sie oben im Menü auf Stern 2 klicken, um unter dem Menüpunkt Sensoren den Befehl gib Wert milli-g Beschleunigungssensor x auszuwählen:
Diesen Befehl fügen Sie bei der ersten leeren Stelle des = Blocks ein. Bei der zweiten leeren Stelle fügen Sie eine Zahl ein, den Befehl finden Sie unter Mathematik. Den genauen Wert müssen Sie ausprobieren, ein guter Startpunkt sind 400. Nun soll der Calliope aber nicht einen Schritt zählen, wenn der Beschleunigungssensor genau 400 mg misst, sondern wenn er alle Werte über 400 misst. Ändern Sie also das = in ein >. Ihr Code sollte nun so aussehen:
d) Nun müssen Sie festlegen, was der Calliope machen soll, wenn dieser Wert überschritten wird. Er soll in der Variable „Schritte“ einen Schritt hinzufügen. Dazu gehen Sie zum Menüpunkt Variablen und nehmen den Befehl Schreibe Schritte und fügen diesen zu dem wenn dann Block hinzu. Hier können Sie festlegen, welcher Wert in der Variablen gespeichert werden soll. Da immer ihre aktuelle Schrittzahl um den Wert 1 erhöht werden soll, nehmen Sie sich unter dem Menüpunkt Mathematik den + Befehl. Fügen Sie in das erste leere Feld ihre Variable Schritte ein und in das zweite die Zahl 1. Anschließend können Sie noch unter dem Menüpunkt Kontrolle einen Warte ms Block hinzufügen, damit nicht bei einem Schritt mehrfach gezählt wird, sondern das Programm kurz pausiert:
e) Jetzt werden allerdings noch nicht die Schritte angezeigt, die gegangen wurden. Dies lässt sich einfach hinzufügen. Im vorliegendem Beispiel soll die Schrittanzahl angezeigt werden, wenn die Taste A gedrückt wird. Dazu benötigen Sie wieder einen wenn mache Block. Diesen fügen Sie innerhalb der Schleife hinzu, da auch durchgehend überprüft werden muss, ob die Taste A gedrückt wird, und unterhalb des ersten wenn dann Blocks. An den 2. wenn mache Block fügen Sie den Befehl Taste A gedrückt? hinzu, den Sie unter dem Menüpunkt Sensoren finden. Dann fügen Sie bei mache den Befehl Zeige Text (Menüpunkt Kontrolle) hinzu, entfernen den Block Hallo und fügen dafür die Variable Schritte hinzu. Ab jetzt wird der Inhalt der Variable Schritte angezeigt, wenn die Taste A gedrückt wird.
Überspielen Sie das Programm auf Ihren Calliope. Um den Code zu übertragen, wählen Sie unten rechts auf dem Computerbildschirm die Pfeiltaste aus. Es öffnet sich ein Fenster. Hier müssen Sie das Programm auf den Calliope laden. Dazu gehen Sie mit rechts Klick auf NEPOprog und wählen „Verknüpfte Datei laden“ (Windows) oder „Link speichern unter…“ (Mac). Es öffnet sich ein weiteres Fenster. Wählen Sie den Calliope MINI aus und klicken Sie auf sichern.
Der Calliope blinkt nun kurz. Sobald das Blinken aufhört, müssen Sie den Reset-Kopf drücken oder kurz das USB-Kabel des Calliope vom Computer trennen und neu verbinden, dann ist das Programm auf dem Mikrocontroller gespeichert.
f) Testen Sie nun die Funktion. Probieren Sie verschiedene Werte bei dem Beschleunigungssensor und dem Warte-Block und finden Sie so heraus, welche bei Ihnen gut funktionieren.
Nun können Sie den Fitness-Tracker noch um Funktionen erweitern. Diese könnten sein:
1. Als erstes kann das Programm umrechnen, wie viele Meter ungefähr gegangen wurden. Dies soll angezeigt werden, wenn die Taste B gedrückt wird.
a) Fügen Sie dazu einen weiteren wenn dann Block hinzu. Wieder in die Schleife und unter den 2. wenn mache Block. Nun folgt wieder der Befehl Taste A gedrückt?, ändern aber diesmal das A in ein B indem Sie auf das A Dann fügen Sie wieder den Befehl Zeige Text hinzu. Diesmal benötigen Sie vor dem Variablen-Block aber noch den + Block aus dem Menüpunkt Mathematik. Fügen Sie in das erste leere Feld die Variable Schritte hinzu. Nun müssen Sie herausfinden, wie groß, also wie viele Zentimeter, ein Schritt der Teilnehmer:innen ist. Benutzen Sie den Zollstock oder das Maßband, um die Schrittlänge der Teilnehmer:innen zu ermitteln. Sind dies zum Beispiel 60 Zentimeter, können Sie nun in das 2. leere Feld ein Zahl-Block (Mathematik) hinzufügen und dort 0,6 eingeben. Ändern Sie noch das + in ein x und Ihnen werden, bei Druck auf die Taste B, die gelaufenen Meter angezeigt.
2. Jetzt soll der Fitness-Tracker auf der LED-Matrix anzeigen, ob genug Schritte gelaufen wurden. Dafür benötigen Sie wieder einen wenn mache Block, der wieder in die Schleife hinzugefügt wird. Allerdings soll diesmal auch etwas angezeigt werden, wenn die Bedingung nicht erfüllt ist. Deswegen nutzen Sie den wenn, mache sonst Block. Da wieder Werte verglichen werden müssen, fügen Sie nun den = Block (Logik) hinzu. In das erste leere Feld fügen Sie die Variable Schritte hinzu und in das 2. leere Feld die Anzahl der Schritte, ab der der Calliope anzeigt, dass genug Schritte gelaufen wurden. Zum Testen sollten Sie zunächst eine Anzahl wie 10 oder 20 wählen. Nun können Sie unter dem Menüpunkt Aktion ein Bild wählen, dass angezeigt werden soll, wenn nicht genug Schritte gelaufen wurden (zum Beispiel ein X). Dies fügen Sie bei mache hinzu und bei sonst das Bild , das angezeigt werden soll, wenn genug Schritte gelaufen wurden (zum Beispiel ein Herz). Ändern Sie jetzt noch das = in ein <, damit überprüft wird, ob der Wert, der in der Variable Schritte gespeichert wurde kleiner als, zum Beispiel, 20 ist.
3. Um den Fitness-Track fertig zu stellen, können Sie jetzt noch einen Alarm hinzufügen, der auslöst, wenn in einer bestimmten Zeit nicht genügend Schritte gegangen wurden. Der Calliope misst automatisch im Hintergrund immer die Zeit in Millisekunden, seitdem er gestartet wurde. Dies können Sie sich hier zunutze machen.
Damit der Alarm auslöst, müssen bestimmte Bedingungen erfüllt sein. Deswegen nutzen Sie wieder den wenn mache Block und fügen einen und Block (Logik) hinzu. Da insgesamt 3 Bedingungen erfüllt sein müssen, damit der Alarm korrekt funktioniert, fügen Sie dem ersten und Block noch einen weiteren hinzu:
Da wieder Werte verglichen werden sollen, fügen Sie nun in den 3 leeren Stellen jeweils einen = Block ein.
Als erstes soll überprüft werden, ob genug Schritte gelaufen wurden. Deswegen fügen Sie bei dem 1. = Block in der 1. leeren Stelle die Variable Schritte ein. Bei der 2. leeren Stelle des 1. Blocks hingegen einen Zahl Block. Zum Beispiel wieder 20. Dann ändern Sie das = in ein < bei dem ersten = Block.
Als nächstes soll die Zeit überprüft werden. Dazu fügen Sie in die erste leere Stelle des 2. = Blocks den Befehl gib Wert ms Zeitgeber 1 (Menüpunkt Sensoren) ein. Hier wird die Zeit gemessen, die seit dem Starten des Calliope vergangen ist. In die zweite leere Stelle des zweiten = Blocks fügen Sie die Anzahl der Millisekunden ein, die vergehen sollen, bis der Alarm auslöst, also zum Beispiel 20000 für 20 Sekunden.
Für den dritten = Block benötigen Sie eine neue Variable. Fügen Sie oben bei dem roten Start Block eine weitere Variable hinzu indem Sie auf das + drücken und nennen Sie diese Variable Alarm. Fügen Sie nun die Variable Alarm in das erste leere Feld des dritten = Blocks und in das letzte leere Feld die Zahl 0. Diese Variable wird dazu benötigt den Alarm abschalten zu können, auch wenn alle anderen Bedingungen erfüllt werden. Also weniger als 20 Schritte gelaufen sind und mehr als 20 Sekunden seit dem Start vergangen sind.
Wenn alle 3 Bedingungen erfüllt sind, dann soll dauerhaft ein Warnton gespielt werden. Also fügen Sie in das mache Feld einen wiederhole unendlich oft Block (Kontrolle) ein und in diesen einen Spiele Frequenz Hz Block (Menüpunkt Aktion).
Um den Alarm abzuschalten, wenn Sie die Tasten A und B gleichzeitig drücken, müssen Sie nun noch folgenden Code hinzufügen:
Ein neuer wenn mache Block überprüft, ob Taste A und Taste B gleichzeitig gedrückt werden. Dazu ist an dem Block ein und Block (Logik) angefügt und in die leeren Stellen Taste A gedrückt? und Taste B gedrückt? hinzugefügt. Wenn beide Tasten gedrückt werden, wird in die Variable Alarm die Zahl 1 geschrieben. Den Befehl Schreibe Alarm finden Sie unter dem Menüpunkt Variablen. Dann müssen Sie noch einen Zahl Block hinzufügen. Danach wird der Befehl Die Schleife abbrechen (Kontrolle) hinzugefügt, damit nicht weiter durchgehend der Ton wiederholt wird. Nun spielt der Alarm keinen Ton mehr und kann auch nicht wieder ausgelöst werden. Das liegt daran, dass nicht mehr alle 3 Bedingungen erfüllt sind. Zwar kann immer noch die Schrittanzahl kleiner sein als 20 und der Wert vom Zeitgeber größer als 20000, die Variable Alarm allerdings ist nicht mehr 0. Die wenn mache Bedingung ist nicht erfüllt.
4. Der vollständige Code sieht folgendermaßen aus:
Lassen Sie die Teilnehmer:innen Ihren Fitness-Tracker ausprobieren und feinjustieren, je nachdem, ob die Funktionen wie gewollt funktionieren. Ermutigen Sie die Teilnehmer:innen eigene Ideen, in das Programm zu integrieren.
Diskutieren Sie mit den Teilnehmer:innen, je nach Alter und Gruppe, folgende Themen und Fragen:
Big Data:
Social Scoring:
Wir empfehlen Ihnen zum Anschluss an dieses Projekt unser Modul Design Lab.
Weiterführende Informationen und Links:
Dieser kurze Clip über die Funktionsweise von Sprachassistenten eignet sich gut als Einstieg in das Thema: https://www.funk.net/channel/somanytabs-12189/siri-alexa-co-wie-privat-sind-unsere-gespraeche-wirklich-1728354
Auf folgenden Seiten finden Sie weiteres Lehrmaterial zum Thema Smart Home:
https://jugend-und-bildung.de/arbeitsmaterial/unterrichtseinheit-smart-home/
Schrittzähler von Calliope:
Literaturverzeichnis:
Strese, H., Seidel, U., Knape, T., & Botthof, A. (2010). Smart home in deutschland. Institut für Innovation und Technik (iit), 46.
Autor:
Dieses Material steht unter der CC BY 3.0 DE Lizenz. Der Name des Urhebers soll bei einer Weiterverwendung wie folgt genannt werden: Börge Meyn / KF Education.
Kreatives Denken zum Wochenstart: Jördis Dörner schreibt in unserem Projekt Learning Architects aller zwei Wochen an alle Lerngestalter:innen. Der Newsletter möchte inspirieren, anregen und Menschen ins Handeln bringen.