Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Einführung in BlocklyProp

BlocklyProp und Propeller-Controller

BlocklyProp ist eine visuelle Programmiersprache (VPL) der Fa. Parallax, mit der sich die Programmiergrundlagen für Mikrocontroller und Sensoren leichter verstehen lassen. Wer bereits Scratch-Erfahrungen hat, wird sich in BlocklyProp sofort wohlfühlen. Man arbeitet mit sogenannten logischen Code-Blöcken, die wie Bausteine ineinander gefügt werden müssen. Das vereinfacht das Programmieren erheblich, da übliche Fehlerquellen (Groß- und Kleinschreibung, fehlende Kommata oder Semikolons, usw. ) nicht auftreten können und man sich nur noch auf das zu lösende Problem konzentrieren kann.

Darüber hinaus lässt sich über einen Button sofort von der VPL zur Quellcode-Seite umschalten und erfährt dort, wie das Programm in der Programmiersprache C aussieht.

Für Programmieranfänger ist die BlocklyProp Oberfläche ein optimaler kostenfreier Zugang, um erste Erfahrungen mit der Programmierung von Sensoren, Robotern oder anderen Geräten zu sammeln.

 

Anders, als sonst üblich, erfolgt die gesamte Projektentwicklung über das Internet (Internet of Things - IoT). Über einen kostenfreien Client, der zunächst auf dem eigenen Rechner installiert werden muss, bekommt man Zugang zur Programmoberfläche BlocklyProp. Entwickelt dort seine Projekte und speichert sie bei Bedarf auch dort ab. Der Projektentwickler entscheidet, ob sein Projekt in der BlocklyProp-Community öffentlich gemacht wird oder privat bleibt.

Wer bereits über ein Propellerboard verfügt (Propeller Activity Board, Propeller Board of Education), kann direkt in die visuelle Programmierung einsteigen. Das ist besonders für Schulen, die bereits über diese Hardware verfügen, interessant. Eine finanziell günstige Variante ist das Propeller FLiP-Modul, das sich auf einem Steckbrett mit beliebigen Sensoren, Tastern, grafischen Anzeigen etc. verbinden lässt.

Wie kann in der Schule damit gearbeitet werden?

Ist der BlocklyPropClient auf dem Rechner geladen, steht einer Projektentwicklung mit graphischer Oberfläche nichts mehr im Wege. Wie das geht, wird in den folgenden Übungen beschrieben.

Übung 1 - Ein neues Projekt anlegen

In der ersten Übung soll einer der beiden fest verdrahteten LEDs (P26) auf dem Propeller Board of Education zum Blinken gebracht werden.

Einfacher Blinker
Material
  • Laptop oder PC
  • Propeller BoE, Propeller AB (WX), Propeller FLiP o.ä. sowie ein USB-Kabel
Aufgaben
  • Starte den Browser und rufe die Homepage von BlocklyProp auf.
  • Logge dich mit deiner E-Mail und deinem Passwort ein.
  • Öffne die Registerseite "New project". Gib als Projektnamen "Terminalausgabe", als Board/Device type "Other", als Kurzbeschreibung unter Description "Die fest auf dem Propeller BoE verdrahtete LED P26 soll im Sekundentakt blinken" ein und wähle bei Sharing die Option "Private". Schließe die Eingabe mit "Finish" ab. Das Editorfenster von BlocklyProp wird geöffnet.
  • Starte das BlocklyPropClient Programm und klicke auf den Button "Connect".
Abbildung 1 - Ein neues Projekt in BlocklyProp anlegen.

Wenn man sein Programm nicht der BlocklyProp Gemeinde zeigen möchte, belässt man die Sharing-Voreinstellung auf "Private" und beendet die Eingabe durch ein Klick auf den Button "Finish". Es öffnet sich die Arbeitsoberfläche von BlocklyProp.

Abbildung 2 - BlocklyProp Editor Fenster

Der rosa unterlegte Button im Programmkopf von BlocklyProp signalisiert, dass noch kein Client geladen ist ("BlocklyPropClient is not running").

Starte den BlocklyPropClient und klicke auf den Button "Connect". Der rote Hinweisbutton sollte nach einer kurzen Zeit verschwunden sein.

In der linken, grau unterlegten Spalte des BlocklyProp Editorfensters finden sich alle Blockoperatoren, jeweils zusammengefasst in spezifischen Untergruppen, mit denen sich ein Programm aufbauen lässt. Durch einfaches Anklicken werden sie angezeigt.

Wie lässt sich die LED P26 zum Blinken bringen?

Beschreibe dazu mit einfachen Worten, was der Propeller Controller tun muss, damit P26 blinkt. Eine mögliche Handlungsanweisung (Pseudocode) könnte so aussehen:

  • schalte LED P26 an
  • Pause von 500ms
  • schalte LED P26 aus
  • Pause von 500ms
  • wiederhole die vorherigen vier Zeilen immer wieder

Noch etwas anders ausgedrückt ließe sich auch schreiben:

Die Übertragung der Befehlsfolge in den BlocklyProp Editor gestaltet sich einfach. Die Blockoperatoren für Repeat forever (wiederhole immer wieder) und Pause (ms) befinden sich im Registerfeld CONTROL, die für Make Pin 26 HIGH/LOW im Registerfeld PIN STATES. Durch einfaches anklicken werden sie in das Editorfeld gezogen und so "zusammengesetzt", wie in Abb. 3 gezeigt.

Abbildung 3 - BlocklyProp Programm für eine blinkende LED

Um sich zu überzeugen, ob die Überlegungen alle richtig waren und der logische Programmaufbau korrekt, wird jetzt das Programm über den grünen nach unten weisenden Pfeil oberhalb der Blockoperatoren zum Laufen gebracht. Nach kurzer Zeit beginnt P26 zu blinken. Allerdings nicht im Sekundentakt, sondern alle zwei Sekunden.

  • Ändere selbst das Programm so ab, dass die LED im Sekundentakt blinkt. Was ist zu tun?

Lösung

Im Feld des Blockoperators pause (ms) muss der Wert 1000 in 500 abgeändert werden. Dazu wird in das Fenster geklickt und der neue Wert hineingeschrieben.

Es gibt zwei pause (ms) - Operatoren; bei beiden muss der Wert 500 eingetragen sein.

Nach einem neuerlichen Start des Programms blinkt LED P26 im Sekundentakt.

Übung 2 - Das Terminalfenster

Über das Terminal kannst du an den Propeller Controller Fragen stellen und Antworten bekommen. Der Controller antwortet aber nur das, was du ihm vorher einprogrammiert hast. Selbst findet er (noch) keine Antworten. In dieser Übung lernst du, wie man mit dem Controller "spricht" und das Terminal ansteuert.

Das Terminalfenster
Material
  • Laptop oder PC
  • Propeller BoE, Propeller AB (WX), Propeller FLiP o.ä. sowie ein USB-Kabel
Aufgaben
  • Starte den Browser und rufe die Homepage von BlocklyProp auf.
  • Logge dich mit deiner E-Mail und deinem Passwort ein.
  • Öffne die Registerseite "New project". Gib als Projektnamen "Terminalausgabe", als Board/Device type "Other", als Kurzbeschreibung unter Description "Ein vorgegebener Text wird im Terminalfenster ausgegeben." ein und wähle bei Sharing die Option "Private". Schließe die Eingabe mit "Finish" ab. Das Editorfenster von BlocklyProp wird geöffnet.
  • Starte das BlocklyPropClient Programm und klicke auf den Button "Connect".
  • Wähle aus dem Registerfeld Communicate den Blockoperator "Terminal print text ..."
  • Setze den PWR-Schalter auf dem Prop BoE oder Prop AB in Position 1.
  • Klicke auf den Button "Run Once (load code to RAM)" und starte so das Programm. Es sollte sich der Terminalbildschirm öffnen und der im Blockoperator eingegebene Text erscheinen.

Das Programm terminalausgabe

Abbildung 4 - BlocklyProp-Programm für eine Terminalausgabe

Ausgabe im Terminalfenster

Abbildung 5 - Textausgabe im Terminalfenster

Übung 3 - Erweiterter Dialog

Das Terminalfenster
Material
  • Laptop oder PC
  • Propeller BoE, Propeller AB (WX), Propeller FLiP o.ä. sowie ein USB-Kabel
Aufgaben
  • Starte den Browser und rufe die Homepage von BlocklyProp auf.
  • Logge dich mit deiner E-Mail und deinem Passwort ein.
  • Öffne die Registerseite "New project". Gib als Projektnamen "Dialog", als Board/Device type "Other", als Kurzbeschreibung unter Description "Ein kurzer Frage-Antwort Dialog" ein und wähle bei Sharing die Option "Private". Schließe die Eingabe mit "Finish" ab. Das Editorfenster von BlocklyProp wird geöffnet.
  • Starte das BlocklyPropClient Programm und positioniere die Blockoperatoren im Editorfenster.
  • Setze den PWR-Schalter auf dem Prop BoE oder Prop AB in Position 1.
  • Klicke auf den Button "Run Once (load code to RAM)" und starte so das Programm. Es sollte sich der Terminalbildschirm öffnen und ein kurzer Dialog beginnen.

Das Programm Dialog

Abbildung 6 - BlocklyProp Programm zu Übung 3 - Dialog
  • Achte darauf, dass bei den Blockoperatoren "Terminal print text" hinter "then a new line" ein Haken gesetzt wird (durch Anklicken). Damit weiß der Controller, dass er nach der Ausgabe des Textes im Terminalfenster in einer neuen Zeile beginnen soll.

Ausgabe im Terminalfenster

Abbildung 7 - Terminalausgabe zum Programm "Dialog"

Die Textausgabe im Terminalfenster ist an einer Stelle nicht ganz fehlerfrei in der Darstellung. In der zweiten Zeile scheint ein Buchstabe zu fehlen; stattdessen wird ein kleines hochgestelltes Quadrat gezeigt. Das liegt daran, dass das Programm den deutschen Buchstaben "ß" nicht ausdrucken kann. Gleiches gilt übrigens auch für die deutschen Umlaute: ä, ö und ü.

Ändere den Text im BlocklyProp-Programm ab, indem statt "heißt" neu "heisst" geschrieben wird und starte das Programm noch einmal.

Abbildung 8 - Aus "heißt" wurde "heisst".

Jetzt bist du dran!

Denke dir selbst ein Gespräch aus, das du mit dem Controller führst und lasse es so aussehen, als ob der Controller "wirklich" mit dir spricht. Er könnte zum Beispiel

  • nach deinem Alter fragen   oder
  • in welcher Stadt du wohnst  oder
  • nach dem Tagesdatum fragen

und entsprechende Antworten von dir in einem Folgesatz einbauen.

Übung 4 - LED ein- und ausschalten

Einfache Blinkerschaltungen kennt jeder aus seinem täglichen Umfeld: Blinker im Autoverkehr, im Drucker, Warn-Leitsysteme auf Autobahnen usw. In Übung 1 wurde eine einfache Blinkerschaltung bereits vorgestellt. Die Blinkerschaltung dieser Übung wird auf einem Steckbrett nach Schaltskizze aufgebaut, die Blockoperatoren für das Programm im Editor zusammengestellt und - wenn alles gut läuft - fängt die LED nach einem Programmstart an zu blinken.

Ein einfacher Blinker
Material
  • 1x  Propeller FLiP auf Steckbrett mit USB-micro-B Kabel
  • 1x  Widerstand, 470 Ohm
  • 1x  LED rot
Aufgaben
  • Baue die Schaltung nach Schaltskizze auf dem Steckbrett auf.
  • Verbinde das Prop-FLiP Modul über ein USB-Kabel mit einem Rechner.
  • Logge dich mit deinem Passwort über Internet in die BlocklyProp-Site ein und lege ein neues Projekt LED EIN_AUS an.
  • Setze die Blockoperatoren aus der Vorlage in den BlocklyProp Editor ein und speichere anschließend das fertige Programm ab.
  • Starte das Programm durch einen Klick auf den grünen Pfeil und überprüfe, ob die rote LED ein- und ausgeschaltet wird.

Schaltskizze

Der 470 Ohm Widerstand ist mit dem Ausgang P0 des Controllers verbunden.

Schaltungsaufbau

Das Programm "einfacher Blinker"

Aufgaben

  • Die LED blinkt im Sekundentakt. An welcher Stelle musst du das Programm verändern, damit die LED schneller oder langsamer blinkt. Ändere dazu das Programm ab und überzeuge dich, dass deine Idee richtig war.
  • Baue eine zweite LED-Schaltung auf und schreibe ein Programm, das die die beiden LEDs nacheinander ein- und wieder ausschaltet. Man nennt diese Schaltung auch Wechselblinker.

 

Übung 5 - Ampelschaltung

In dieser Übung werden drei LEDs auf dem Propeller Board of Education mit den Ports 8, 9 und 10 des Propeller-Controllers verbunden. Da die fest verdrahteten LEDs auf dem Board nicht in der Reihenfolge einer Ampel-Signalanlage verdrahtet sind, geht es nur darum, dass die Farbfolgen entsprechend richtig dargestellt werden. Alternativ können aber auch drei auf dem Steckbrett untereinander angeordnete LEDs mit einem Vorwiderstand von je 470 Ohm an die o.g. Ports angeschlossen werden.

Ampelschaltung
Material
  • Laptop oder PC
  • Propeller BoE, Propeller AB (WX), Propeller FLiP sowie ein USB-Kabel
Aufgaben
  • Starte den Browser und rufe die Homepage von BlocklyProp auf.
  • Logge dich mit deiner E-Mail und deinem Passwort ein.
  • Öffne die Registerseite "New project". Gib als Projektnamen "Ampelschaltung", als Board/Device type "Other", als Kurzbeschreibung unter Description "Die Farbenfolge rot - rot/gelb - grün - gelb - rot wird über LEDs angezeigt." ein und wähle bei Sharing die Option "Private". Schließe die Eingabe mit "Finish" ab. Das Editorfenster von BlocklyProp wird geöffnet.
  • Starte das BlocklyPropClient Programm und positioniere die Blockoperatoren im Editorfenster.
  • Setze den PWR-Schalter auf dem Prop BoE in Position 1.
  • Klicke auf den Button "Run Once (load code to RAM)" und starte so das Programm. Die Farbsignalfolge einer Ampel sollte jetzt von den drei angesteuerten LEDs auf dem Board angezeigt werden.

Schaltskizze

Schaltungsaufbau

Abbildung 9a - Ampelschaltung mit Propeller Board of Education. Die LEDs R1, R0, ... sind auf dem Prop BoE nicht farbig zu sehen. Sie wurden in dieser Zeichnung zur Orientierung farbig markiert.
Abbildung 9b - Ampelschaltung mit Propeller FLiP Modul

Das Programm Ampelschaltung

Abbildung 9c - Programm zur Ampelschaltung mit Prop-BoE. Bei einer Beschaltung mit dem Prop-FLiP Modul nach Abb. 9b müssen die Pinnummern geändert werden.

Übung 6 - Taster

Die folgende Übung besteht aus einem Taster und einer LED, die angeht, sobald der Taster gedrückt wird und ausgeht, wenn der Taster nicht gedrückt ist.

Der Schaltungsaufwand bleibt minimal, da die fest verdrahteten LEDs auf dem Parallax Board of Education benutzt werden. Benutzt man ein Parallax Activity Board muss der Schaltkreis aus LED und Vorwiderstand separat auf dem Steckbrett zusammen mit dem Taster aufgebaut werden.

Tasterschaltung
Material
  • Laptop oder PC
  • Propeller BoE, Propeller AB (WX), Propeller FLiP sowie ein USB-Kabel
Aufgaben
  • Starte den Browser und rufe die Homepage von BlocklyProp auf.
  • Logge dich mit deiner E-Mail und deinem Passwort ein.
  • Öffne die Registerseite "New project". Gib als Projektnamen "taster_1", als Board/Device type "Other", als Kurzbeschreibung unter Description "Taster an P7 steuert LED an P9" ein und wähle bei Sharing die Option "Private". Schließe die Eingabe mit "Finish" ab. Das Editorfenser von BlocklyProp wird geöffnet.
  • Starte das BlocklyPropClient Programm und klicke auf den Button "Connect".
  • Übertrage die Blockoperatoren in den Editor und speichere anschließend dein Programm ab.
  • Setze den PWR-Schalter auf dem Prop BoE in Position 1.
  • Klicke auf den Button "Run Once (load code to RAM)" und starte so das Programm. Überprüfe, ob die rote LED leuchtet, sobald der Taster gedrückt wird und erlischt, wenn der Taster nicht betätigt wird.

Schaltskizze

Schaltskizze für den Taster

Schaltungsaufbau

Abbildung 10 - Schaltungsaufbau zu Übung 5

Das Programm taster_1

Über den Umschalt-Button "Code" kann jederzeit von der Darstellung der Blockoperatoren auf den hinterlegten Propeller-C Code umgeschaltet werden.

Abbildung 11 - Der Propeller-C Code zur Blockoperatoren-Darstellung.

In den folgenden Übungen wird mit Hilfe der visuellen Programmieroberfläche BlocklyProp eine Folientastatur programmiert. Interessiert? Dann geht es hier weiter ->

Druckversion | Sitemap
© Reinhard Rahner - Gettorf