Smart HOME

Projekt: Detektiv-Schublade

In diesem Modul werden die Teilnehmer:innen schrittweise an das Konzept Smart Home herangeführt. Sie lernen etwas über die Vorteile von digitalen Anwendungen, reflektieren dabei aber auch Vorbehalte gegenüber Big Data und digitalen Anwendungen und lernen die grundlegenden Funktionsweisen des Programmierens kennen.

Fertiges Produkt/Projektergebnis:

Herstellung einer Detektiv-Schublade, die:

  • automatisch den Schubladeninhalt beleuchtet, wenn die Schublade geöffnet wird
  • Geräusche in dem Raum bemerkt und anzeigen kann, ob jemand im Raum war
  • einen akustischen und visuellen Alarm auslöst, falls die Schublade geöffnet und nicht rechtzeitig deaktiviert wird


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, Lichtsensor und Geräuschsensor und können diese in Programmen nutzen.
  • Die Teilneher:innen lernen Variablen kennen und können diese anwenden.
  • Die Teilnehmer:innen stärken ihre Medien- und Digitalkompetenz.
  • Kritische Reflexion von Big Data und Smart Home Anwendungen

Dauer:

1 Projekttag

  • Wir empfehlen für den Einstieg in die Projektarbeit rund um IoT an einem ersten Projekttag unser Modul Basics mit den Lernenden 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:

  • Ein 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 in einer Schublade
  • Eine(n) Tisch/Schrank/Kommode mit Schublade
  • 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., S. 8). Die Begriffe Hausautomatisierung oder Smart Living werden synonym verwendet.
  • Die Teilnehmer:innen sollen in diesem Projekt spielerisch an verschiedene Konzepte des Smart Home herangeführt werden, in dem sie mit verschiedenen Sensoren arbeiten, die auch in tatsächlichen Smart Home Anwendungen genutzt werden.

Ablauf in 4 Schritten

Brainstorming zur Funktionsweise einer smarten Schublade mit einem Calliope

a) Zeigen Sie den Teilnehmenden den Calliope und öffnen Sie die Webseite https://lab.open-roberta.org

Wählen Sie als Ihr System „Calliope Mini“ aus. Unter ROBOTERKONFIGURATION finden Sie ein Schaubild mit den beschrifteten Sensoren an dem Calliope:

Für dieses Projekt sind der Bewegungssensor, der Lichtsensor und der Geräuschsensor (Mikrofon) notwendig.

Besprechen Sie mit den Teilnehmenden, welche Sensoren sie für die Detektiv-Schublade benutzen könnten und welche Anwendungen die Teilnehmenden von Zuhause kennen. Erklären Sie, welche Sensoren für welche Anwendung sinnvoll wären, zum Beispiel das Mikrofon für eine Sprachsteuerung.

b) Sammeln Sie anschließend gemeinsam, welche Funktionen die Detektiv-Schublade erfüllen soll und notieren Sie die Vorschläge der Teilnehmer:innen auf einem Flipchart.

c) Teilen Sie die Teilnehmenden in 2er Gruppen ein mit jeweils:

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

n

Automatische Beleuchtung und Geräuschzähler

Nun können Sie mit dem Programmieren der Detektiv-Schublade beginnen. Starten Sie zunächst mit dem Lichtsensor und dem Geräuschsensor, da diese einen leichteren Einstieg in das Thema Smart Home ermöglichen. Um dies zu tun, benötigen Sie keine weiteren Hilfsmittel als den Calliope und Roberta Lab:

a) Die LED des Calliope soll aufleuchten, wenn die Schublade geöffnet wird. Dafür können Sie den Lichtsensor verwenden, da sich die Lichtverhältnisse ändern, wenn die Schublade aufgezogen wurde. Da dauerhaft überprüft werden muss, ob sich die Lichtverhältnisse ändern, benötigen Sie als erstes eine Schleife, also den Wiederhole unendlich oft Block aus dem Menüpunkt Kontrolle. Diesen hängen Sie an den roten Start Block an. Nun soll etwas passieren, wenn sich die Lichtstärke, die der Calliope misst, verändert bzw. über einen bestimmten Schwellenwert kommt. Deswegen benötigen Sie einen Wenn mache ansonsten Block aus dem Menüpunkt Kontrolle. Docken Sie diesen in der Schleife an. Als nächstes benötigen Sie einen = Block aus dem Menüpunkt Logik. Diese setzen Sie hinter das wenn, da zwei Werte verglichen werden sollen. Unter dem Menüpunkt Sensoren finden Sie den Block gib Wert % Lichtsensor. Diesen setzen Sie in das erste leere Feld des Blocks. In das zweite leere Feld setzten Sie einen Zahl Block aus dem Menüpunkt Mathematik. Ein guter Startpunkt ist hier der Wert 15. Nun ändern Sie noch das = in ein >, da die LED angehen soll, wenn der Lichtsensor einen Wert misst, der über der von Ihnen angegeben Zahl liegt. Fügen Sie jetzt noch an das mache den Block Schalte LED an Farbe (Aktion) und an das sonst den Block Schalte LED aus (Aktion) an. Probieren Sie verschiedene Werte mit dem Lichtsensor und überprüfen Sie wann die LED an- bzw. ausgeht.

b) Als nächstes können Sie den Geräusche Zähler hinzufügen. Dazu hängen Sie in der Schleife einen wenn mache Block (Kontrolle) an und fügen dort wieder einen Block (Logik) hinzu. In das erste leere Feld hängen Sie den Block gib Geräusch % Mikrofon (Sensoren) an und in das 2. leere Feld einen Zahl Block. Auch hier ist 15 zunächst ein guter Ausgangswert. Ändern Sie nun wieder das = in ein >. Nun müssen Sie noch definieren, was passieren soll, wenn das Mikrofon eine bestimmte Lautstärke misst, die über dem angegebenen Schwellenwert liegt. Weil Sie die Anzahl messen wollen, in der dies geschieht, brauchen Sie einen Ort, wo diese Zahl gespeichert werden kann. Dazu benötigen Sie eine Variable. Klicken Sie oben bei dem roten Start Block auf das + und es wird eine neue Variable erstellt. Diese können Sie umbenennen, in dem Sie auf das Feld in dem Element steht klicken und ihren Namen der Variable eintippen. Hier bietet sich zum Beispiel Geraeusch an. Wenn Sie die Variable umbenannt haben, fügen Sie bei dem mache ihres wenn mache-Blocks den Block Schreib Geraeusch (Variablen) hinzu und docken daran einen Block (Mathematik) an. Da der Wert, der in der Variablen gespeichert wurde, immer um einen erhöht werden soll, fügen Sie in die erste leere Stelle des + Blocks den Block Geraeusch (Variablen) hinzu und in das zweite leere Feld einen Zahl-Block mit dem Wert 1. Danach können Sie noch einen Warte ms Block anhängen, damit immer eine bestimmte Zeit gewartet wird, bis wieder ein Geräusch gezählt wird. Ansonsten könnte ein Geräusch mehrfach gezählt werden.

c) Um sich anzeigen zu lassen, wie viele Geräusche der Calliope aufgezeichnet hat, können Sie einen weiteren wenn mache Block in die Schleife hinzufügen. Dort hängen Sie den Block Taste A gedrückt? (Sensoren) an. Bei mache fügen Sie nun den Block Zeige Text (Aktion) hinzu und ersetzten das Hallo durch einen Block (Mathematik). Diesen benötigen Sie, da Sie höchstwahrscheinlich bei dem Schließen, nachdem Sie den Calliope gestartet haben, und dem Öffnen der Schublade, um zu überprüfen, ob jemand im Raum war, jeweils ein Geräusch machen werden. Deswegen ziehen Sie 2 Geräusche bei Ihrer Anzeige ab. Dazu fügen Sie in das erste leere Feld die Variable Geräusch hinzu und in das zweite einen Zahl Block mit dem Wert 2. Nun ändern Sie noch das + in ein und Ihnen wird, wenn Sie die Taste A drücken, angezeigt, wie viele Geräusche der Calliope gemessen hat, abzüglich der zwei Geräusche, die Sie selber verursacht haben. 

Beschleunigungssensor und Alarmanlage

Nun können Sie mit der Programmierung des Bewegungssensors beginnen. Dieser soll zählen, wie oft die Schublade geöffnet wurde.

a) Da hier wieder etwas passieren soll, wenn ein bestimmtes Ereignis eintritt, benötigen Sie wieder den wenn mache Block und fügen diesen in die Schleife ein. Nun docken Sie erneut ein Block (Logik) an das wenn an und fügen in das erste leere Feld den Block gib Wert milli-g Beschleunigungssensor x ein. Diesen Befehl finden Sie unter Sensoren, allerdings müssen Sie dazu über den Menüpunkten den Stern mit der 2 anklicken, damit dieser Block auszuwählen ist:

In das zweite leere Feld fügen Sie einen Zahl Block ein. Ein guter Startwert sind hier 200. Ändern Sie nun noch das = in ein >. Genauso wie bei dem Geräuschmesser, benötigen Sie nun noch eine Variable, um dort zu speichern, wie oft der Bewegungssensor einen Wert über 200 wahrgenommen hat. Nennen Sie diese Variable Bewegt. In das mache des wenn mache Blocks fügen Sie nun, wie bei dem Geräuschmesser, ein Schreibe Bewegt Block und ein Block (Mathematik) ein, in den Sie einmal die Variable Bewegt einsetzen und einmal einen Zahl-Block mit dem Wert 1.

Da die Alarmanlage aber nicht sofort auslösen soll, wenn die Schublade geöffnet wird, sondern einige Zeit zum Entschärfen dieser vorhanden sein soll, muss der Zeitpunkt gespeichert werden, in dem die Schublade geöffnet wurde. Deswegen benötigen Sie eine weitere Variable, die Sie Zeit nennen. Fügen Sie als nächstes den Befehl Schreibe Zeit ein und hängen Sie auch hier wieder einen Block an. Da der Calliope automatisch die Zeit misst, ab dem Zeitpunkt, zu dem er angeschaltet wurde, können Sie dies nutzen, um den Zeitpunkt zu speichern. Dazu fügen Sie in die erste leere Stelle des Blocks den Befehl gib Wert ms Zeitgeber 1 (Sensoren) ein. Somit wird der Zeitpunkt, in Millisekunden, in der Variable Zeit gespeichert, wenn die Schublade bewegt wird. Nun fügen Sie nach dem + einen Zahl Block hinzu mit dem Beispielwert 4000. Somit wird der aktuelle Zeitpunkt in der Variablen gespeichert und noch 4 Sekunden (= 4000ms) hinzugefügt. So kann das Programm später überprüfen, ob dieser Zeitpunkt erreicht, ohne dass der Alarm entschärft wurde. Anschließend fügen Sie noch einen Warte ms Block (Kontrolle) hinzu, damit nicht bei einem Öffnen mehrere Bewegungen gemessen werden.

Um sich die Anzahl der Bewegungen zeigen zu lassen, fügen Sie die gleichen Befehle wie bei dem Anzeigen der Geräusche hinzu und ändern Sie nur die Taste A in Taste B und die Variable Geräusch in Bewegt. Mit einem Rechtsklick können Sie auch ganze Blöcke kopieren.

b) Nun können Sie den Alarm programmieren, der die Möglichkeit haben soll, abgeschaltet zu werden. 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 auslöst, fügen Sie in dem ersten und Block noch einen weiteren hinzu.

Da wieder Werte verglichen werden müssen, fügen Sie nun in den 3 leeren Stellen jeweils einen Block ein. Als erstes soll überprüft werden, ob die Zeit, die zum Entschärfen des Alarms gegeben wurde (4000ms), abgelaufen ist. Deswegen fügen Sie bei dem 1. Block in der 1. leeren Stelle den Block gib Wert ms Zeitgeber 1 (Sensoren) ein. Bei der 2. leeren Stelle des 1. Blocks hingegen die Variable Zeit. Dann ändern Sie das = in ein < bei dem ersten Block. Somit überprüfen Sie, ob seit dem ersten Zeitpunkt der Messung mehr als 4000ms vergangen sind.

Als nächstes soll überprüft werden, wie oft die Schublade bewegt wurde. Dazu fügen Sie in die erste leere Stelle des 2. Blocks die Variable Bewegt ein.  In die 2. leere Stelle des 2. Blocks fügen Sie dann einen Zahl Block mit dem Wert 1 ein. Ändern Sie nun das = des 2. =-Blocks in ein >. Somit löst der Alarm bei dem ersten Bewegen der Schublade, also dem Schließen dieser, nachdem der Calliope angeschaltet wurde, nicht aus. Erst bei dem nächsten Öffnen der Schublade ist dies der Fall.

Für den 3. Block benötigen Sie eine neue Variable. Fügen Sie oben bei dem roten Start Block eine weitere Variable hinzu in dem Sie auf das + drücken und nennen Sie diese Variable Alarm. Fügen Sie nun die Variable Alarm in das 1. leere Feld des 3. Blocks hinzu und in das letzte leere Feld die Zahl 0. Diese Variable wird dazu benötigt, dass Sie den Alarm abschalten können, auch wenn Sie die anderen Bedingungen erfüllen.

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 (Aktion). Außerdem können Sie bei der LED-Matrix ein Bild anzeigen lassen, das blinkt. Dazu fügen Sie noch ein Zeige Bild Block (Aktion) ein und wählen Sie zum Beispiel ein X. Fügen Sie danach ein Warte ms– lock (Kontrolle) und einen Lösche Bildschirm-Block (Aktion) hinzu. Da sich diese Befehle in einer Schleife befinden, wird immer wieder das X angezeigt und nach der angegebenen Wartezeit wieder gelöscht. Das X blinkt also.

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 der Alarm wiederholt wird. Nun kann der Alarm nicht mehr auslösen. Das liegt daran, dass nicht mehr alle 3 Bedingungen erfüllt sind, da die Variable Alarm nicht mehr gleich 0 ist.

Damit Sie den Alarm aber auch abschalten können, wenn der Alarm gerade nicht ausgelöst wurde, müssen Sie noch einmal einen wenn mache Block in die Hauptschleife einfügen, damit Sie auch dort die Variable Alarm auf 1 ändern können. Der Code dazu sieht folgendermaßen aus:

c) Der fertige Code sieht dann so aus:

Ideation & Transfer

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

 Smart Home:

  • Welche Vor- und Nachteile haben Smart Home Anwendungen?
  • Was würden sich die Teilnehmer:innen für ihr zu Hause wünschen?
  • Gab es schon einmal Probleme mit einer solchen Anwendung bei den Teilnehmer:innen?

 

Big Data

  • Welche Daten werden in dem Programm der Teilnehmenden gespeichert?
  • Wer hätte Zugriff darauf, wenn ihre Detektiv-Schublade an das Internet angeschlossen wäre?
  • Für wen wären diese Daten interessant und warum?
  • Welche Daten würden die Teilnehmenden von sich preisgeben für eine Smart Home Anwendung und warum?
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.