1.3. Was ist ein Microcontroller und welche Rolle kann er für schulisches Lernen spielen? Beispiel: Calliope Mini
Lernziele
- Sie verstehen das Design- und Funktionskonzept von Mikrocontrollern
- Sie können Vor- und Nachteile von Mikrocontrollern benennen
- Sie können Nutzungsmöglichkeiten von Mikrocontrollern für die Verwendung im schulischen Kontext anhand des Beispiels Calliope Mini beschreiben
Was ist ein Mikrocontroller?
Beim Calliope Mini handelt es sich um einen Mikrocontroller oder auch Einplatinencomputer. Modern spricht man auch von einem sog. SoC (System on a Chip). Damit ist gemeint, dass auf der Platine des Mikrokontrollers alle wesentlichen Bestandteile eines Rechners/Computersystems bereits integriert sind und diese damit in sich lauf- und funktionsfähig sind. Dazu gehören die CPU (Central Processing Unit), in die in der Regel bereits auch die GPU (Graphics Processing Unit) integriert ist. Außerdem verfügt sie über Netzwerkfähigkeiten, WiFi und Bluetooth-Verbindungsmöglichkeiten und natürlich Hauptspeicher sowie weitere Festspeicher, welche Programme und Daten-Speichern können. Letzteres wird meist über direkte Anschlussmöglichkeiten für MicroSD-Karten realisiert, die besonders platzsparend und kostengünstig sind. Das gleiche Prinzip kommt beispielsweise auch bei Smartphones zum Einsatz und hat deren Entwicklung überhaupt erst möglich gemacht.
Abb.: Apple SoC eines Smartphones – Foto von Jojhnjoy, CC BY-SA 3.0, via Wikimedia Commons
Was leistet ein Mikrocontroller?
Dem Prinzip nach lässt sich bereits erkennen, dass Mikrocontroller bzw. SoCs versuchen, wesentliche Funktionen eines Computersystems auf kleinem Raum und damit mit reduzierten Kosten umzusetzen. In der Industrie werden solche SoCs auch in noch reduzierterer Funktion entwickelt und eingesetzt, um jeweils ganz spezifische Aufgaben zu erfüllen (z.B. ein Mikrocontroller als Messwertkollektor mit einer WiFi-basierten Weiterleitung der Daten, der ansonsten aber keine weiteren “Fähigkeiten” oder Komponenten hat). Diese Art Umsetzung von SoC-Designs bedeutet aber auch, dass Einschräkungen in der Leistung, der Konnektivität und der Erweiter- und Veränderbarkeit des Systems in Kauf genommen werden müssen. Durch das kompakte Design und die reduzierte Leistungsfähigkeit der Komponenten (insbesondere der CPU und GPU), können SoCs besonders stromsparend und energieeffizient sein, was für viele Anwendungskontexte eine entscheidende Rolle spielt (denken Sie an den Akkuverbrauch ihres Smartphones).
Abb.: Arduiono Mikrocontroller, Foto von Clic17, CC BY-SA 4.0, via Wikimedia Commons
Beispiele für bekannte Mikrocontroller sind etwa der Raspberry Pi oder der Arduino– beides relativ leistungsfähige Mikrocontroller, die relativ einfach mit Sensoren und weiterer Peripherie gekoppelt und erweitert werden können und dadurch z.B. im Bereich der Smart Home Technologie bzw. im Kontext von IoT-Anwendungszwecken (IoT = “Internet of Things”) kostengünstige Eigenimplementierungen ermöglichen. Hier ist bereits für einen moderaten zweistelligen Eurobetrag die Umsetzung von IoT-Lösungen und -Projekten möglich. Mit dem Raspberry Pi 400 ist im Jahr 2020 ein mikrocontrollerbasiertes System erschienen, das mit Peripherie (Maus, Tastatur) ausgestattet ist. Für einen Preis von ca. 100€ kann dieses in der basalen Leistungsfähigkeit mit klassischen PC- oder Laptop-Systemen konkurrieren. Für den Grundschulbereich interessant ist auch der auf Arduiono basierende MaKey MaKey.
Welche Bedeutung haben Mikrocontroller im Kontext von IoT?
Es gibt unterschiedliche Arten und Typen von Sensoren, die sich an SoCs anschließen lassen, und die unterschiedlichen SoCs unterstützen oft nicht alle Arten von Sensoren. Eine sehr einfache und günstige Klasse von Sensoren stellen z.B. die sog. OneWire-Sensoren dar, die ihre Messdaten als analoges Signal übermitteln (der Messwert wird als Spannungswert vom Mikrocontroller über eine Datenleitung/ein Datenkabel ausgelesen). Um diese Sensoren nutzen zu können, brauchen Mikrocontroller sog. AD-Converter (= Analog -> Digital- Converter), die analoge Messwerte in ein digitales Zahlensytem überführen können. Über den umgekehrten Weg (DA-Converter) können digitale Zahlenwerte z.B. in analoge Spannungswerte umgesetzt werden, mit denen dann z.B. Elektromotoren oder LEDs angesteuert werden können.
Die Messwerte dieser Sensoren müssen softwaregesteuert über ein entsprechendes Bus-System ausgelesen werden. Es gibt auch Sensoren, die ihre Messwerte für das System interruptgesteuert selbst aktualisieren können und außerdem auch Sensoren, die ihre Messwerte bereits selbst digital übermitteln, was einen AD-Converter erübrigt, jedoch ebenfalls wieder Anforderungen an die Anschlussmöglichkeiten das SoCs mit sich bringt und die Sensoren in der Regel auch verteuert. Zuletzt muss auch darauf hingewiesen werden, dass es inzwischen auch eine Reihe von Sensoren gibt, die sich über ein WiFi-Netzwerkprotokoll auslesen lassen oder sich per Bluetooth koppeln lassen (sog. Wireless-Sensoren, die aber dann über eine eigene Stromversorgung verfügen müssen, um zu funktionieren).
Der Calliope Mini Mikrocontroller

Abb.: Von Jørn Alraun – Promotional images from https://calliope.cc/presse. CC-BY-SA confirmed by mail., CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=61841852
Für den Bereich der Schule hat in Deutschland der Calliope Mini eine besondere Bedeutung entwickelt. Dieser nach dem Vorbild des britischen BBC micro:bit von einer deutschen Entwicklercommunity designte SoC zeichnet sich durch eine besonders einfache Bedienung sowie ein robustes und kostengünstiges Desing aus, mit dem es leicht ist, den Controller im Klassensatz zu beschaffen und auch mit jüngeren SchülerInnen zu nutzen.
Eine Besonderheit dieses Microcontrollers ist, dass er bereits einige einfache Sensoren direkt auf der Platine verbaut mitbringt (z.B. Gyro-/Lagesensor, Kompass, Helligkeitssensor) und auch einige Ausgabemöglichkeiten bereits integriert (ein LED-Matrix-Feld, Lautsprecher), sodass er ohne weiteres Zubehör und ohne Stromanschluss batteriebetrieben direkt eingesetzt werden kann. Auch Eingabemöglichkeiten besitzt er z.B. über die integrierten Tastschalter, die Touch-Sensoren und ein Mikrofon.
Abb.: Programmierung des Calliope Mini mittels einer visuellen Programmiersprache
Das besondere an diesem Mikrocontroller: Die Programmierung erfolgt intuitiv ohne die Eingabe von Code über eine grafische Oberfläche, in der der Code über graphische Symbole dargestellt und im Stil eines Puzzle-Systems zusammgesetzt werden kann (vgl. z.B. https://lab.open-roberta.org/). Man nennt dieses Prinzip auch visuelle Programmierung (Visual Coding). Die zugehörigen Programmiersprachen (z.B. Scratch) nennt man Visual Programming Language (VPL). Code-Editoren stehen im Fall des Calliope öffentlich über den Browser zur Verfügung und bieten sogar die Möglichkeit, die Funktionsweise und Funktionsfähigkeit des Codes während der Programmierung zu simulieren. Am Calliope können sowohl analoge als auch digitale Sensoren angeschlossen werden und auch Anschlussmöglichkeiten für den Grove-Sensorstandard sind gegeben. An diesem Anschluss ist es per einfacher Steckverbindung besonders leicht, Sensoren anzuschließen.

Abb. Loudness-Sensor der Marke Seeed mit Grove-Anschlussmöglichkeit
Das folgende Video gibt eine anschauliche Einführung in den Calliope Mini:
Auch fertige Kits mit Mikrocontrollern und Sensoren können von bestimmten Anbietern bezogen werden. Hier erfreut sich beispielsweise die SenseBox einiger Beliebtheit. Sie ist besonders einfach zusammenzubauen, da sie rein auf die standardisierten Grove-Sensor-Anschlüsse setzt. Es sind keine Lötarbeiten notwendig und die Hersteller bieten auch bereits einen Cloud-Service an, über den Schulen hochwertige Umweltmessstationen aufbauen und die Messwerte ins zentrale Register einspeisen können (Open / Public Data).
