• Was sind Sensoren eigentlich?

    Mit Sensoren können Roboter oder auch technische Geräte die Umwelt wahrnehmen. Wir Menschen nehmen unsere Umwelt mit unseren Sinnesorganen wahr.

    In dieser Woche beschäftigen wir uns mit dem Helligkeitssensor. Der Sensor misst die Intensität des Lichts, das auf ihn trifft und gibt uns Werte von 0 bis 100% wieder. Der Wert 0 wird bei Dunkelheit gemessen und wenn es sehr hell ist, kann der Wert 100 gemessen werden. Es können auch Werte dazwischen gemessen werden, das kommt auf das Umgebungslicht (Licht im Zimmer oder Sonnenlicht) an. Wir können den Calliope mini auf die verschiedenen Messwerte, die möglich sind, unterschiedlich reagieren lassen. Schauen wir uns das Ganze an einem Übungsbeispiel an.

    • Programmieren eines Rollerlichts

      Es gibt Autos, deren Beleuchtung sich bei Dunkelheit von selbst anschaltet. Wäre es nicht toll ein automatisches Licht für seinen Roller zu haben?

      Die Beleuchtung vieler Autos ist heute so programmiert, dass sie sich anschalten, sobald das Licht in der Umgebung schwächer wird. Wird das Umgebungslicht dann wieder stärker, schaltet sich die Beleuchtung aus. So ähnlich wie die Lichtanlage in einem Auto kann auch der Calliope mini programmiert werden, zum Beispiel als Vorderlicht für einen Roller.

      Bevor wir loslegen, ist es sinnvoll ein kleines Programm zu schreiben, dass uns den Lichtwert anzeigt, damit wir in unserem Programm für das Rollerlicht mit den richtigen Werten arbeiten können.

      Wir benötigen folgende Blöcke:

      Bild: Calliope_Kategorien_Bloecke_Licht_messen

      Aus der Kategorie Kontrolle eine Schleife Wiederhole unendlich oft mache, damit unser Programm dauerhaft (unendlich lange) ausgeführt und wiederholt wird. Aus der Kategorie Aktion benötigen wir, den Zeige Text Block, um uns etwas ausgeben zu lassen auf dem 5x5 Raster. Der grüne Block in dem der Text Hallo steht, wird nicht gebraucht, stattdessen wollen wir den Wert vom Lichtsensor ausgeben lassen, den Block dafür findest du in der Kategorie Sensoren. Da die gemessenen Lichtwerte auch mal schwanken können und dadurch die Ausgabe schnell variiert, fügen wir noch einen Warte Block aus der Kategorie Kontrolle ein, damit unser Auge die Chance hat, die Werte abzulesen. Verwende eine geeignete Wartezeit zum Beispiel 2000 ms (Millisekunden).

      Das vollständige Programm würde wie folgt aussehen:

      Bild: Calliope_Lichtwerte_messen

      Speichere dieses Programm in deinem Login als Lichtwerte ab. So kannst du es später wiederverwenden. Lade das Programm auf deinen Calliope mini herunter.

    • Erstellen des Codes für ein Rollerlicht

      Das Licht (die RGB-LED) des Calliope mini soll sich:
      - einschalten, sobald das Umgebungslicht schwächer wird,
      - ausschalten, sobald das Umgebungslicht wieder stärker wird.

      Du hast nun selbst gesehen, welche Werte dein Calliope mini für helle und dunkle Lichtverhältnisse annimmt. Um zwischen hell und dunkel zu unterscheiden, legen wir einen Schwellenwert fest, der zwischen den hellen und dunklen Lichtwerten liegt.

      Ein Beispiel: Mein hellster Wert liegt bei 50 und mein dunkelster Wert bei 24. Mein Schwellenwert liegt bei (50 + 24) : 2 = 37.

      Um einen Sensorwert mit einem von uns vorgegebenen Wert zu vergleichen, benötigen wir einen Block aus der Kategorie Logik.

      Bild: Calliope_Logik_Block

      In die weißen Lücken wird zum einen der Sensorblock eingefügt und zum anderen der Zahlenwert. Den Sensorblock kennst du ja bereits. Einen Zahlenwert können wir mit einem Block aus der Kategorie Mathematik festlegen.

      Bild: Calliope_Logik_Block_Inhalte

      Im Logikblock ist als Vergleichsoperator ein =. Das würde bedeuten, wenn der Lichtsensor den Wert 37 (mein Schwellenwert) misst, wird dem Calliope ein Signal wahr übermittelt, sonst falsch. Wir wollen aber, dass der Calliope ein wahr erhält, wenn der Messwert kleiner als 37 ist. Klicke auf das = Zeichen und wähle < aus. Dann sollte dein Logikblock wie folgt aussehen:

      Bild: Calliope_Logik_Block_Inhalte_eingefuegt

      Nur alleine die Bedingung ist ja noch kein Programm. Die Bedingung muss mit einem wenn mache sonst Block verbunden werden, der unter der Kategorie Kontrolle zu finden ist. Außerdem brauchen wir aus der Kategorie auch wieder die Schleife Wiederhole unendlich oft, die unser Programm ständig wiederholt und die Lichtverhältnisse prüft. Das würde folgendermaßen aussehen.

      Bild: Calliope_Schleife_Schalter_Logik

      Nun fehlen uns noch 2 Blöcke aus der Kategorie Aktion, die für das ein und ausschalten der RGB-LED zuständig sind. Aber wo kommt welcher Block hin?

      Bild: Tipp-HinweisLies den Text, der auf jedem Block steht.

      Wiederhole unendlich oft und mache:
      wenn der Lichtsensor einen Wert misst, der kleiner als 37 ist (dann ist es dunkel)
      mache: Schalte LED an Farbe (Farbe auswählen)
      sonst: Schalte LED aus

      Dein Programm sieht dann wie folgt aus:

      Bild: Calliope_Rollerlicht

      Speichere dein Programm als Rollerlicht ab und probiere es aus.
      Wenn du es an deinem Roller befestigen möchtest, nutze das Batteriefach zur Spannungsversorgung und das Gummi zur Befestigung.
      Vielleicht fällt dir noch ein anderes Einsatzgebiet für den Calliope mini ein mit diesem Programm.

    • Programmieraufgaben

    • Ausblick

      Nachdem wir uns mit dem Helligkeitssensor beschäftigt haben, folgt nächste Woche ein weiterer Sensor.

      Falls du Fragen hast, melde dich bei mir.