|
|
Zeile 77: |
Zeile 77: |
| * MicroPython, ein Python Interpreter | | * MicroPython, ein Python Interpreter |
| * mbed C++ | | * mbed C++ |
− |
| |
− |
| |
− | Veröffentlicht am 24. Oktober 2016 von Peter
| |
− | Der BBC micro:bit – Teil 1: erste Eindrücke
| |
− |
| |
− | Der micro:bit ist ein Mikrocontroller Projekt für Schulen, entwickelt unter der Federführung der BBC. Nachdem 1 Million davon kostenlos an britische Schüler verteilt wurden, gibt es den Mikrocontroller seit einigen Wochen auch für normale Endanwender zu kaufen. Zeit für eine Einführung, was in dem kleinen Kerl steckt.
| |
− | Bezugsquellen
| |
− |
| |
− | In Deutschland ist der micro:bit derzeit noch nicht zu bekommen, aber britiche Online Shops liefern auch nach Deutschland. Dank des niedrigen £ und (noch) zollfrei sind die Sachen innerhalb einer Woche in Deutschland. Zu den Shops zählen:
| |
− |
| |
− | Pimoroni 13 £ für den micro:bit zzgl. 4 £ Versandkosten
| |
− | Kitronik 15 £ für den micro:bit
| |
− |
| |
− | Dem micro:bit Board, das es in mehreren Farben gibt, liegt noch ein kurzes Micro-USB Kabel und ein Batteriefach mit 2 AAA Zellen bei. Somit kann man sofort loslegen.
| |
− | Hardware
| |
− |
| |
− | Auf dem Micro:Bit werkelt zwei ARM Cortex M0 CPUs, der Haupt Prozessor ist von Nordic Semiconductor, der nRF51822. Als USB Controller kommt ein NXP ARM Cortex M0 der Kinetis KL26 Serie zum Einsatz.
| |
− | Im Gegensatz zu anderen Boards wie dem Arduino stecken auf dem Basisboard bereits eine Reihe an Sensoren und Aktoren.
| |
− | Hardware Übersicht
| |
− |
| |
− | ARM Cortex M0 CPU, 16MHz, 16kB RAM, 256kB Flash, Nordic nRF51822
| |
− | 3-Achsen Beschleunigungssensor NXP MMA8653
| |
− | elektonischer Kompass NXP MAG3110
| |
− | 2 Taster
| |
− | 5×5 LED Matrix (rot, dimmbar)
| |
− | Lichtsensor (über die LEDs der LED Matrix
| |
− | Temperatursensor
| |
− | Bluetooth BLE 4.0
| |
− | USB Controller (seriell, Massenspeicher) ARM Cortex M0+ CPU, 128kB Flash, NXP MKL26Z128VFM4 (M26H7V)
| |
− | SPI über den Erweiterungs Port
| |
− | I2C über den Erweiterungs Port
| |
− | 6..17 IO Pins (je nach Anwendung) über den Erweiterungs Port, 6x Analog, 17x Digital, 3x Touch (ähnlich dem Makey Makey)
| |
− |
| |
− | IMG_5892.JPG
| |
− |
| |
− | IMG_5891.JPG
| |
− |
| |
− | Der Erweiterungs Stecker ist leider nicht sehr bastelfreundlich ausgelegt. Über 4mm Bananenstecker bzw. Krokoklemmen sind nur 3 IO Pins erreichbar dazu 3V und GND. Das reicht für einfache Experimente. Wer mehr möchte sollte bei der Bestellung gleich das Edge Connector Breakout Board mit bestellen oder eines der vielen Experimentiert Kits . Ich habe mich für das Prototyping Kit entschieden.
| |
− | Pin Belegung
| |
− |
| |
− | Die Pin Belegung des Erweiterungs Port:
| |
− | xdossmmf.jpg
| |
− |
| |
− | Quelle: microbit.co.uk
| |
− |
| |
− | Wie man sieht, sind nicht alle 17 IO Pins verfügbar. Einige sind schon durch die LED Matrix und Taster belegt. So bleiben letztendlich je nach Anwendung nur 6 bis 17 Ports zur freien Verwendung. Dazu kommen noch die beiden Pins des I2C Bus dazu. Das sollte für viele Anwendungen ausreichend sein. Ansonsten gibt es diverse Port Expander ICs für I2C und SPI.
| |
− | Einträge anzeigen
| |
− | Suchen:
| |
− | Pin Funktion Sonderfunktion Besonderheiten
| |
− | P0 analog, digital, touch für Krokoklemmen, 4mm Bananenstecker
| |
− | P1 analog, digital, touch für Krokoklemmen, 4mm Bananenstecker
| |
− | P2 analog, digital, touch für Krokoklemmen, 4mm Bananenstecker
| |
− | P3 analog in LED Col. 1
| |
− | P4 analog in LED Col. 2
| |
− | P5 digital Button A
| |
− | P6 digital LED Col. 9
| |
− | P7 digital LED Col. 8
| |
− | P8 digital
| |
− | P9 digital LED Col. 7
| |
− | P10 analog in LED Col. 3
| |
− | P11 digital Button B
| |
− | P12 digital
| |
− | P13 digital, SCK SPI Takt
| |
− | P14 digital, MISO SPI Data In
| |
− | P15 digital, MOSI SPI Data Out
| |
− | P16 digital
| |
− | P19 SCL I2C Takt
| |
− | P20 SDA I2C Daten
| |
− | 1 bis 19 von 19 Einträgen
| |
− | ZurückWeiter
| |
− |
| |
− | Weiter Informationen zur micro:bit Hardware findet man:
| |
− |
| |
− | Lancaster University Github
| |
− |
| |
− | Software
| |
− |
| |
− | Programmiert werden kann der micro:bit mit einer Reihe von Online IDEs, die einfach im Browser gestartet werden. Dazu muss nichts installiert werden. Einfach im Browser den gewünschten Editor auswählen und loslegen. Das Programm wird online übersetzt und das compilierte Binary kann dann heruntergeladen werden. Per Drag & Drop werden die Binarys dann mittels File Manager auf den micro:bit Laufwerk geladen, dass beim Anstecken des micro:bit über ein Micro USB Kabel sichtbar wird. Der mcro:bit kann auch über Bluetooth vom Smartphone/Tablet aus progammiert werden. Dazu wird die micro:bit App für Android bzw. Apple iOS benötigt. Nach kurzer Zeit startet der Prozessor dann mit dem neuen Programm.
| |
− |
| |
− | Alle Editoren basieren auf der Laufzeitumgebung micro:bit DAL (Device Abstraction Layer) der Universität Lancaster. Die Laufzeitumgebung wiederum basiert auf der ARM mbed IoT Device Plattform und der Nordic nRF51 Plattform.
| |
− | Online Editoren
| |
− |
| |
− | Es gibt eine ganze Reihe von Online Editoren, die Browser basiert arbeiten. Vorteil: man benötigt keine Cross Compiler Umgebung, muss nicht installieren.
| |
− | Zu den derzeit verfügbaren Online Editoren gehören:
| |
− |
| |
− | Code Kingdoms JavaScript, ein weiterer JavaScript Interpreter
| |
− | Microsoft PXT, ein JavaScript Editor
| |
− | Microsoft Block Editor, eine rein grafische Drag&Drop Programmierumgebung
| |
− | Microsoft Touch Develop
| |
− | MicroPython, ein Python Interpreter
| |
− | mbed C++
| |
− |
| |
− | Editor Programmier Sprache grafisch/textbasiert Bluetooth/Radio Support Servo/PWM Support online/offline IDE Simulator
| |
− | Code Kingdoms JavaScript j/j j/j n/j (Port 0,12) j/n j
| |
− | Microsoft PXT JavaScript j/j j/j j/j (Port 0,1,2,3,4,10) j/j j
| |
− | Microsoft Block Editor läßt sich nach Microsoft Touch Develop portieren j/n j/j j/j j/n j
| |
− | Microsoft Touch Develop Visual Basic n/j j/j j/j j/n j
| |
− | mbed C++ C/C++ n/j j/j j/j (Port 0,1,2,3,4,10) j/j n
| |
− | MicroPython Python n/j n/j j/j (Port 0,1,2,3,4,10) j/j n
| |
Der micro:bit ist ein Mikrocontroller Projekt für Schulen, entwickelt unter der Federführung der BBC. Nachdem 1 Million davon kostenlos an britische Schüler verteilt wurden, gibt es den Mikrocontroller seit einigen Wochen auch für normale Endanwender zu kaufen. Zeit für eine Einführung, was in dem kleinen Kerl steckt.
Bezugsquellen
Hardware
Auf dem Micro:Bit werkelt zwei ARM Cortex M0 CPUs, der Haupt Prozessor ist von Nordic Semiconductor, der nRF51822. Als USB Controller kommt ein NXP ARM Cortex M0 der Kinetis KL26 Serie zum Einsatz.
Im Gegensatz zu anderen Boards wie dem Arduino stecken auf dem Basisboard bereits eine Reihe an Sensoren und Aktoren.
Hardware Übersicht
- ARM Cortex M0 CPU, 16MHz, 16kB RAM, 256kB Flash, Nordic nRF51822
- 3-Achsen Beschleunigungssensor NXP MMA8653
- elektronischer Kompass NXP MAG3110
- 2 Taster
- 5×5 LED Matrix (rot, dimmbar)
- Lichtsensor (über die LEDs der LED Matrix
- Temperatursensor
- Bluetooth BLE 4.0
- USB Controller (seriell, Massenspeicher) ARM Cortex M0+ CPU, 128kB Flash, NXP MKL26Z128VFM4 (M26H7V)
- SPI über den Erweiterungs Port
- I2C über den Erweiterungs Port
- 6..17 IO Pins (je nach Anwendung) über den Erweiterungs-Port, 6x Analog, 17x Digital, 3x Touch Inputs(ähnlich dem Makey Makey)
Datei:IMG 5892.JPG
Datei:IMG 5891.JPG
Der Erweiterungs Stecker ist leider nicht sehr bastelfreundlich ausgelegt. Über 4mm Bananenstecker bzw. Krokoklemmen sind nur 3 IO Pins erreichbar dazu 3V und GND. Das reicht für einfache Experimente. Wer mehr möchte sollte bei der Bestellung gleich das Edge Connector Breakout Board mit bestellen oder eines der vielen Experimentiert Kits . Ich habe mich für das Prototyping Kit entschieden.
Pin Belegung
Die Pin Belegung des Erweiterungs-Port:
Quelle: microbit.co.uk
Wie man sieht, sind nicht alle 17 IO Pins verfügbar. Einige sind schon durch die LED Matrix und Taster belegt. So bleiben letztendlich je nach Anwendung nur 6 bis 17 Ports zur freien Verwendung. Dazu kommen noch die beiden Pins des I2C Bus dazu. Das sollte für viele Anwendungen ausreichend sein. Ansonsten gibt es diverse Port Expander ICs für I2C und SPI.
Pin Funktion Sonderfunktion Besonderheiten
P0 analog, digital, touch für Krokoklemmen, 4mm Bananenstecker
P1 analog, digital, touch für Krokoklemmen, 4mm Bananenstecker
P2 analog, digital, touch für Krokoklemmen, 4mm Bananenstecker
P3 analog in LED Col. 1
P4 analog in LED Col. 2
P5 digital Button A
P6 digital LED Col. 9
P7 digital LED Col. 8
P8 digital
P9 digital LED Col. 7
P10 analog in LED Col. 3
P11 digital Button B
P12 digital
P13 digital, SCK SPI Takt
P14 digital, MISO SPI Data In
P15 digital, MOSI SPI Data Out
P16 digital
P19 SCL I2C Takt
P20 SDA I2C Daten
Weitere Informationen zur micro:bit Hardware findet man:
[Lancaster University Github]
Software
Programmiert werden kann der micro:bit mit einer Reihe von Online IDEs, die einfach im Browser gestartet werden. Dazu muss nichts installiert werden. Einfach im Browser den gewünschten Editor auswählen und loslegen. Das Programm wird online übersetzt und das compilierte Binary kann dann heruntergeladen werden. Per Drag & Drop werden die Binarys dann mittels File Manager auf den micro:bit Laufwerk geladen, dass beim Anstecken des micro:bit über ein Micro USB Kabel sichtbar wird. Der mcro:bit kann auch über Bluetooth vom Smartphone/Tablet aus progammiert werden. Dazu wird die micro:bit App für Android bzw. Apple iOS benötigt. Nach kurzer Zeit startet der Prozessor dann mit dem neuen Programm.
Alle Editoren basieren auf der Laufzeitumgebung micro:bit DAL (Device Abstraction Layer) der Universität Lancaster. Die Laufzeitumgebung wiederum basiert auf der ARM mbed IoT Device Plattform und der Nordic nRF51 Plattform.
Online Editoren
Es gibt eine ganze Reihe von Online Editoren, die Browser basiert arbeiten. Vorteil: man benötigt keine Cross Compiler Umgebung, muss nicht installieren.
Zu den derzeit verfügbaren Online Editoren gehören:
- Code Kingdoms JavaScript, ein weiterer JavaScript Interpreter
- Microsoft PXT, ein JavaScript Editor
- Microsoft Block Editor, eine rein grafische Drag&Drop Programmierumgebung
- Microsoft Touch Develop
- MicroPython, ein Python Interpreter
- mbed C++