Page tree
Skip to end of metadata
Go to start of metadata
Inhalt

> Home

Inhalt:

Die Programmierung mit NEPO® folgt einem einfachen Prinzip. Die Blöcke werden miteinander verbunden und (vom Roboter) entsprechend ihrer Reihenfolge ausgeführt. Dieses Prinzip wird »sequenzielle Ausführung« genannt. Nur Blöcke, die miteinander verbunden sind, werden bei der Programmausführung berücksichtigt. Die Blöcke, die miteinander und mit dem »Start«-Block verbunden sind, werden auch Sequenz oder »Task« genannt.

Um Blöcke miteinander verbinden zu können haben sie Sequenzverbindungen und/oder Konnektoren. Je nach der Funktionsweise eines Blocks kann die Anzahl der Konnektoren variieren.

Die Programmierung mit NEPO ist sehr einfach. Jedes Programm beginnt mit dem »Start«-Block, der je nach verwendetem System (EV3, Calliope, ...) leicht unterschiedlich aussehen kann.

Dieser Block ist immer im Open Roberta Lab vorhanden. Den ersten Block, den man verwenden möchte, verbindet man direkt mit der  »Sequenzverbindung« am »Start«-Block. Sequenzverbindung bezeichnet das Dreieck am unteren Ende des Blocks. Dieses Dreieck wird gelb markiert sobald ein geeigneter Block in seiner Nähe ist.



Dein erstes Programm - Hallo Roberta!

Schreiben wir nun unser ersten Programm am Beispiel des Calliope Mini. Hallo Roberta funktioniert auf den meisten Robotersystemen analog. Dieses Programm soll auf dem Calliope-Display »Hallo Roberta« ausgegeben.

  • Als Erstes nehmen wir den »Zeige Text«-Block aus der Kategorie »Aktion«. Wir ändern den Text, indem wir einfach in das vorgegebene »Hallo« klicken und unseren Text hineinschreiben.
  • Das Programm ist schon fertig!



Ein Programm auf dem Roboter starten

Klicke einfach auf den Start-Knopf in der rechten unteren Ecke deines Programmfensters. Dein Programm wird nun in Maschinencode übersetzt und an den Roboter gesendet.

  • Dein Roboter zeigt an, dass ein Programm übertragen wird, z.B. indem eine Statusleuchte blinkt oder ein Logo angezeigt wird. Das ist je nach Roboter unterschiedlich.
  • Das Programm wird automatisch auf dem Roboter gestartet. (Zwinkern)

Du kannst das Programm auch vom Menü aus starten: »Bearbeiten → starten«.

Hinweis: Die rechts im Bild angezeigte Videosequenz zeigt, wie ein Programm auf einem Calliope Microboard gestartet wird.



NEPO®

NEPO - so nennen wir unsere grafische Programmiersprache. Diese ist einzigartig, weil sie zum einen viel leichter als andere Programmiersprachen zu erlernen ist, und zum anderen auch für die Programmierung unterschiedlicher Roboter-Systeme genutzt werden kann.

Vielleicht kommt dir NEPO bereits bekannt vor. Bei der Konzeption von NEPO haben wir uns von bereits vorhanden Konzepten wie beispielsweise scratch und blockly inspirieren lassen.

Die grafischen NEPO-Blöcke haben unterschiedliche Komponenten und damit auch unterschiedliche Eigenschaften. Ein Block hat immer eine bestimmte Funktionalität, die zu allererst durch seine Zuweisung in eine Kategorie, z.B. »Sensoren«, erkannt werden kann. Weitere Eigenschaften der grafischen Blöcke sind:





Auswahlmenü

Im Auswahlmenü kann zwischen verschiedenen Funktionalitäten gewählt werden, z.B. im Block »Fahre« zwischen vorwärts und rückwärts.




Sequenzverbindung

Mit der Sequenzverbindung werden die Blöcke miteinander verbunden. Das Programm besteht aus allen miteinander verbundenen Blöcken. Die Blöcke werden entsprechend ihrer Reihenfolge - von oben nach unten - ausgeführt. Ein NEPO-Block kann mehrere Sequenzverbindungen haben wie die untere Grafik zeigt. Wir haben diese mit 1, 2 und 3 markiert.





Parameter

Input - Parametereingabe

Je nach Block können verschiedene Werte an einen Block übergeben werden. Den Typ des Wertes erkennt man an den farbigen Verbindungen eines Blocks, auch »Konnektoren« genannt. Welche Werte ein Block haben kann, siehst du im Absatz »Block-Kategorie«. Nur wenn die Farben des Input- und des Output-Konnektors übereinstimmen, können diese Blöcke miteinander verbunden werden. In der Grafik unten sind die Input-Konnektoren mit "b" und "c" markiert


Output - Rückgabeparameter

Ein Block kann gegebenenfalls auch einen Wert (immer nur einen!) an einen anderen Block übergeben. Diese Blöcke haben farbige Output-Konnektoren. Nur wenn die Farben des Input- und des Output-Konnektors übereinstimmen können diese Blöcke miteinander verbunden werden. In der Grafik unten ist der Ouput-Konnektor mit "a" markiert.





Kontextmenü

Durch Rechtsklick auf einen Block kann das Kontextmenü für diesen aufgerufen werden.

Mit Hilfe des Kontextmenüs können je nach Block verschiedene Aktionen ausgeführt werden:

  • Kopieren (kopiert den Block und alle angehängten Blöcke)
  • Kommentar hinzufügen (fügt dem Block einen Kommentar hinzu)
  • Interne Eingänge (Ändert die Darstellung des Blocks)
  • Block zusammenfalten (Minimiert den Bock)
  • Block deaktivieren (Deaktiviert den Block, so dass dieser im Programm nicht berücksichtigt wird)
  • Block x löschen (Löscht den Block und alle angehängten Blöcke)





Datentypen

Es gibt insgesamt sechs Input- und Output-Typen bei NEPO. Diese Typen können folgende Werte annehmen:

  1. Logischer Wert (hellblau)
  2. Zahl (dunkelblau)
  3. Zeichenkette/Text (grün)
  4. Farbe (gelb)
  5. Liste (lila)

  6. Verbindung (pink)
  7. Bild (magenta)


Der Typ »Liste« kann selbst die ersten vier anderen Wertetypen beinhalten.

 




Block-Kategorien

Unter einer Block-Kategorie wird die Ansammlung von Blöcken verstanden, die ähnliche Funktionsweise haben. Zum Beispiel enthält die Block-Kategorie »Sensoren« alle Blöcke zum Programmieren der verfügbaren Sensoren.

Das Open Roberta Lab bietet zwei Auswahlmöglichkeiten, die zur besseren Übersichtlichkeit bei der Auswahl vorhandener Blöcke dienen soll:

  • Anfänger
  • Experte

Die Auswahl »Anfänger« ist die Standardauswahl. Diese Kategorie beinhaltet die wesentlichen Programmblöcke, die für die Programmierung eines Roboter am wichtigsten sind.
Die Auswahl »Experte« beinhaltet zum einen zusätzlich die Block-Kategorien »Listen«, »Funktionen« und »Nachrichten« und zum anderen zusätzliche Programmblöcke in den anderen Block-Kategorien.

NEPO bietet folgende elf Block-Kategorien:

Block-KategorieAnfängerExperte
  • Aktion
xx
  • Sensoren
xx
  • Kontrolle
xx
  • Logik
xx
  • Mathematik
xx
  • Text
xx
  • Listen

x
  • Farben
xx
  • Bilder
xx
  • Variablen
xx
  • Funktionen

x
  • Nachrichten

x


Die Beschreibung der Blöcke und die zur Verfügung stehenden Einstellungsmöglichkeiten beziehen sich auf das ausgewählte Robotersystem. Es wird folgendes Schema zur Beschreibung verwendet:

Einstellungsmöglichkeiten:

  • Funktionsweise
  • Aufzählung der zur Kategorie gehörenden Blöcke
  • Beschreibung der einzelnen Blöcke
  • Einstellungsmöglichkeiten der Blöcke






Blockbeschreibung

Die einzelnen Blöcke und deren Beschreibung findest du, nach Kategorien geordnet  hier.

Pro Block sind dessen Funktion, Einstellmöglichkeiten, sowie Eingabe- und Ausgabewerte detailliert beschrieben.

  • No labels