CALLIOPE Programmierumgebungen auf dem PC

MakeCode Editor

Was ist ein Editor?

Ein Editor ist ein Programm auf dem PC (Personal Computer). Mit einem Editor benutzt der Mensch Bildschirm, Tastatur und Maus, um einen Text zu schreiben und als Datei zu speichern. Ein gespeicherter Text kann später wieder geöffnet und weiter bearbeitet werden. Mit einem Editor kann man also eine Datei nicht nur angucken, sondern selbst aktiv etwas verändern oder ganz neue Dateien schreiben.

Ein bekannter Editor ist Word. Damit können Texte auch formatiert werden, damit sie schön aussehen. Ein Programm-Text - auch Code genannt - soll aber nicht vom Mensch gelesen werden. Code wird vom Computer abgearbeitet. Dazu muss der Code ohne Syntax-Fehler sein.

Um den CALLIOPE mini zu programmieren, wird ein Block-Editor verwendet. Die einzelnen Anweisungen (Befehle) werden auf dem Bildschirm mit der Maus zusammengesteckt wie Lego Bausteine. Durch die Programmierung mit Blöcken können keine Syntax-Fehler passieren. Weil ein Computer keine Bilder abarbeiten kann, wird im Hintergrund eine Text-Datei mit dem Programm-Code erzeugt.

Mit dem Block-Editor wird der Code in einer Text-Datei gespeichert. Die Datei hat die Endung .hex und wird deshalb .hex-Datei genannt. Die .hex-Datei muss dann noch vom PC auf den CALLIOPE kopiert werden. Das funktioniert wie bei einem USB-Stick, aber nur in einer Richtung. Vom CALLIOPE kann keine Datei auf den PC zurück kopiert werden. Es ist deshalb wichtig, die mit dem Editor geschaffenen Programme auch auf dem PC zu speichern.

CALLIOPE Programmierumgebungen auf dem PC

Um CALLIOPE zu programmieren, brauchen wir also den PC mit einem geeigneten Editor. Die Editoren für CALLIOPE sind unter CALLIOPE-Editoren zu finden und werden auch PROGRAMMIERUMGEBUNGEN genannt. Mit den aktuellen Web-Browsern ist es nicht mehr erforderlich, den Editor auf dem PC zu installieren. Die CALLIOPE-Editoren werden über das Internet im Webbrowser geöffnet, für die Programmierung ist dann eigentlich keine Internetverbindung erforderlich. So hat man beim Starten immer die neueste Version. Das kann gut sein, muss aber nicht. Die Bedienung kann plötzlich anders funktionieren oder es sind neue Fehler drin.

Ein Vorteil von Online ist, dass man nur draufklicken muss, und dann kann man es sofort benutzen. Man kann die CALLIOPE-Editoren alle mal ausprobieren. Auf dieser Webseite und im GTA wird ausschließlich MakeCode benutzt. Als Webbrowser wird Microsoft Edge empfohlen, weil MakeCode auch von Microsoft ist.

CALLIOPE Editor "MakeCode"

MakeCode

So sieht "MakeCode" aus, wenn man es über den Link makecode.calliope.cc startet. Vorher muss man auf Neues Projekt klicken und einen Name eingeben. Der Name hat den Zweck, dass der Programmierer später seine Datei mit dem Projekt wieder findet. Der Name kann unten in der Textbox geändert werden.

CALLIOPE Simulator

Mit der Maus holt man aus den bunten Blöcken in der Mitte die Programmier-Anweisungen und baut sie rechts in dem freien Platz zusammen. Der entstandene Code wird unmittelbar links in dem Bild vom CALLIOPE simuliert. Man kann Zeichen und Muster in den 25 roten Leuchtdioden anzeigen, die RGB-LED anschalten, die Tasten A und B mit der Maus drücken, über den PC Lautsprecher Töne hören und anderes.

Mit dem Simulator im Editor ist es also möglich, zu programmieren und das Ergebnis zu sehen, ohne einen CALLIOPE mini zu besitzen.

Das Projekt später (auf einem anderen PC) mit "MakeCode" wieder öffnen.

Oben unter dem Menüpunkt Startseite merkt sich "MakeCode" die zuletzt bearbeiteten Programme. Nach dem Starten von MakeCode im Webbrowser kommt man dort direkt in die zuletzt bearbeiteten Projekte. Das Wiederfinden funktioniert aber nur auf dem selben PC und ist eher unsicher. Auf Computern in der Schule kann man sich nicht darauf verlassen.

Über Startseite - Importieren (kleiner grauer Button rechts unter dem großen Bild) kann man eine zuvor gespeicherte .hex-Datei zum Öffnen auswählen. Diese kann auch von einer anderen Person, einem anderen PC, einem USB-Stick oder aus dem Internet stammen.

WICHTIG: Es funktioniert nur mit dem Editor "MakeCode", dass man eine .hex-Datei als Projekt wieder laden kann, und dann die ursprünglichen Blöcke wieder angezeigt werden um daran weiter zu programmieren!

Und es funktioniert nur mit .hex-Dateien, die von "MakeCode" auch gespeichert wurden. Andere Editoren z. B. "Open Roberta Lab" erzeugen auch .hex-Dateien, um sie auf den CALLIOPE zu kopieren. Diese können aber von keinem Editor als Projekt geöffnet werden. Mit "Open Roberta Lab" muss man Projekte anders (nämlich als .xml-Datei) speichern, um damit später weiter zu programmieren.

Das Programm als .hex-Datei auf dem PC speichern.

Man schreibt zuerst einen Name für das Programm unten in die Textbox und klickt dann rechts daneben auf den grünen Button mit der Diskette. Der große Button Herunterladen geht auch, dann wird noch kurz ein Hinweis angezeigt, was man machen soll.

Jetzt funktioniert das genau so wie immer, wenn man mit dem Webbrowser eine Datei aus dem Internet herunterladen will. Manche Browser fragen nicht und speichern die Datei in dem dafür bestimmten Verzeichnis. Meistens ist das "Downloads". Vielleicht öffnet sich das Verzeichnis danach und man sieht die Datei "mini-leeres-Projekt.hex".

Wenn in den Einstellungen vom Webbrowser "Bei jedem Download nach dem Speicherort fragen" angeschaltet ist, kommt die Frage: "Wie möchten Sie mit "mini-leeres-Projekt.hex" verfahren?" Öffnen oder Speichern unter? Mit "Öffnen" könnte man sich den Inhalt der .hex Datei ansehen. So kommt sie aber nicht auf den CALLIOPE. Mit "Speichern" kommt sie wahrscheinlich in den oben genannten Ordner "Downloads". Mit "Speichern unter" kann man den Speicherort selbst wählen. Es ist sinnvoll, für die CALLIOPE Programme einen eigenen Ordner (auf der Festplatte, einem USB-Stick oder im Netzwerk) anzulegen, um sie wieder zu finden.

Die .hex-Datei vom PC auf den CALLIOPE kopieren.

Jetzt ist der Zeitpunkt, den CALLIOPE mit dem USB-Kabel an den PC zu stecken (vorher die Batterie ausschalten!). Dann müsste im Datei-Manager ein neues Laufwerk z. B. "MINI (E:)" zu sehen sein. In dieses Laufwerk muss die .hex Datei einfach nur rein kopiert werden. (Bitte nicht verschieben, dann ist sie weg!) Ordner sind dort nicht vorhanden und nicht zu beachten. Wenn man auf die zuvor gespeicherte .hex-Datei mit der rechten Maustaste klickt, kann man in dem Menü "Senden an" direkt "MINI (E:)" finden und drauf klicken. Die Datei wird in das Laufwerk "MINI", was der CALLIOPE ist, kopiert.

Das Programm als .hex-Datei direkt auf den CALLIOPE herunterladen, ohne zu speichern.

Wenn "Speichern unter" möglich ist, kann die .hex-Datei direkt auf den angesteckten CALLIOPE heruntergeladen werden. Dann ist sie aber weg. Das geht zwischendurch schneller, man sollte aber nicht vergessen, sie am Ende doch einmal auf dem PC zu speichern.

Im Computerkabinett sind keine Computer, sondern Thin-Clients.

Ein Thin-Client hat Bildschirm, Tastatur, Maus und macht damit eine Session auf dem Terminal-Server. Es kann sein, dass es zwar USB-Buchsen gibt, um Tastatur und Maus anzustecken, aber ein USB-Stick funktioniert daran nicht. Es ist also nach dem anstecken des CALLIOPE mit dem USB-Kabel kein Laufwerk "MINI (E:)" vorhanden. In öffentlichen Computerkabinetten kann die Funktion USB-Laufwerk auch aus Sicherheitsgründen verboten sein.

Mit dem Webbrowser kann man "MakeCode" und die anderen Editoren aber trotzdem benutzen. Darin funktioniert vielleicht sogar der Simulator. Die .hex-Datei sollte dann im Netzwerk gespeichert werden (das ist ein Laufwerksbuchstabe, auf den alle Computer zugreifen können).

Es wird mindestens ein richtiger PC im Netzwerk gebraucht, an den der CALLIOPE mit dem USB-Kabel angesteckt wird. Aus dem Netzlaufwerk kann nun die mit dem Thin-Client gespeicherte .hex-Datei auf den CALLIOPE kopiert werden.

Aufgabe in einem eigenen Fenster anzeigen

Aufgabe Programmieren

1. Suche in Windows den Editor (notepad.exe) und öffne damit eine .hex-Datei, in der ein Programm für den CALLIOPE gespeichert ist. Der Text in einer .hex-Datei sieht ungefähr so aus:

:020000040000FA
:10000000C0070000D1060000D1000000B1060000CA
:1000100000000000000000000000000000000000E0
:100020000000000000000000000000005107000078
:100030000000000000000000DB000000E500000000
:10004000EF000000F9000000030100000D010000B6
:1000500017010000210100002B0100003501000004
:100060003F01000049010000530100005D01000054
:1000700067010000710100007B01000085010000A4
:100080008F01000099010000A3010000AD010000F4
:10009000B7010000C1010000CB010000D501000044
:1000A000DF010000E9010000F3010000FD01000094
:1000B00007020000110200001B02000025020000E0
:1000C0001FB5C046C04600F0EFFA04B00FB41FBD24
:1000D00008205A49096809580847382057490968CB
:1000E000095808473C2055490968095808474020E5
:1000F0005249096809580847442050490968095875
:10010000084748204D490968095808474C204B4981

Das CALLIOPE-Programm besteht aus Bytes, die in HEXADEZIMAL-Schreibweise dargestellt sind. Zwei Zeichen ergeben immer ein Byte. In der Datei sind zwar viele Zeichen, aber nicht viele verschiedene. Außer dem Doppelpunkt am Anfang jeder Zeile gibt es genau 16 verschiedene Zeichen.

2. Finde alle 16 Zeichen in dem oberen Ausschnitt oder in der Datei, die du in Aufgabe 1 geöffnet hast.

3. Schreibe diese Zeichen in geordneter Reihenfolge in die Textbox, zuerst die Ziffern 0 bis 9, danach die Buchstaben. Es dürfen keine Leerzeichen dazwischen sein.

4. Die 1. Zeile ist kürzer, sie hat (ohne den Doppelpunkt) 14 Zeichen "020000040000FA". Ein einzelnes Zeichen nennt man Ziffer oder HEX-DIGIT. Wenn 2 Ziffern zusammen immer ein Byte ergeben, wie viele Bytes stehen dann in der 1. Zeile? Schreibe die Anzahl der Bytes in die Textbox!

Theoretisch kann man Bytes schreiben, um zu programmieren. Praktisch gibt es dafür Programmiersprachen. CALLIOPE kann man auch mit JavaScript programmieren.

basic.forever(function() {
    basic.showLeds(`
        . . . . .
        . # . # .
        . . . . .
        # . . . #
        . # # # .
        `)
    basic.showLeds(`
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        `)
})

Das ist das Programm-Beispiel in JavaScript-Ansicht, wenn man in MakeCode die Anleitung Blinkendes Herz abgearbeitet hat. Man kann schon erkennen, was das Programm vielleicht macht. Weil man Kindern JavaScript nicht zumuten wollte, wurden die BLÖCKE erfunden. Damit kann nun wirklich jeder mit der Maus ein Programm zusammen schieben - und im Hintergrund macht der Editor für uns JavaScript und am Ende HEX-Ziffern daraus.

5. Öffne in MakeCode das Projekt Blinkendes Herz und schalte von der Ansicht "Blöcke" in die Ansicht "JavaScript" um.

6. Schalte zurück auf "Blöcke", ändere etwas am Code, schalte wieder auf "JavaScript" und vergleiche.

7. Du kannst auch im JavaScript Punkte durch Doppelkreuze ersetzen und dann sehen welche Leuchtdioden blinken. Wenn das ohne Syntaxfehler funktioniert, kannst Du erzählen, dass Du Programmcode geschrieben hat!

Kontakt und Impressum