1Einleitung
1.1Die senseBox – Was erwartet dich in diesem Buch?
Die senseBox ist ein vielseitiges Toolkit, mit dem ein einfacher Einstieg in die Welt des Programmierens möglich ist. Spannende Projekte rund um Sensoren, Leuchtdioden und weitere elektronische Bauteile zeigen dir, wie du Umweltfragen mit dem Erlernen der Programmierung verknüpfen kannst.
Nachdem du einen Überblick über die verschiedenen Komponenten und Umweltsensoren der senseBox erhalten hast, wird die grafische Programmiersprache Blockly vorgestellt, mit der in diesem Buch gearbeitet wird. Danach wirst du dein erstes Programm erstellen und auf die senseBox übertragen.
Jedes Kapitel entspricht einem Projekt, das du natürlich jederzeit mit deinen eigenen Ideen erweitern oder anpassen kannst. Am Anfang jedes Kapitels werden die benötigten Materialien aufgelistet; Ausnahmen bilden die senseBox MCU (Micro Controller Unit) und das USB-Kabel, beide werden immer benötigt und deshalb nicht jedes Mal aufgeführt.
In den ersten Kapiteln lernst du die grundlegenden Konzepte der senseBox kennen und wirst diese in ersten Projekten anwenden.
Die Projekte sind thematisch sortiert und nach Schwierigkeit geordnet. Im weiteren Verlauf des Buchs wirst du an exponierten Stellen auf Themenboxen stoßen, die wichtige Informationen zu bestimmten Themen enthalten.
1.2Was steckt drin?
Die senseBox:edu enthält eine Vielzahl von verschiedenen elektronischen Bauteilen, die wir in diesem Abschnitt kurz vorstellen. In den Projekten selbst gibt es oftmals noch mehr Informationen darüber, wie die Sensoren funktionieren oder wie du diese verwendest.
1.2.1Die senseBox MCU
Abb. 1–1Die senseBox MCU
Die senseBox MCU ist das Gehirn der senseBox und übernimmt alle Aufgaben zum Steuern, Messen und Regeln. Der Mikrokontroller ermöglicht es, verschiedene Sensoren, Ausgabegeräte und Datenübertragungsmodule anzuschließen. In den verschiedenen Projekten wird gezeigt, wie die einzelnen Bestandteile verwendet werden können.
Die senseBox MCU besitzt verschiedene Ports, die für Sensoren und Aktoren verwendet werden können. Der USB-Anschluss wird für die Stromversorgung und für die Datenübertragung verwendet. Direkt auf der senseBox MCU befinden sich zwei Buttons. Der rote Reset-Button kann zum Neustarten eines Programms verwendet werden und wird benötigt, um die senseBox in den Lernmodus zu versetzten. Mit einem Doppelklick auf den roten Reset-Button wird die senseBox MCU in den Lernmodus versetzt. Nur im Lernmodus kann ein neues Programm über den Dateiexplorer auf die senseBox MCU kopiert werden, anschließend startet die MCU neu und befindet sich im Programmmodus. Wie genau du einen Programmcode überträgst und die senseBox MCU in den Lernmodus versetzt, erfährst du im Abschnitt 1.5.
- USB-Anschluss:
Über diesen Anschluss wird die senseBox MCU mit Strom versorgt und programmiert.
- Digital/Analog Ports:
Über die digitalen und analogen Ports können einfache Sensoren und Aktoren angeschlossen werden.
- UART/Serial Ports:
An diese Ports können noch weitere Sensoren angeschlossen werden, die nicht in der senseBox:edu enthalten sind. Ein Beispiel ist hier der Feinstaubsensor.
- I2C/Wire Ports:
An diese fünf Ports kannst du Sensoren und das Display anschließen. Die Ports erkennen automatisch, an welchem Port ein Sensor angeschlossen ist.
- XBEE1/2:
Diese zwei Steckplätze werden für die Datenübertragungsmodule verwendet.
1.2.2Die Sensoren
Temperatur- und Luftfeuchtigkeitssensor
Abb. 1–2Der Temperatur- und Luftfeuchtigkeitssensor (HDC1080 von Texas Instruments)
Der Sensor für Temperatur und Luftfeuchtigkeit kann zum Erfassen der Lufttemperatur und der Luftfeuchtigkeit verwendet werden. Die Temperatur kann in einem Bereich zwischen - 40 °C und + 125 °C erfasst werden. Die Luftfeuchtigkeit wird in % RH (relative Luftfeuchtigkeit) gemessen, und es wird der gesamte Bereich zwischen 0 % RH und 100% RH abgedeckt. Der Sensor erfasst die Temperatur mit einer Genauigkeit von " 0,2°C und die Luftfeuchtigkeit mit einer Genauigkeit von " 4 %.
Luftdruck- und Temperatursensor
Abb. 1–3Der Luftdruck- und Temperatursensor (BMP280 von Bosch)
Der Sensor für Luftdruck und Temperatur kann zum Erfassen des Luftdrucks und der Lufttemperatur verwendet werden. Der Luftdruck kann in einem Bereich zwischen 300 und 1100 hPa und mit einer Genauigkeit von " 1 hPa erfasst werden. Der Luftdruck kann auch zur Berechnung der Höhe verwendet werden. Die Temperatur wird in °C gemessen und mit einer Genauigkeit von " 1,0°C erfasst.
Lichtsensor
Abb. 1–4Der Lichtsensor (VEML6070 von Vishay/TSL45315 von AMS)
Der Lichtsensor kombiniert zwei verschiedene Sensoren. Zum einen kann die Helligkeit in Lux und die UV(A)-Intensität in μW/m3 erfasst werden.
Ultraschall-Distanzsensor
Abb. 1–5Der Ultraschall-Distanzsensor (HC-SR04)
Der Ultraschall-Distanzsensor kann Distanzen zwischen 5 und 200 cm erfassen. Bei einer größeren Distanz werden die Messungen ungenau oder sprunghaft. Gemessen wird mithilfe eines Ultraschallsignals. Über die Laufdauer des Signals kann dann die Distanz auf Grundlage der Schallgeschwindigkeit bestimmt werden.
Mikrofon
Abb. 1–6Das Mikrofon (Mic-Breakout)
Das Mikrofon kann genutzt werden, um akustische Signale zu erfassen. Das Mikrofon ist ein analoger Sensor, und der Messwert wird in Volt (Pegel zwischen 0 und 5 V) ausgegeben.
Beschleunigungssensor
Der Beschleunigungssensor (BMX055 von Bosch) ist direkt auf die senseBox MCU aufgelötet und kann die Beschleunigung der drei Raumachsen erfassen. Die Messwerte werden als Vielfaches der g-Kraft ausgegeben.
1.2.3Weitere Bauteile
Verbindungskabel
Abb. 1–7JST-Adapterkabel
Abb. 1–8Steckkabel
Abb. 1–9JST-JST-Kabel
Um die Sensoren und die weiteren Bauteile mit der senseBox MCU zu verbinden, stehen dir verschiedene Kabel zur Verfügung. Das JST-Adapterkabel wird dann verwendet, wenn du eine Schaltung auf dem Breadboard erstellst. Hierbei unterstützen auch die Steckkabel.
Das JST-JST-Kabel benötigst du, wenn du einen senseBox-Sensor oder das Display direkt mit der senseBox MCU verbinden willst.
OLED-Display
Abb. 1–10Das OLED-Display
Das OLED-Display wird über ein JST-JST-Kabel mit den I2C Ports verbunden. Es verfügt über 128×64 Pixel und ist nützlich, um zum Beispiel Sensorwerte anzeigen zu lassen.
Übertragungsmodule
Abb. 1–11Das MicroSD-Bee
Abb. 1–12Das WiFi-Bee
In der senseBox:edu stehen zwei Datenübertragungsmodule zur Verfügung. Die Datenübertragungsmodule werden auf die Steckplätze gesteckt, die mit XBEE 1 und XBEE 2 beschriftet sind.
Das WiFi-Bee wird an Steckplatz XBEE 1 gesteckt und bietet dann die Möglichkeit, sich mit einem bestehenden WLAN-Netzwerk zu verbinden. Falls kein WLAN-Netzwerk vorhanden ist, kann das WiFi-Bee auch ein eigenes WLAN-Netzwerk erstellen, mit dem du dich dann über dein Handy oder den Computer verbinden kannst.
Das MicroSD-Bee wird an Steckplatz XBEE 2 gesteckt und ermöglicht dir, die Daten der Sensoren auf SD-Karte zu speichern oder auch Daten von der SD-Karte zu lesen.
Kleinteile
Abb. 1–1310-kΩ-Widerstand
Abb. 1–14470-Ω-Widerstand
Abb. 1–15Piezo
Abb. 1–16Potenziometer
Abb. 1–17Buttons
Abb. 1–18Verschiedene LEDs (fünf rote, fünf gelbe, fünf grüne)
Abb....