Vorwort
Willkommen bei »Sensoren – messen und experimentieren mit Arduino und Raspberry Pi«. Sie werden schon bald mit dem Bau von Geräten beginnen können, die in der Lage sind, alle möglichen Dinge wahrzunehmen – von gefährlichen Gasen bis zu Beschleunigungen. In diesem Buch erfahren Sie, wie Sie Sensoren einsetzen, um die Phänomene der physischen Welt zu messen, und wie Sie die Ergebnisse als Zahlenwerte darstellen und aufgrund solcher Werte automatisch Aktionen auslösen lassen können.
Sensoren können beispielsweise Wärme, Druck, Beschleunigung und Licht messen und Werte wie 22 °C, 1015 mbar, eine Beschleunigung von 2,3 g oder das Vorhandensein von Licht melden. (Beim Licht haben wir hier keine numerische Quantität angegeben, sondern einen booleschen Wert, also ja oder nein. Beispiele dafür werden Sie später noch kennenlernen.)
Eine Mikrocontroller-Platine stellt das Gehirn des Roboters, des Systems oder Geräts dar, das Sie bauen. Die Software, die auf dem Mikrocontroller ausgeführt werden soll, schreiben Sie selbst. In diesem Buch arbeiten wir mit den beiden beliebtesten Platinen, dem Arduino und dem Raspberry Pi. Bei beiden ist es einfach, Software zur Steuerung der Elektronik zu schreiben.
Es geht um Ihre eigenen Ideen
Wenn Sie schnell einige Grundlagen der Elektronik lernen möchten, um dann Ihre eigenen Roboter, Geräte oder Projekte zu gestalten, dann sind Sie hier richtig. In diesem Buch lernen Sie, wie Sie Ihre Ideen rasch umsetzen können.
Theorien, Fertigkeiten und Grundlagenwissen sind sehr nützlich – solange sie Ihre Kreativität unterstützen. Spielen Sie mit Ihren eigenen Ideen herum und trauen Sie sich, die Ergebnisse im Web zu veröffentlichen.
In jedem Kapitel finden Sie ein Miniprojekt, das Ihnen zeigt, wie Sie verschiedene Technologien kombinieren können. Beispielsweise werden Sie im Rahmen dieser Projekte einen Holzkasten mit einem Schloss versehen, das Sie mit Ihrem Fingerabdruck öffnen können, und eine Chamäleonkuppel bauen, die ihre Farbe wechselt. Diese Projekte machen Spaß, bilden aber auch gute Ausgangspunkte für spätere eigene Erfindungen.
Die Fähigkeiten, die Sie sich mithilfe des Arduino aneignen, lassen sich leicht auf ernsthafte Projekte übertragen. Beispielsweise haben wir den Prototyp des Sonnensensors für Finnlands ersten Satelliten mithilfe des Arduino entwickelt (siehe Abb. I).
Abb. I Der erste finnische Satellit startet 2014. Den Prototyp für den Sonnensensor haben wir mithilfe des Arduino entworfen und gebaut.
Wie Sie dieses Buch lesen sollten
Wenn Sie eine Idee haben, können Sie mithilfe dieses Buches schnell einen ersten Prototyp bauen. Anstatt Stunden damit zuzubringen, die Datenblätter von Komponenten zu studieren, können Sie einfach einen Sensor und einen fertigen Schalt-plan sowie den zugehörigen Code herausgreifen. Die Sensoren können Sie als Bausteine für Ihre Projekte verwenden, aber anders als bei anderen Bausystemen, wie Stabilbaukästen und Lego, haben Sie beim Arduino und beim Raspberry Pi wirklich fast unbegrenzte Möglichkeiten.
Wenn Sie wissen, was Sie messen wollen, können Sie schnell den passenden Sensor dafür finden. Dieses Buch ist nach den Erscheinungen der physischen Welt geordnet, die sich messen lassen:
Sie können dieses Buch als Inspirationsquelle verwenden: Stöbern Sie darin, um eine Vorstellung davon zu bekommen, was für Sensoren verfügbar sind, und lassen Sie sich davon zu neuen Projekten anregen.
Wenn Sie wissen wollen, wie die Sensoren mit dem Arduino bzw. dem Raspberry Pi zusammenarbeiten, dann werden Ihnen die ausführlichen Erläuterungen gefallen. Alle Codebeispiele sind vollständig und zeigen die gesamte Interaktion mit dem Sensor. Wenn Sie genau verstehen, wie die in diesem Buch behandelten Sensoren funktionieren, können Sie Ihre neu erworbenen Fähigkeiten auch auf andere Sensoren übertragen, sogar auf solche, die es heutzutage noch gar nicht gibt.
Bei der Auswahl der Sensoren haben wir uns für besonders nützliche und interessante entschieden, ohne darauf zu achten, ob sie besonders leicht oder besonders schwer zu verwenden sind. Daher finden Sie in diesem Buch Experimente mit unterschiedlichem Schwierigkeitsgrad.
In jedem Kapitel werden Experimente, Praxisexperimente und ein Testprojekt vorgestellt:
1. Die Experimente geben Ihnen eine schnelle Anleitung dafür, wie Sie einen bestimmten Sensor am Arduino oder am Raspberry Pi einsetzen können. Sie können Sie als Bausteine für Ihre eigenen Projekte verwenden, aber auch einfach nur zum Ausprobieren, wie die einzelnen Sensoren funktionieren.
2. In Praxisexperimenten spielen Sie mit den Sensoren herum und beobachten damit Änderungen in Ihrer Umgebung. Dadurch können Sie sich ein Bild davon machen, wie der Sensor die Welt sieht und wie er wirklich funktioniert.
3. Die Arbeit mit Sensoren macht mehr Spaß, wenn Sie auch irgendetwas mit den Messwerten tun. In den Testprojekten bauen Sie jeweils ein Gerät, das den Sensor nutzt. Dabei lernen Sie verschiedene Ausgabemöglichkeiten wie RGB-LEDs, E-Paper und Servomotoren kennen. Testprojekte können Sie auch als Ausgangspunkte für Ihre eigenen Konstruktionen nutzen.
Eingabe, Verarbeitung, Ausgabe
Alle Roboter oder Geräte, die Sie bauen, brauchen eine Eingabe, eine Verarbeitung der Daten und eine Ausgabe.
1. Da die meisten der von Ihnen gebauten Geräte weder über eine Tastatur noch über eine Maus verfügen, dienen die Sensoren als Eingabequelle. Werfen Sie einen Blick in das Inhaltsverzeichnis, aber denken Sie daran, dass hier nur ein Bruchteil der tatsächlich existierenden Sensoren behandelt wird. Es gibt unzählige weitere Sensoren, um alles zu messen, was Sie sich vorstellen können.
2. Die Verarbeitung geschieht in Ihrem Programm, das auf dem Arduino oder Raspberry Pi ausgeführt wird. In diesem Programm geben Sie an, was als Nächstes geschieht.
3. Die Ausgabe hat einen Einfluss auf die Welt außerhalb des Geräts. Sie können eine LED aufleuchten lassen, einen Servomotor einschalten oder einen Klang abspielen. Das sind die drei häufigsten Arten von Ausgaben, aber es gibt noch weitere (z. B. haptische Rückmeldung durch Vibration, die Anzeige auf einem E-Paper-Bildschirm oder das Einschalten von Haushaltsgeräten).
Protokolle
Ein Protokoll bestimmt, wie ein Sensor mit einer Mikrocontroller-Platine, wie dem Arduino oder dem Raspberry Pi, kommuniziert. Es legt fest, wie die Kabel angeschlossen werden und wie Ihr Code die Messwerte abfragen muss.
Es gibt zwar unzählig viele Sensoren, aber nur eine eingeschränkte Anzahl von häufig verwendeten Protokollen. Sie werden diese Protokolle im Einzelnen kennenlernen, während Sie an den Experimenten und Projekten arbeiten. In diesem Abschnitt geben wir Ihnen aber bereits einen Überblick über das, was Sie erwartet.
Eine Übersicht über die gebräuchlichen Sensorprotokolle finden Sie in Tabelle I.
Digitale Widerstandssensoren
Einige Sensoren funktionieren wie Drucktasten mit zwei Zuständen, »ein« und »aus«. Sie lassen sich besonders einfach ablesen. Der Ein-Status wird dadurch dargestellt, dass an den Eingangspin des Mikrocontrollers der Spannungspegel HIGH angelegt wird. Je nach verwendeter Platine ist das gewöhnlich 3,3 V oder 5 V.
Analoger Widerstandssensor
Analoge Widerstandssensoren ändern ihren Widerstand als Reaktion auf eine physische Änderung (z. B. die Drehung eines Reglers). Der Arduino und der Raspberry Pi messen die Widerstandsänderung anhand der am Sensor anliegenden Spannung. Wenn Sie beispielsweise an einem Potenziometer drehen, wird der Widerstand größer oder kleiner. Solche analogen Widerstandssensoren lassen sich am Arduino problemlos einsetzen. Beim Raspberry Pi dagegen brauchen Sie einen zusätzlichen Chip, um die Analogwerte zu messen. In Abschnitt 3.5 lernen Sie, wie Sie den Analog-Digital-Wandler MCP3002 zur Widerstandsmessung mit dem Raspberry Pi verwenden. Die meisten analogen Eingangssensoren geben den Messwert in Form des Widerstands an, sind also analoge Widerstandssensoren.
Pulsbreite
Einige Sensoren geben den Messwert über die Pulsbreite an, also die Länge der Zeit, in der der Pin auf dem Pegel HIGH gehalten wird. Um die...