Micro:bit Serial im Touch Editor
Ein neuer Mikrocontroller muss immer erst beweisen, dass seine
serielle Schnittstelle funktioniert. Und deshalb habe ich auf der
Micro:Bit Seite nach Beispielen zum Thema Serial gesucht. Ein Script in
Microsoft Touch Development war zu finden, das ich dann so erweitert
habe, dass drei analoge Messwerte übertragen werden. Dann musste noch
der spezielle Treiber installiert werden, damit man eine virtuelle
serielle Schnittstelle am USB hat. Und damit funktioniert es nun. Ein
beliebiges Terminal mit 115200 Baud kann die Messwerte empfangen.
Die entscheidenden Hinweise habe ich in der Dokumentation zur Serial Library gefunden: https://www.microbit.co.uk/td/serial-library.Unter Windows muss man den mbed-Treiber installieren. Genaue Anweisungen dazu gibt es bei mbed: https://developer.mbed.org/handbook/Windows-serial-configuration.
Wenn alles richtig installiert wurde findet man den mbed Serial Port im
Gerätemanager. Zunächst hatte er eine hohe COM-Nummer, die ich dann auf
COM4 geändert habe.
Im
Microsoft Touch Development Editor tippt man normalerweise keinen Text
ein, sondern klickt vorhandene Schlüsselworte an. Am Ende einer
vorhandenen Zeile kann man mit Return eine neue leere Zeile erzeugen.
Dann kommt eine Liste mit Schlüsselwörtern, die die Gruppe eines
gewünschten Befehls benennen. Der Warte-Befehl gehört z.B. in die
basic-Gruppe. Die serial-Gruppe ist zuerst nicht sichtbar und verbirgt
sich hinter Mehr>>.
Klick man dann auf serial, erscheinen die zugehörigen Funktionen. In diesem Fall wird write line gebraucht.
Danach
erwartet der Editor eine Angabe, was gesendet werden soll. Weitere
Schlüsselworte werden nicht vorgeschlagen bzw. sind ausgegraut.
Offensichtlich soll ein Text eingegeben werden. Aber eigentlich will
ich ja einen Messwert vom AD-Wandler senden.
Der hilflose Versuch "pins" einzugeben endet wie zu erwarten damit, dass es als Text interpretiert wird.
Nun
beginnt ein mühsamer Kampf gegen den Editor, der für solche
komplizierten Dinge wohl nicht gedacht ist. Eigentlich bewegt sich
alles auf dem Niveau der Blocks, wo allerdings serial gar nicht erst
angeboten wird. Hier muss man nun das Anführungszeichen vor pins
entfernen, dann geht es weiter. Nun erscheinen die den Pins
zugeordneten Funktionen, darunter auch analog read pin. Damit geht es
weiter. Und dann muss man "to" selbst eingeben, damit die
Typenkonvertierung "to string" vorgeschlagen wird.
Alles
etwas kniffelig, und ohne ein vorhandenes Beispiel hätte ich es nie
herausgefunden. So aber steht nun die serielle Schnittstelle zur
Verfügung, mit der man beliebige Messwerte übertragen kann. Eine
externe Spannung messen ist nun kein Problem. Man kann einfach mit
Krokoklemmen an die Anschlüsse gehen.
Ob Microsoft
Touch Development das Werkzeug meiner Wahl wird, weiß ich noch nicht.
Es hatte aber immerhin den Vorteil, dass man einfache Programme aus den
Blocks
konvertieren kann. Damit wurde der Start erleichtert. Mal sehen,
vielleicht ist Python besser für mich geeignet, weil ich ja schon auf
dem Raspberry damit gearbeitet habe. Oder am Ende vielleicht sogar Mbed.
Elektronik-Labor Projekte AVR