Als Vorstufe für eine Wetterstation soll der Calliope mini die Temperatur und den Luftdruck messen und anzeigen können. Zwar verfügt der Calliope über die Möglichkeit, die interne und damit die Prozessortemperatur zu ermitteln, dies ist allerdings nicht sonderlich genau und natürlich von der Auslastung des Prozessors abhängig. Eine Alternative und ein Luftdrucksensor müssen gefunden werden.
HardwarekomponenteDer Grove Barometer Sensor verfügt über den IC BMP280. Dieser kann lt. Datenblatt den Luftdruck von 300 bis 1100 hPa, sowie die Temperatur von -40 bis 85 °C messen. Der Sensor ist für die I2C-Adresse 0x77 vorbereitet, die beim Calliope (meines Erachtens) allerdings nicht frei ist. Zum Glück haben die Entwickler die Möglichkeit berücksichtigt, mittels Cutter und einer kleinen Lötbrücke die Alternativadresse 0x76 zu nutzen. Dazu muss zunächst die vorhandene Verbindung zwischen den beiden rechten Lötaugen mit dem Cutter vorsichtig durchtrennt werden. Anschließend ist eine Lötbrücke zwischen den beiden linken Anschlüssen zu setzen.
Die Programmierung der I2C-Schnittstelle für den BMP280 ist nicht trivial. Zum Glück gibt es das fertige Paket BMP280 der chinesischen Makecode-Microbit-Group, welches auch im Calliope-Makecode-Editor funktioniert. Das Paket kann über die Adresse https://github.com/microbit-makecode-packages/BMP280 direkt eingebunden werden.
Damit erhält man den neuen Block BMP280, der sowohl die Festlegung der Adresse als auch das Abfragen der Sensoren ermöglicht.
Programmierung
Beim Starten des Skipts muss zunächst die Adresse festgelegt werden. Erst dann kann man die Ereignissteuerung zum Auslesen der Werte nutzen.
Hinweis: Der Luftdruck wird in Pascal angezeigt und nicht wie in der Dokumentation auf Github angegeben in Hektopascal.
Nun steht einer Wetterstation nichts mehr im Weg!
Comments
Please log in or sign up to comment.