4. Programmierung

In diesem Teil lernst du Bittle zu programmieren. Aufgeregt? 🤯

Um den Roboterhund zu programmieren, verwendest du die Codescraft-Software. Die Schnittstelle sieht so aus,

../../_images/codecraft_ui_guide1.png

Fig. 4.13 Codecraft UI (Benutzeroberfläche)

Zum Programmieren kannst du den Blockkatalog öffnen und einen Block in den Arbeitsbereich ziehen. Gehe die folgende Anleitung durch, damit du mit dem Programmieren beginen kannst.

4.1. Roboter mit PC verbinden

Um das Programm auf dem Roboter hochzuladen, musst du Bittle an einen PC anschließen. Du benötigst folgende Dinge:
  • Roboterhund

  • USB-Kabel

  • USB-Anschluss für Roboter (USB-TTL-Konverter)

Folge den unteren Schritten:
  1. Entferne die Abdeckung des Roboters.

    ../../_images/body_and_cover1.png

    Fig. 4.14 Körper und Deckel.

  2. Stecke die Micro-USB-Seite des Kabels in den USB-Stecker und verbinde den USB-Stecker mit dem Roboterhund.

    ../../_images/usb_connect1.jpg

    Fig. 4.15 USB Verbindung.

  3. Verbinde das andere Ende des USB-Kabels mit dem PC.

  4. Unter dem Hund befindet sich ein kleiner Knopf. Halte den Knopf einige Sekunden lang gedrückt, bis ein blaues Licht neben dem Knopf leuchtet. So wird der Roboter eingeschaltet.

    ../../_images/battery_button.png

    Fig. 4.16 Batterietaste ein- und ausschalten

  5. Öffne die Codecraft-Software über die Taskleiste.

    ../../_images/codecraft_icon.jpg

    Fig. 4.17 Codecraft icon (Symbol)

  6. Wähle Bittle in der Hardwareauswahl aus.

    ../../_images/codecraft_ui_bittle.png

    Fig. 4.18 Bittle icon im Codecraft

  7. Klicke auf der linken Seite auf die Schaltfläche Verbinden. Wähle dein Gerät aus der Liste aus und bestätige mit OK.

    ../../_images/connect_test.png

    Fig. 4.19 Verbindungstest.

  8. Du siehst ein Pop-Up-Fenster, das die Verbindung bestätigt. Wenn nicht, dann wende dich an einen Betreuer.

    ../../_images/connect_success.png

    Fig. 4.20 Verbindung erfolgreich.

Sehr gut, der Hund ist mit dem Programm verbunden! Lies dir noch kurz eine Einleitung zu den Blöcken durch, dann kannst du mit dem Programmieren beginnen.

4.2. Programmierung mit Bausteinen:

Um den Roboter zu programmieren werden Blöcke verwendet. Blöcke haben verschiedene Formen und Farben. Hinter den Blöcken sind einzelne Code-Schnipsel. Der PC verwendet ein anderes Programm, um die einzelnen Schnipsel zu einem Programm zu fügen und auf den Roboter hochzuladen. Die Blöcke sind also nur eine Hilfestellung um dir das Programmieren zu erleichtern.

4.2.1. Blockformen

Es gibt fünf verschiedene Blockformen in Codecraft:
  • Kopfblock ( Hat Block )

  • Stapelblock ( Stack Block)

  • Boolescher Block ( Boolean Block )

  • Reporter-Block ( Reporter Block )

  • C-Block

../../_images/codecraft_block_guide1.png

Fig. 4.21 Codecraft-Blockanleitung.

Beschreibung:
  1. Kopfblock: Dies sind die Blöcke, die jedes Skript starten. Der Rest der Blöcke sollte am Kopfblock befestigt werden. Bitte beachte, dass verschiedene Kopfblöcke jeden Programmcode auf unterschiedliche Weise starten.

  2. Stapelblock: Diese Blöcke führen die Hauptbefehle aus. Sie sind oben mit einer Kerbe und unten mit einer Erhebung geformt, damit viele Stapelblöcke aufeinander gestapelt werden können.

  3. Boolescher Block: Sie können in entsprechenden sechseckigen Löchern platziert werden und können nicht ohne einen passenden anderen Block verwendet werden. Mit Boolean ist eine Bedingung (wahr oder falsch) gemeint. Erinnere dich an das Beispiel mit der Straßenkreuzung. Hier wurden auch boolsche Bedingungen verwendet, um eine Entscheidung zu finden.

  4. Reporter-Block: Reporter-Blöcke können überall dort platziert werden, wo Daten benötigt werden. Du kannst sie wie die Booleschen Blöcke nicht einzeln verwenden. Wenn es einen Steckplatz gibt, der einem Reporterblock entspricht, kann er nach Bedarf platziert werden. Reporter-Blöcke können Zahlen und Zeichenfolgen enthalten.

  5. C-Block: Diese Blöcke haben die Form eines „C“. Diese Blöcke wiederholen die Anweisungen innerhalb des Cs solange, wie ihre Bedingung wahr ist. Die Bedingung kann am Anfang oder an Ende des Blocks stehen und wird von dir festgelegt. Du könntest dem Hund zum Beispiel mit dem C-Block die Anweisung geben: “Laufe solange gerade aus, bis ich eine Taste auf der Fernbedienung drücke.”

🥱 Ein letzter Abschnitt, dann kannst du endlich mit Bittle spielen.

4.3. Katalog 📚

Es gibt etwa 10 Kataloge, in denen die Blöcke nach ihrer Anwendung unterteilt sind. Die wichtigsten Kataloge sind:
  • System: Enthält Blöcke wie Setup & Loop, Buzzer-Blöcke und andere integrierte Hardware-Blöcke. Du brauchst diese Blöcke zum Starten des Programms.

  • Skill: Enthält Blöcke mit vordefinierten Fertigkeiten wie Gehen, Sitzen, Liegestütze und vieles mehr.

  • Control: Enthält Blöcke, die bei der Entscheidungsfindung helfen. Dies kann ein if-else-Block, ein C-Block oder ein Programmendblock sein.

Du kannst auch gerne die anderen Kategorien erkunden.

Es gibt einen wichtigen Block. Es ist ein spezieller Block, der nur einmal in einem Programm verwendet wird.

Es heißt Setup & Loop Block. Du findest ihn im Systemkatalog. Dieser Block besteht wie im Namen aus 2 Teilen, Setup und Loop.
  • Der Setup-Teil führt die darin enthaltenen Blöcke nur einmal aus. Dies kann verwendet werden, um Startmelodien abzuspielen. So kannst du dem Benutzer mitteilen, dass der Roboter gestartet ist.

  • Der Loop-Teil führt die darin enthaltenen Blöcke wiederholt aus. Die Reihenfolge der Ausführung ist von oben nach unten.

Wenn du mehrere Setup & Loop Blöcke in deinem Programm hast, dann funktioniert dein Programm nicht wie gewünscht.

Jetzt kannst du mit dem Programmieren beginnen. Hier sind ein paar Aufgaben.