Macht ohne Steuerung …
Heute lernen wir, wie die bitbloq Blöcke des Reiters Control (Steuerung) verwendet werden: der Block Wenn … ausführen.Das hört sich langweilig an? Nicht die Bohne! Diese Blöcke sind das Kernstück, damit dein neuer „Zerstörer-Roboter“ (oder Staubsauger) die Welt erobern (oder sie zumindest ordentlich staubsaugen kann)!
Los geht´s!
Heute benötigst du:
- 1 x ZumBloq LED
- 1 x ZumBloq Lichtsensor
- 1 x ZumBloq Taster
- Eine Steuerplatine ZUM BT 328 oder eine, die mit Arduino UNO kompatibel ist
- Ein USB-Kabel
Der Block wenn … ausführen
Wir lernen was ein Konditionalsatz ist
Einen Moment mal, nicht ganz so schnell. Ein Konditionalsatz? Was ist das überhaupt? Ein Konditionalsatz enthält eine Bedingung, die erfüllt sein muss, damit ein Teil des Programmes ausgeführt wird. Wie du hier sehen kannst ist das ganz einfach: Wenn du artig warst, bringt dir das Christkind Geschenke. Wenn du dein Zimmer nicht aufräumst, wird deine Mutter mit dir schimpfen. Wenn ich auf den Knopf drücke, schaltet sich die LED ein usw. Wir haben diesen Block schon häufiger während des Kurses verwendet. Erinnerst du dich? Es ist ein grundlegender Block, der es uns erlaubt, unserem Programm mitzuteilen, wann ein Ereignis stattfinden soll und wann ein anderes.
Wie funktioniert das? Sehen wir uns das nächste Beispiel an:
Beispiel mit dem Block wenn … ausführen
Wir verwenden den Block wenn … ausführen, um die LED durch Tastendruck einzuschalten
Als erstes schließt du deine ZumBloq LED und den ZumBloq Taster wie auf der Abbildung zu sehen ist an die Platine an:Wir möchten, dass sich mit dem Drücken des Tasters die LED einschaltet.Mit anderen Worten: Wenn der Taster gedrückt ist … schaltet sich die LED ein. Deshalb müssen wir den Block Wenn … ausführen verwenden. Das Programm dazu sieht folgendermaßen aus:
Denk daran, dass der Taster, je nachdem welche Art von Taster du verwendest, in gedrücktem Zustand den Wert 0 oder 1 haben kann. Wenn du einen unserer Roboterbausätze verwendest liegt der Wert beim Drücken bei 0. Wie du siehst schaltet sich die LED ein, wenn wir auf den Taster drücken und bleibt dauerhaft eingeschaltet … und da unsere Platine nicht sehr schlau ist … macht sie nur das, was wir ihr sagen! Wir müssen ihr also auch mitteilen, was sie tun soll, wenn der Taster nicht gedrückt wird! Wie können wir das erreichen? Sieh dir das folgende Programm einmal genauer an:
Der Block Wenn … dann kann auch noch anders verwendet werden, zum Beispiel mit ansonsten. Diese Anweisung wird ausgeführt, wenn die Bedingung nicht erfüllt ist, unser Taster also nicht heruntergedrückt wurde. Um diese Möglichkeit ansonsten hinzuzufügen, klickst du auf den Stern des Blocks und ergänzt sie:
Beispiel 2
Wir programmieren, dass die LED blinkt wenn der Lichtsensor wenig Licht wahrnimmt und sich einschaltet wenn es dunkel ist.
Ich verrate dir ein Geheimnis: Ich habe Angst im Dunkeln. Nachts gehe ich nicht zur Toilette. Auch wenn ich eigentlich unbedingt gehen müsste warte ich bis zum nächsten Morgen, da ich im Dunkeln nicht über den Flur gehen möchte. Wer weiß, welches Monster dort gerade herumirrt, nachher ist es etwa der Mathelehrer … Deshalb habe ich mich entschieden zu handeln und ein automatisches Nachtlicht erfunden. So bin ich nie ganz im Dunkeln. Ich habe mit einem namhaften Lichttechniker gesprochen und wir haben uns lange beraten. Schließlich sind wir zusammen zu der Überzeugung gekommen, dass diese revolutionäre Maschine, die unsere Kindheit verändern wird, folgendermaßen aussehen muss: wenn die Lichtmenge unter 100 liegt -> Oh, wie schrecklich dunkel es doch ist! ->LED EINSCHALTEN -Wenn die Lichtmenge unter 200 liegt und man schon etwas weniger Angst hat… ->DIE LED BLINKT! – Wenn hingegen die Sonne scheint und alles gut ist… Mensch, was bin ich mutig! ->LED AUSSCHALTEN. Lach über das iPhone! Beginnen wir mit der Arbeit! Als erstes müssen wir die Verbindungen mit der Platine herstellen: Denk daran, dass der Lichtsensor eine analoge Komponente ist. Daher musst du ihn mit den analogen Pins deiner Platine verbinden. Warum versuchst du nicht, nachdem du alle Komponenten angeschlossen hast, selbst das Programm zu erstellen? Du wirst staunen, wie schnell du die Lösung gefunden hast! Wenn du fertig bist kannst du dir unten die Lösung angucken.
Wenn du alles richtig gemacht hast müsste es in etwa so aussehen:
In Kürze sehen wir uns die logischen Operationen genauer an. Wenn innerhalb des Blocks Wenn … ausführen mehr als eine Bedingung ausgeführt werden soll, wie zum Beispiel, dass der Taster gedrückt und die Lichtmenge geringer als 30 ist, kannst du das auf die folgende Weise erreichen: