Im folgenden Modul wirst du lernen, wie du mit dem Octopus Text auf dem Bildschirm ausgibst. Weiter lernst du, wie ein Mikrocontroller mit seiner Umgebung interagiert.
Der Polygraph – auch besser bekannt als Lügendetektor (vgl. Abbildung 1) – ist ein Gerät, das verschiedene Körperparameter wie Puls, Atmung, Blutdruck und elektrische Leitfähigkeit der Haut während einer Befragung misst und aufzeichnet.
In der Klasse 8a wird in der Pause immer Lügenmäxchen gespielt, ein Würfelspiel, bei dem der beste Lügner gewinnt. Wir wollen einen eigenen Lügendetektor bauen, um herauszufinden, wann ein Mitspieler lügt.
Der Octopus kann als einfacher Lügendetektor verwendet werden. Über die analogen Kontakte (vgl. Abbildungen 2 und 3) des Octopus, können wir den Hautwiderstand der Fingerkuppe einer Testperson messen. Dieser Messwert kann Hinweise darauf geben, ob jemand die Wahrheit sagt, da Menschen beim Lügen oft schwitzige Hände bekommen.
Der analoge Eingang des Octopus liefert uns einen Messwert zwischen 0 und 1023. Warum das so ist und wie wir daraus den tatsächlichen Hautwiderstand der Testperson bestimmen können, erfährst du in den optionalen Inhalten.
Zu Beginn werden wir uns anschauen, wie man den Wert am analogen Eingang messen kann. Dafür benötigen wir das Bauteil "analog Read" aus der Schublade "Sensoren". Du wirst bemerken, dass das Bauteil nicht in das IoT2-Programmbauteil passt (vgl. Abbildung 4), weil es einen „spitzen“ Anschluss hat. Dies bedeutet, dass es sich um einen Zahlenwert handelt, der vom der vom Sensor erzeugt wird. Solch ein Zahelnwert kann nur zusammen mit einem anderen Bauteil weiterverarbeitet werden - z.B. zur Ausgabe des Zahlenwerts auf dem Bildschirm. Dazu holen wir uns zunächst das Bauteil „Serial print“ aus der Schublade „Kommunikation“ und anschließend, ebenfalls von dort, ein „verbinde“-Bauteil, um den viereckigen mit dem spitzen Anschluss zu verbinden (vergleiche Abbildung 5).
Zudem benötigen wir das Bauteil „Warte Millisekunden“ (das kennst du ja schon aus Modul 1), damit die Werte nicht zu schnell hintereinander auf dem seriellen Monitor angezeigt werden.
Der serielle Monitor erlaubt es uns, Daten vom Octopus an den PC zu senden und diese in Form von Texten auf dem Bildschirm auszugeben. Da man dort nur Text angeben kann, muss man zuerst Zahlwerte in Text übersetzen. Hierfür benötigen wir die Verbinder als Adapter. Den seriellen Monitor findest du am oberen Rand des Ardublocks (vgl. Abbildung 6). Wenn du auf den Button klickst, öffnet sich der serielle Monitor und es werden die Daten angezeigt, die der Octopus sendet (vgl. Abbildung 7).
Wie du an Abbildung 8 erkennen kannst, liegt am analogen Eingang nur ein kleiner Wert an, wenn du den analogen Kontakt nicht berührst. Sobald du den Finger auf den Kontakt legst, verändert sich der Wert jedoch deutlich (vgl. Abbildung 9).
Du wirst merken, dass der Wert sich verändert, je fester du auf den Kontakt drückst. Mache auch einmal deinen Finger etwas feucht und halte ihn erneut auf den Kontakt. Der Wert wird sich noch weiter erhöhen.
Wir wollen unseren Lügendetektor nun fertig programmieren. Dafür müssen wir festlegen, ab welchem Wert eine Aussage als Lüge gilt. Wir stellen hier den Wert 300 ein. Um zu unterscheiden, ob es sich um eine Lüge handelt oder nicht, benötigen wir das Bauteil "Falls/sonst" aus der "Kontrollstrukturen"-Schublade. Damit können wir testen, ob der Wert, der am analogen Kontakt gemessen wird, größer oder kleiner als 300 ist. Ist der Wert kleiner als 300 soll die linke LED grün leuchten und andernfalls rot (wie in Modul 1). Du wirst merken, dass man in das obere Abteil des "Falls/sonst"-Bauteils nur Bauteile mit rundem Anschluss einsetzen kann. Hierbei handelt es sich um Wahrheitswerte (wahr oder falsch). Wir verwenden das "Kleiner"-Bauteil aus der "Log. Operatoren"-Schublade. Du benötigst weiter einen Zahlwert, in dem du die 300 einträgst. Ihn findest du in der "Variablen/Konstanten"-Schublade. In Abbildung 10 siehst du, wie das fertige Programm aussehen muss. Wir lassen uns hier den Wert zusätzlich auch noch auf dem seriellen Monitor anzeigen.
Aktuell leuchtet die LED am Octopus auch grün, wenn niemand den Kontakt berührt. Da dies im Kontext des Lügendetektors aber bedeutet, dass jemand die Wahrheit sagt, kann das zu Verwirrung führen. So kann man beispielsweise "schummeln", wenn man den Finger nicht richtig auf die Kontakte legt. Wir sollten daher abprüfen, ob eine Person den analogen Eingang des Octopus berührt. Sobald das passiert, ist der Wert auf jeden Fall größer als 20. Wir prüfen daher, ob der Wert größer als 100 ist, bevor wir eine LED aufleuchten lassen. Ansonsten schalten wir die LED aus. In Abbildung 11 kannst du sehen, in wie weit du das Programm verändern musst.
Wir können unser ursprüngliches Programm aus Abbildung 10 verwenden, um eine Lärmampel zu bauen. Analoge Sensoren funktionieren immer gleich und geben stets
Werte zwischen 0 und 1023 aus (vgl. Fachliche Informationen).
So auch der Sound-Sensor. Diesen schließen wir zunächst am
linken Grove-Anschluss des Octopus an. (siehe Abbildung 12). Jetzt müssen wir noch einen Grenzwert festlegen, bis zu dem wir die Lautstärke noch als angenehm empfinden. Das Programm (nutze das Bauteil „Analog Read“) mus jetzt so angepasst werden, dass die LED bei angenehmer Lautstärke grün leuchtet und rot, wenn es zu laut wird. Vielleicht ist ja eine solche Lärmampel auch für euer Klassenzimmer geeignet?!!
Wenn die wir den Finger auf den Kontakt am Ocotpus legen, verändert sich durch den Hautwiderstand die Spannung, die am Kontakt anliegt. Die insgesamt an den mit A0 beschrifteten Kontakten anliegende Kleinspannung wird durch einen Analog-Digital-Wandler (ADC) in einen proportionalen Zahlenwert umgewandelt. In unserem Fall hat der ADC eine Auflösung von 10 bit, was bedeutet, dass unser Messbereich von 0 bis 3 V in die Zahlenwerte 0 bis 210-1 (=1023) umgewandelt wird.
Das Bauteil AnalogRead wandelt also die physikalische Größe Spannung in einen Zahlenwert um. Schließen wir an der Grove-Buche A0 (linke weiße Buchse) z.B. einen Loudness-Sensor an, so können wir so die Lautstärke im Klassenzímmer messen.
Wenn du deinen Finger auf den analogen Kontakt legst, sorgt dein Hautwiderstand dafür, dass am analogen Kontakt die Spannung abfällt. Dies liegt daran, dass den Kontakten ein weiterer Widerstand vorgeschaltet ist. Dieser Widerstand und dein Finger teilen die eigentliche Spannung, mit der der Octopus arbeitet, auf. Man spricht hierbei von einem Spannungsteiler. Der Octopus arbeitet normalerweise mit einer Spannung von 3 Volt. Demnach muss die Spannung am Kontakt niedriger sein als 3 Volt.
Diese niedrige Spannung kannst du ganz einfach ausrechnen. Lese den analogen Wert zwischen 0 und 1023 aus und teile ihn durch 1023. Danach multiplizierst du ihn mit 3. Als Ergebnis erhälst du die Spannung, die am analogen Kontakt abfällt.
Wenn du mehr über den Spannungsteiler und seine zahlreichen Einsatzgebiete erfahren möchtest, kannst du hier klicken.
Neben dem Sound-Sensor gibt es noch viele weitere Sensoren, die wir auf genau die gleiche Weise verwenden können, indem wir das "Analog Read"-Bauteil verwenden. So können wir hier beispielsweise auf Lichtsensoren, Beschleunigungssensoren, Distanzsensoren und Temperatursensoren zurückgreifen. Wenn du wissen möchtest, wie du selbst einen Lichtsensore bauen kannst, solltest du auf folgenden Link klicken: https://www.umwelt-campus.de/iot-werkstatt/tutorials/physik-selbstbau-lichtsensor
Bitte beachten Sie: Sobald Sie sich das Video ansehen, werden Informationen darüber an Youtube/Google übermittelt. Weitere Informationen dazu finden Sie unter Google Privacy.
Bitte beachten Sie: Sobald Sie sich das Video ansehen, werden Informationen darüber an Youtube/Google übermittelt. Weitere Informationen dazu finden Sie unter Google Privacy.
Sie verlassen die offizielle Website der Hochschule Trier