Mit der “Solange” oder “While” Schleife könnt ihr eure Programme noch genauer steuern oder es an bestimmten Stellen anhalten!
Probiert es hier aus bitbloq.bq.com
Bitbloq 2 ist eine Programmiersprache, mit der ihr aus Blöcken einfache oder komplexe Programme für Arduino-kompatible Plattformen, wie den BQ ZUM erstellen könnt! Damit könnt ihr alle Fähigkeiten der C++ Sprache umsetzen, auf der Arduino basiert, ohne die komplizierte Syntax, Komma- und Klammerregeln der Sprache auswendig lernen zu müssen.
Mit Bitbloq 2 kann jeder ab 8 Jahren die Grundlagen der Programmierung und Robotik lernen!
Heute wollen wir uns ein zweite Art von Schleife ansehen. Die “for”-Schleife kennt ihr schon, die könnt ihr in Blitbloq mit dem “Rechnen mit” Block verwenden. Wir nennen sie auch Zählschleife, weil wir mit ihr recht einfach zählen können, wie oft die Schleife schon ausgeführt worden ist und nach einer bestimmten Anzahl an Durchläufen abbrechen können, mit der haben wir schon LEDs zum Blinken gebracht . Es gibt noch eine zweite Art von Schleifen, die “for” Schleife, die könnt ihr in Bitbloq mit dem “Solange” Block verwenden, und das beschreibt die Schleife auch schon ganz gut. Im Prinzip sind die “for” und “while” Schleifen fast das Selbe, und ihr könnt mit beiden Schleifen auch genau das Gleiche machen, wenn ihr wollt, aber die “for” oder solange-Schleife eignet sich besonders gut für bestimmte Anwendungen – wie der Name schon sagt, für Alles, bei dem Aktionen solange ausgeführt – oder auch nicht ausgeführt werden sollen, bis ein bestimmtes Ereignis passiert und ein bestimmter Zustand erreicht wird.. Es ist in der Robotik ein verbreitetes Konzept, dass zum Beispiel eine Maschine erst auf die Freigabe vom Nutzer wartet, bevor sie zum Arbeiten anfängt oder erst dann weitermacht, wenn ein anderer Schritt fertig ist. Das bauen wir jetzt mit einem Taster und einer LED nach – ihr könnt den Taster als Sensor aber auch z.B. mit einem Lichtsensor und die LED mit einem Servo oder Piepser ersetzen, wenn ihr das Programm entsprechend anpasst. In meinem Fall schließe ich die LED an Pin 5 und den Taster an Pin 7 an und das Gleiche natürlich auch in Bitbloq.
Und zwar soll die LED blinken, so wie sonst auch schon oft – aber jetzt davor noch darauf warten, dass der Taster gedrückt wird. Das kann man natürlich mit unterschiedlichsten Methoden umsetzen – was wir heute machen wollen, ist das Blinken einfach im Loop laufen zu lassen, das Programm davor aber im Bereich “Setup” festzuhalten und erst dann weiterzumachen, wenn der Taster einmal gedrückt wurde. Dazu bauen wir zuerst das Hauptprogramm im Loop auf, und zwar LED an, warten, LED aus, nochmal warten. Im Setup bauen wir jetzt die for-Schleife mit dem “solange” Block ein. Der Trick bei der Sache ist, die Schleife solange ausführen zu lassen, wie der Taster nicht gedrückt ist. In der Schleife selbst brauchen wir keine Anweisungen, aber ihr könnt zum Beispiel einen kurzen Warten Block einbauen.
Wenn ihr dieses Programm jetzt hochladet, passiert erst mal nichts – das liegt daran, dass der Prozessor ständig nur in dieser Schleife läuft. Wenn wir hier keinen Warten Block eingebaut haben, fragt der Prozessor ständig nur ab, ob der Taster schon gedrückt ist, springt zurück, fragt den Taster nochmal ab und das Ganze immer und immer wieder. Erst wenn der Taster ein Mal gedrückt wird, wird die Schleife das erste Mal übersprungen und der Prozessor springt von dem Bereich Setup in den Loop und führt die Anweisungen dort aus.
Damit kennt ihr jetzt eine weitere Möglichkeit, wie ihr eure Programme steuern könnt. Natürlich gibt es noch viele weitere Arten, wie ihr eure Programme beeinflussen könnt – eine davon sehen wir uns im nächsten Video an. Bis dann!