Smart Health

Projekt: Fitness-Tracker

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:

  • automatisch die Schritte in gelaufene Meter umrechnet
  • anzeigt, ob genug Schritte gegangen wurden
  • einen Alarm auslöst, falls das vorgegebene Ziel in einer bestimmten Zeit nicht erreicht wurde

 

Umgesetzt wird dies mit dem Calliope Mini.

Lernziele:

  • Die Teilnehmer:innen kennen die Definition des Begriffes Smart Home, können diesen eingrenzen und Alltagsbezüge herstellen.
  • Die Teilnehmer:innen verstehen einfache IoT Anwendungen und können diese im Alltag nutzen.
  • Die Teilnehmer:innen kennen die grundlegende Funktionsweise des Mikrocontrollers Calliope und können ihn programmieren.
  • Die Teilnehmer:innen kennen den Bewegungssensor und können diesen in Programmen nutzen.
  • Die Teilnehmer:innen lernen Variablen kennen und können diese anwenden.
  • Medien- und Digitalkompetenz der TN werden gestärkt.
  • Kritische Reflexion von Big Data und Social Scoring

Dauer:

1 Projekttag

  • Wir empfehlen für den Einstieg in die Projektarbeit rund um IoT an einem ersten Projekttag unser Modul Basics mit den Teilnehmer:innen durchzuführen und zur kreativen Vertiefung können Sie an einem dritten Projekttag zum Anschluss an dieses Projekt unser Modul Design Lab  anwenden.
  • Sie können alle Module je nach Zeitbudget aber auch einzeln erarbeiten

Kernzielgruppe:

  • 14-16 Jahre

Material:

  • Einen Mikrocontroller: Calliope
  • Einen Computer mit Internetverbindung, um das Programm für den Mikrocontroller zu schreiben und ein Verbindungskabel (USB)
  • Einen 9V-Batterieblock mit Clip sowie Kabel als Verbindung zum Mikrocontroller
  • Befestigungsmaterial für den Calliope Mini an einem Schuh/Bein
  • Einen Zollstock und/oder Maßband
  • Flipchart (für den Transfer)

Einführung:

  • Smart Home bezeichnet privat genutzte Heime, wie zum Beispiel eine Mietwohnung oder ein Eigenheim, in dem zahlreiche Geräte und Multimedia-Tools miteinander vernetzt sind. Von Heizung, Beleuchtung, Belüftung bis hin zur Waschmaschine und Kommunikationseinrichtungen – alle Geräte sind miteinander verbunden, interagieren und kommunizieren. Ziel ist es, die Bedürfnisse der Bewohner:innen zu erkennen und ihnen automatisiert zu entsprechen. Zudem sollen Energieeffizienz, Komfort und Sicherheit erhöht werden (Streese et al, 8). Die Begriffe Hausautomatisierung oder Smart Living werden synonym verwendet.
  • Vernetzte Geräte und KI gestützte Anwendungen können auch im Gesundheitssystem und im privaten Bereich, zum Beispiel durch Fitness Apps, genutzt werden. Dies lässt sich alles unter Smart Health zusammenfassen. Dabei bieten digitale Systeme zum Beispiel eine Überprüfung von Patientendaten und können diese in Echtzeit übermitteln. Im privaten Bereich sind eher „Wearables“ verbreitet, also Geräte, die am Körper getragen werden, wie Smart Watches, die zum Beispiel den Puls beim Sport messen und aufzeichnen. Auch Fitness Apps für das Smartphone sind beliebt.
  • Die erhobenen Daten, von zum Beispiel Fitness-Apps auf dem Smartphone, werden von Unternehmen gesammelt und ausgewertet. Aus diesen riesigen Datenmengen lassen sich Verhaltensweisen von bestimmten Personengruppen oder auch deren Freizeitaktivitäten auslesen. Die Sammlung und Auswertung von diesen riesigen Datenmengen werden mit dem Begriff Big Data. Siehe dazu auch Unterrichtsmaterial „CODE“ von KF Education
  • Wenn Daten zentral über alle Menschen und deren Verhalten gespeichert werden, lässt sich Verhalten, welches als richtig angesehen wird, auch belohnen. Zum Beispiel mit der Vergabe von Punkten, die es den Menschen ermöglicht bestimmte finanzielle Vorteile (Krankenkassenbeitrag) oder Aktivitäten zu erlangen und auszuführen. Dies beschreibt der Begriff Social Scoring. So könnten zum Beispiel gesunde Ernährung und viel Sport mit einer Punktevergabe belohnt werden, ungesundes Verhalten hingegen mit Punktabzug.

Ablauf in 4 Schritten

Brainstorming zur Funktionsweise eines Fitness-Trackers mit Hilfe des Calliope

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:

  • (Je nach Möglichkeiten) mindestens 1x Calliope Mini
  • PC mit Internetzugang, USB-Kabel, das den Mikrocontroller mit dem PC verbindet
  • einen 9V-Batterieblock mit Clip

Schrittzähler

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.

Erweiterte Funktionen des Fitness-Trackers

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.

Ideation & Transfer

Diskutieren Sie mit den Teilnehmer:innen, je nach Alter und Gruppe, folgende Themen und Fragen:

Big Data:

  • Welche Daten werden bei unserem Fitness-Tracker gespeichert?
  • Wer hat Zugriff auf diese Daten?
  • Welche Daten können bei Fitness-Trackern auf dem Smartphone per Internet weitergegeben werden?
  • Für wen wäre das Interessant und wieso?

 

Social Scoring:

  • Wie findet ihr es, dass alle Menschen sehen können, ob ihr an einem Tag genug Schritte gelaufen seid?
  • Wie findet ihr es, dass auch alle Zeiten getrackt werden an denen wir uns bewegen?
  • Tragen wir allein Verantwortung für unsere Gesundheit? Was ist mit biologischen also genetischen Ursachen von Erkrankungen?
  • Sollten gesund lebende Menschen Vorteile bekommen?
  • Wo können Smart Health Devices hilfreich sein?

 

Wir empfehlen Ihnen zum Anschluss an dieses Projekt unser Modul Design Lab.

Literaturverzeichnis:

Strese, H., Seidel, U., Knape, T., & Botthof, A. (2010). Smart home in deutschland. Institut für Innovation und Technik (iit)46.

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.