Die Entwicklung eines Anwendungsprogramms soll für beide Mikrocontroller-Boards anhand eines einfachen Programms zur Messdatenerfassung verdeutlicht werden.
Temperaturmessung mit Calliope mini
Mit dem Calliope mini wird die zur Temperatur proportionale Ausgangsspannung eines Temperatursensors LM35 erfasst und über die serielle Schnittstelle ausgegeben.
Hierzu sind der Sensorausgang mit Pin P1 zu verbinden und VCC mit dem Anschluss + sowie GND mit dem Anschluss –.
Das Programm selbst besteht aus drei Blöcken (Bild 4). Beim Start erfolgen eine Textausgabe und eine Reduzierung der Helligkeit der LED-Matrix auf einen Wert von 100 (mittlere Helligkeit).
In einer Endlos-Schleife wird der Analogwert an Pin P1 erfasst und skaliert (*330/1024) in der Variablen temp abgelegt. Der Wert dieser Variablen wird anschließend seriell ausgegeben. Eine Pause von 30 Sekunden folgt, bis sich der Vorgang wiederholt.
Um während der Wartezeit von 30 Sekunden nach außen hin ein Lebenszeichen zu senden, läuft als Hintergrundprozess eine blinkende LED in einer Endlos-schleife. Hierzu wird die mittlere LED kurz eingeschaltet gefolgt von 1,5 Sekunden Pause. Die betreffende Terminalausgabe zeigt Bild 5.
Wetterstation mit BBC micro:bit
Mit dem SparkFun weather:bit steht eine interessante Erweiterung für den BBC micro:bit zur Verfügung [8]. Das kompakte Board bietet in Kombination mit einem BBC micro:bit eine vollständige Wetterstation.
Über einen BME280 Sensor von Bosch werden Temperatur, relative Feuchte und barometrischer Druck erfasst. Ausserdem gibt es Anschlüsse zu optionalen Sensoren für Windgeschwindigkeit und -richtung, Regenmesser und Bodensensoren (Temperatur und Feuchte) sowie ein serielles und ein I2C-Port.
Die Softwareinstallation ist denkbar einfach gestaltet. Im JavaScript-Blocks-Editor wird über »Add Package« das SparkFun weather:bit Package hinzugefügt, wodurch ein zusätzlicher Menüpunkt »Weatherbit« entsteht. Hier sind alle Zugriffe auf das Erweiterungsboard enthalten.
Das Programm selbst besteht wieder aus drei Blöcken (Bild 6). Beim Start erfolgen eine Textausgabe und eine Reduzierung der Helligkeit der LED-Matrix auf einen Wert von 105 (mittlere Helligkeit).
In einer Endlosschleife erfolgt nacheinander die Abfrage von Temperatur, Feuchtigkeit und Druck. Das Muster ist dabei immer gleich. Der vom jeweiligen Sensor erfasste Wert wird skaliert in der betreffenden Variablen abgelegt, die dann seriell ausgegeben wird. Darauf folgt eine Pause von 100 ms. Nach der Ausgabe des letzten Messwerts erfolgt noch die Ausgabe einer Leerzeile und eine Pause von einer Minute, bis sich der Vorgang wiederholt.
Um während der Wartezeit von einer Minute nach außen hin ein Lebenszeichen zu senden, läuft als Hintergrundprozess wieder eine blinkende LED in einer Endlosschleife. Die betreffende Terminalausgabe zeigt Bild 7.