Aus Raspberry Pi Geek 10/2019

Der BBC Micro:bit für Schüler und Elektronik-Einsteiger (Seite 3)

Abbildung 5: Ausgabe der Helligkeit im REPL-Command-Fenster des Mu-Editors.

Abbildung 5: Ausgabe der Helligkeit im REPL-Command-Fenster des Mu-Editors.

Aus Listing 1 kennen Sie den Gerätenamen für die serielle Schnittstelle, in unserem Fall ttyACM3. Die Befehle aus Listing 4 leiten die Ausgabe des Micro:bit in das Terminalfenster um. Der Befehl cat gibt den Helligkeitswert als Dezimalzahl aus, od -x liefert ihn als Hexadezimalzahl (Abbildung 6).

Listing 4

$ cat /dev/ttyACM3
$ od -x < /dev/ttyACM3
Abbildung 6: So pr&auml;sentiert sich die Ausgabe der vom Micro:bit produzierten Daten im Terminalfenster.

Abbildung 6: So präsentiert sich die Ausgabe der vom Micro:bit produzierten Daten im Terminalfenster.

Hex-Datei

Der Mu-Editor konvertiert den Programmcode in eine sogenannte Hex(adezimal)-Datei. Trennt man vor dem Flashen die Verbindung zum Micro:bit, gibt der Editor den Zugriff auf die Datei frei und fragt nach, wo er sie ablegen soll.

Die Datei besteht zum einen aus einem 8 KByte großen MicroPython-Interpreter. Bei MicroPython handelt es sich um einen reduzierten Python-Befehlssatz, der sich in den Grundfunktionen wie ein richtiges Python anfühlt. Zum anderen enthält der Code die Byte-Sequenz des Programms, die der MicroPython-Interpreter dann ausführt. Zu guter Letzt enthält der Hex-Code auch eine komprimierte Fassung des eigentlichen Programmtexts samt Kommentaren.

Anders als der Name vermuten lässt, handelt es sich bei der Hex-Datei zunächst um eine Textdatei: Die Adresse und Bytes sind als Text ausgeschrieben (Listing 5). Das File schrumpft deshalb, sobald das System den ASCII-Text in Binärzahlen umwandelt. Das erklärt, warum die Hex-Datei mit mehr als 500 KByte in den Micro:bit-Speicher mit einer Speicherkapazität von 256 KByte passt.

Listing 5

:020000040000FA
:1000000000400020218E01005D8E01005F8E010006
:1000100000000000000000000000000000000000E0
[...]

Das Flashen des Micro:bit über einen angeschlossenen Rechner ist elegant gelöst: Das Modul meldet sich als USB-Stick im Dateisystem des Rechners an, sodass es genügt, die Hex-Datei dorthin zu kopieren. Erkennt der Micro:bit das Format, wandelt er den Inhalt in eine Byte-Sequenz und schreibt diese sofort in den Flash-Speicher des Mikrocontrollers. Andernfalls verbleibt die Datei im USB-Speicher, wie bei einem normalen Speicherstick.

Zwar überschreibt jedes Flashen die alten Daten, doch beim Abklemmen der Spannungsversorgung bleiben sie erhalten. Der Micro:bit führt das einmal aufgespielte Programm aus, sobald Sie das Modul wieder mit Strom versorgen.

Ausblick

Zwar ist die MicroPython-Software ausführlich dokumentiert [4], nicht aber die Hardware des Micro:bit. Vermutlich sind die Ausgänge kurzschlussfest, möglicherweise begrenzen sie auch den Strom auf 10 oder 90 mA. Darüber finden sich aber keine belastbaren Aussagen. Deshalb sollten Sie beispielsweise Leuchtdioden nur über einen Schutzwiderstand anschließen.

Der Mikrocontroller verfügt intern über eine breite Palette von Interfaces, er beherrscht neben I2C, SPI, LIN sowie UART auch USB und USB OTG. Viele der 23 Ein-/Ausgänge wurden auch nach außen geführt, allerdings nur als einfache Platinensteckkontakte, die Sie nur über einen Spezialstecker nutzen können.

Das von der Calliope gGmbH betreute deutsche Projekt Calliope Mini [5] sieht sich als Weiterentwicklung des Micro:bit. Schaltpläne und Software des Calliope Mini stehen als Open Hardware beziehungsweise Open Source zur freien Verfügung, daneben gibt es mehrere Anleitungen als Open Educational Resources.

Das Board verfügt über zusätzliche Sensoren wie Mikrofon und Lautsprecher sowie über vier I/O-Kontakte für Krokodilklemmen statt drei wie beim Micro:bit. In der Größe des Speichers unterscheiden sich beide Module nicht. Alle weiteren Interface-Kontakte führen die Calliope-Entwickler über einen leicht zugänglichen Pfostenstecker nach außen.

Fazit

Der BBC Micro:bit folgt einem wohl durchdachten Konzept, um Anfänger zielgerichtet an die Programmierung von Mikrocontrollern heranzuführen und ihnen den Umgang mit modernen Hochsprachen wie Python beizubringen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben