Mit dem virtuellen seriellen Port könnt ihr Nachrichten von eurem Microcontroller zum Computer und zurück schicken!

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!


Im letzten Tutorial hatten wir uns den Lichtsensor angesehen, der uns ein analoges Spannungssignal liefert. Allerdings ist dieses Spannungssignal und damit auch die Werte, die unser Microcontroller einliest, nicht immer auf einer klaren Skala, das heißt ein Sensor kann bei wenig Licht schon einen hohen Wert liefern, während ein anderer eher niedrigerer Werte meldet. Statt lange zu probieren, mit welchen Werten unser Sensor arbeitet, können wir uns das Ganze auch einfach auch anzeigen lassen. Der Zum hat aber außer einer LED auf der Platine keine Möglichkeit, euch direkt etwas anzuzeigen. Darum nehmen wir einfach den Computer her, mit dem wir den Zum programmiert haben. Der Zum kann nämlich mit dem Computer über USB und über einen virtuellen seriellen port kommunizieren, über den der Zum zum Computer und der Computer zum Zum Text schicken kann, also Statusinfos, Befehle, oder ganze Romane wenn man will, aber eben auch Zahlen und Werte, so wie die Werte aus dem Lichtsensor. Das kann ziemlich oft praktisch werden, um zum Beispiel zu verstehen, warum ein Programm nicht funktioniert oder mit welchen Werten es in jedem Schritt rechnet. Damit wir die serielle Schnittstelle verwenden können, brauchen wir das “Bauteil” Serieller Port in Bitbloq. Damit ihr die Hardware dazu verwenden könnt, müsst ihr nur das USB-Kabel am Zum angeschlossen lassen. Am Bauteil in Bitbloq können wir neben dem Namen auch die Baudrate des ports einstellen, das ist die Geschwindigkeit des Ports. Mit höhere Baudraten könnt ihr die Daten schneller übertragen, und auch hier kann der Prozessor wieder nur eine Sache gleichzeitig ausführen – solange Daten über den seriellen Port übertragen werden, kann das Programm an der Stelle nicht weiterarbeiten. Schnellere Baudraten bremsen also euer Programm weniger aus, aber für jetzt ist der Standard von 9600 Symbolen pro Sekunde absolut in Ordnung.

Bitbloq 2 Serieller Port

Als erstes wollen einfach mal den Wert vom Lichtsensor direkt an den PC senden. Dafür brauchen wir den “Senden” Block aus dem Bereich “Kommunikation”, dem können wir direkt den “Lesen” Block mitgeben oder den Wert aus dem Lichtsensor zuerst in eine Variable schreiben, damit wir den Sensor nicht jedes Mal wieder neu auslesen müssen, wenn wir den den Sensor in der Schleife gleich nochmal brauchen. Im “Senden” Block können wir noch einstellen, ob nach jedem gesendeten Wert eine neue Zeile angefangen werden soll, wenn wir den Zeilenumbruch ausschalten, bekommen wir einfach eine lange Schlange an Werten, die ziemlich hat zu entziffern ist.

Das heißt, unser  Programm liest jetzt den Lichtsensor ein, speichert ihn in eine Variable und schickt diesen Wert dann über die serielle Schnittstelle an den PC. In Bitbloq können wir diese Daten dann anzeigen, indem wir den Seriellen Monitor aus dem “Ansehen” Menü öffnen.

Bitbloq2 Serieller Monitor

Diese Werte könnt ihr verwenden, um zum Beispiel das Nachtlicht aus dem letzten Video ganz genau einzustellen.

Probiert einfach mal aus, welche Werte ihr noch über die serielle Schnittstelle ausgeben könnt! Ihr könnt zum Beispiel auch die Textblöcke zusammen mit dem “Senden” Block verwenden.

Im nächsten Artikel sehen wir uns an, wie ihr Anweisungen widerholen könnt, ohne auch alles Andere im Loop nochmal laufen lassen zu müssen. Bis dann!