Sensoren am Arduino - Matthias Schlenker - E-Book

Sensoren am Arduino E-Book

Matthias Schlenker

0,0
24,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Internet der Dinge, Physical Computing - Umgebungs-einflüsse sammeln, verarbeiten und darauf reagieren: Der Arduino™ ist prädestiniert dafür, egal ob digital oder analog. Lernen Sie hier alles, um den Arduino™ als Schaltzentrale in Ihren Projekten einzusetzen - ob Hausautomation, Roboter oder Wetterstation, Sensoren sind immer dabei. Der richtige Arduino™ Den EINEN Arduino™ gibt es längst nicht mehr, vielmehr ein Potpourri von verschiedenen Platinen. Falls Ihnen die Plantinen zu eingeschränkt oder zu teuer sind, dann bauen Sie Ihren eigenen Arduino™. Egal, welche Option Sie wählen, in einem ausführlichen Kapitel lernen Sie, welche Variante für Sie am besten ist. Und auch beim Selbstbau werden Sie nicht alleine gelassen: Sie erhalten ausführliche Schritt-für-Schritt-Anleitungen mit Bauteilliste und Schaltplan. Projektpraxis Vom Anschluss an den Datenbus, wie I2C oder SPI, bis zur Anzeige und Speicherung: In vielen Praxisprojekten lernen Sie Sensoren einzusetzen: Uhr mit Thermometer, Funksteckdosen per Klatschen aktiveren, Roboter oder der Lügendetektor - für jeden ist hier etwas dabei. Jedes Projekt ist für den Nachbau dokumentiert mit Bauteilen, Schaltplan und Quellcode, den Sie nicht abtippen müssen, sondern direkt von der Buchwebseite herunterladen können.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Vorwort

Nirgendwo in der EDV wurde in den letzten zehn Jahren das Prinzip Eingabe-Verarbeitung-Ausgabe (EVA) so deutlich wie bei der Mikrocontroller-Plattform Arduino. Kaum eine Woche verging, in der nicht irgendein Bastler Musikinstrumente baute, die auf Bewegung reagierten, seine Zimmerpflanzen Twitter-Meldungen verschicken ließ oder neue Kunstwerke zur Interaktion einluden. Besonders offensichtlich ist die Eingabeseite: Das gern zitierte »Physical Computing« bezieht Sensoren verschiedenster Art mit ein: Schalter, Temperatursensoren, Annäherungssensoren, GPS-Empfänger.

Möglich macht es die Vielzahl an Schnittstellen: Digitale Eingänge reagieren auf Schalter, die beiden Bus-Systeme SPI und I2C erlauben die Anbindung von (bezahlbaren) Sensoren in Industriequalität — doch der Clou ist eine Reihe analoger Eingänge, die es erlauben, den Arduino selbst zum Sensor zu machen. Oder hätten Sie gedacht, dass es möglich ist, aus Alufolie, Kupferdraht, Widerständen, Kondensatoren und ganz viel Gehirnschmalz einen berührungslosen Sensor für die Füllmenge von Flüssigkeiten zu zaubern?

Arduino lebt nicht nur von genial einfacher Hardware für kleines Geld, sondern vor allem von einer großen Community aus Entwicklern, die Bibliotheken für viele Einsatzzwecke bereitstellen. Das alles zusammengenommen, führt zu schnellen Ergebnissen, für die nicht einmal viel Geld investiert werden muss — hätten Sie geglaubt, dass es möglich sein würde, mit Hardware für rund 10 Euro in einer guten Stunde einen kleinen Webserver zusammenzulöten, der Temperatur und Luftfeuchte anzeigt und dessen Programmierung keine 50 Zeilen Code braucht? Ich ehrlich gesagt auch nicht, bis ich die entsprechenden Optimierungen für dieses Buch vorgenommen habe.

Wer sind Sie? Vielleicht sind Sie ein Student oder wissenschaftlicher Mitarbeiter, der im Rahmen eines Forschungsprojekts Dutzende oder Hunderte kleine Sensoren lange Zeit in freier Wildbahn aussetzen muss — die müssen dann billig und zuverlässig sein. Oder Sie sind Eigenheimbesitzer, der seine Heizungs- und Lüftungssteuerung optimieren möchte — das soll einfach sein und flexibel in der Anwendung. Vielleicht möchten Sie das schrägste Musikinstrument der letzten 100 Jahre erfinden und suchen dafür nach Inspirationen? Möglicherweise wollen Sie auch einfach nur einen tollen Mausersatz für den heimischen PC bauen. Ich weiß es nicht.

Ich weiß, dass Sie neugierig sind (sonst hätten Sie nicht bis hierher gelesen), und ich mutmaße, dass Sie leicht umsetzbare Rezepte für einfache Sensoren suchen. Ich weiß jedoch nicht, wie viel Erfahrung mit Arduino Sie haben. Ich nehme an, dass Sie bereits Kontakt hatten und wissen, wie man die aufgelötete LED auf dem Arduino Uno zum Blinken bringt. Mehr müssen Sie nicht können. Wenn Sie noch gar keinen Kontakt hatten, ist das auch kein Problem — legen Sie los, Sie können nicht viel kaputt machen. Ich kann in diesem Buch zwar keinen kompletten Arduino-Einstieg bieten, aber ich verweise an den entsprechenden Stellen auf die passenden Tutorials.

In diesem Sinne: Lassen Sie uns gemeinsam loslegen: Keine Elektronikplattform wäre in Summe besser für die kreative Eingabeverarbeitung geeignet als der Arduino: Schlafmodi helfen beim Energiesparen, und die Vielzahl der Pins erleichtert den Bau kombinierter Sensoren. Und auch wenn die Betonung auf der Sensorseite liegt, dürfen Sie einige komplette Lösungen erwarten, die Verarbeitung und Ausgabe einbeziehen. So lernen Sie Sensoren kennen, die direkt auf SD-Karte schreiben, ihre Werte übers Netzwerk übertragen oder in den Äther funken. Wir lassen also auch die Verarbeitungs- und Ausgabeseite nicht zu kurz kommen und wünschen Ihnen viel Spaß — und noch viel mehr Anregungen für eigene Ideen — mit diesem Buch.

In diesem Sinne: Lassen Sie uns losmessen!

Konventionen im Buch

Jeder Autor macht seine eigenen Erfahrungen, und daraus sind Vorlieben für seine Arbeit an Projekten entstanden. Diese sind mit der Zeit einem Wandel unterworfen, was es umso wichtiger macht, die in diesem Buch verwendeten Konventionen etwas zu erläutern. Ich möchte mir keinesfalls anmaßen, dass meine Arbeitsweise die einzig wahre ist. Wenn Sie bereits Arduino-Erfahrung haben, werden Sie für viele Vorgehensweisen eigene »Best Practices« entwickelt haben, die genauso gut funktionieren (wenn Ihre Vorgehensweisen besser funktionieren, bin ich für einen Hinweis per E-Mail dankbar). Sollten Sie wenig Routine haben, betrachten Sie meine Erfahrung einfach als ganz bewährten Startpunkt.

Downloads, Updates und Errata

Die Codebeispiele in diesem Buch versuche ich, so kurz zu halten, dass Sie sie leicht abtippen können. Das gelingt nicht immer, und gelegentlich kommt es vor, dass ein Sketch nach längerer Laufzeit Probleme offenbart, die nachträglich korrigiert werden müssen. Um Ihnen den Einstieg zu erleichtern, finden Sie alle Bilder, Codebeispiele und Verdrahtungspläne auf meiner GitHub-Seite https://github.com/mschlenker/Arduino-Sensoren. Dort können Sie Einzeldateien herunterladen oder rechts mit dem Button Download ZIP ein Archiv aller Dateien herunterladen. Einen vollständigen Download finden Sie auch auf den Seiten des Franzis Verlags unter www.buch.cd.

Ein Blick ins GitHub-Repository lohnt sich, hier können Sie die aktuellen Quellcodes der Sketches im Buch herunterladen und finden hochauflösende, farbige Versionen aller Fotos.

Prinzipiell rate ich jedem, der Projekte in Angriff nimmt, die Software (beispielsweise in Form von Arduino-Sketches) oder andere Dokumentationen (Verdrahtungs- und Schaltpläne) involviert, sich mit Versions- und Revisionskontrollsystemen vertraut zu machen. Das oft gehörte »Gestern hat es doch noch funktioniert!« verliert nämlich schnell seinen Schrecken, wenn man alle Änderungen der letzten Tage zeilenweise nachvollziehen kann.

Der schnellste Einstieg in Git für Windows-Anwender dürfte der Client des Repository-Anbieters github.com sein. Selbstverständlich müssen Sie sich nicht von diesem Anbieter abhängig machen: Installieren Sie einen Git-Client lokal, »pullen« Sie meine Repositories und legen Sie eigene Repositories für eigene Zwecke an — aber vergessen Sie bitte das Backup nicht!

Bilder und Verdrahtungspläne

Wie andere Bücher dieser Reihe ist auch dieses Buch in Graustufen gedruckt. Ich versuche immer, die Verdrahtungsskizzen so zu zeichnen, dass sie auch ohne Farbe leicht nachvollziehbar sind. In vielen Fällen werden Sie aber die Schaltungen mehrerer Beispiele kombinieren wollen, was es erforderlich macht, die Bauelemente anders anzuordnen. Die für dieses Buch anfertigten Breadboard-Ansichten und Schaltpläne wurden mit der freien (und kostenlosen) Software Fritzing erstellt, Sie können sie für Linux, Windows und Mac OS X unter www.fritzing.org herunterladen.

Die freie Software Fritzing hilft beim Erstellen von Schaltplänen, besonders hilfreich ist die Steckplatinenansicht.

Die von mir erstellten FZZ-Dateien erhalten Sie unter den oben genannten Adressen (https://github.com/mschlenker, www.buch.cd). Rekombinieren Sie Bauelemente nach Belieben, fügen Sie Bauelemente hinzu oder kombinieren Sie Schaltungen. Außerdem können Sie Fritzing dafür verwenden, eigene Shields für Arduino Uno, Leonardo oder Pro Mini zu entwerfen. Diese lässt Fritzing ab Losgröße eins von einem Berliner PCB-Dienstleister wöchentlich belichten.

Inklusive Zersägen der großen Platine und Versand vergehen so im Regelfall maximal 14 Tage von der Aufgabe der Bestellung bis zum Eingang der Platine. Für die Weitergabe modifizierter Fritzing-Dateien auf Basis unserer Entwürfe gilt die Lizenz CC BY-SA 3.0. Auf Deutsch: Toben Sie sich aus, spinnen Sie unsere Ideen weiter, aber bitte nennen Sie die Quelle und weisen Sie auf Weitergabe unter gleichen Bedingungen hin. Projekte, die im Zuge der Umsetzung dieses Buchs nicht fertiggestellt werden konnten, die Dauerbaustellen des Autors sind oder die im Nachhinein von Lesern vorgeschlagen wurden, finden Sie in meinem Arduino-Blog www.arduino-hausautomation.de. Wenn Sie selbst etwas vorschlagen wollen, veröffentliche ich dies gern, solange Fritzing-Dateien und Sketches unter CC BY-SA 3.0 oder GPL v2 vorliegen. Um Kontakt mit mir aufzunehmen, verwenden Sie bitte die im Impressum angegebene E-Mail-Adresse.

Projekte oder Ideen, die es nicht ins Buch geschafft haben oder die von Lesern vorgeschlagen wurden, finden Sie im Blog www.arduino-hausautomation.de.

Arduino-IDE

Zur Entwicklung von Arduino-Sketches beziehen wir uns in diesem Buch auf die Arduino-Entwicklungsumgebung, die unter http://arduino.cc/en/Main/Software erhältlich ist. Andere Methoden der Softwareentwicklung sprechen wir nicht an. Falls Sie bislang keine Erfahrung mit Arduino haben: Besorgen Sie sich einen Arduino Uno und investieren Sie zwei Stunden in das Tutorial http://arduino.cc/de/Guide/HomePage — es zeigt, wie Sie den Arduino anschließen, Programme erstellen und hochladen und über den seriellen Port eine Kommunikation zwischen Arduino und PC stattfinden lassen.

Weiterführende Details wie das Auswerten analoger und digitaler Pins und den Sinn von Pull-up- und Pull-down-Widerständen greift dieses Buch auf. Außen vor bleibt zwar nicht die Ausgabeseite (ich behandle Speicherung, Datenübertragung per Funk und Ausgabe auf LC-Displays), aber die Ansteuerung von Aktoren. Falls Sie die gemessene Drehzahl eines Elektromotors über ein Servo auf einer Zeigerskala ausgeben wollen, müssen Sie die entsprechenden Tutorials in anderen Büchern oder im Internet suchen.

Bei Redaktionsschluss war Arduino 1.6 soeben freigegeben worden. Da bereits 1.5 Beta nach meiner Erfahrung für die klassischen Arduinos (Uno, Leonardo etc.) keine Stabilitätsprobleme aufwies und Änderungen bei den APIs die eine oder andere Anpassung notwendig machen, empfehle ich Version 1.6 und beziehe mich auch im weiteren Verlauf des Buchs auf diese. So gehe ich stillschweigend davon aus, dass Libraries per Archivauswahl installiert werden können und keinen Neustart der Entwicklungsumgebung benötigen — dies ist bei Version 1.0 noch der Fall.

Auf allen Betriebssystemen ist eine Parallelinstallation möglich. Unter Linux-Distributionen wie Ubuntu 14.04 LTS, die Version 1.0 als Default mitbringen, sollten Sie zunächst die vom Distributor mitgelieferte Version installieren und diese einmal starten. Testen Sie mit dem Blink-Beispiel, ob Zugriff auf per USB angeschlossene Arduinos möglich ist. Möglicherweise bietet die IDE an, eine neue Gruppe für den Gerätezugriff anzulegen und den aktuell angemeldeten Benutzer dieser Gruppe hinzuzufügen, was Abmelden und erneutes Anmelden erfordert, damit die neue Zuordnung aktiv wird. Entpacken Sie dann das TAR-Archiv mit Root-Rechten in /opt oder /usr/local.

001sudo tar -C /opt -xvzf arduino-1.6.x-linux64.tgz

Um die Arduino-IDE nicht mit vollem Pfad aufrufen zu müssen, erstellen Sie anschließend einen Softlink:

001sudo ln -sf /opt/arduino-1.6.x/arduino /usr/bin/arduino16

Die IDE steht nun über den Befehl arduino16 zur Verfügung. Ist ein Starter erwünscht, kopieren Sie /usr/share/applications/arduino.desktop ins Heimatverzeichnis oder auf den Desktop und ändern die Datei mit dem Starter entsprechend ab.

Optisch kaum ein Unterschied zu Arduino 1.0, technisch weit besser auf neue Arduinos und Erweiterbarkeit zugeschnitten: Im Buch beziehe ich mich immer auf die Entwicklungsumgebung Arduino 1.6.

Sketches und Programme

Im Buch abgedruckte Sketches halte ich so weit wie möglich einfach und lesbar. Dabei bleibt momentan die eine oder andere Optimierung auf der Strecke — so nutze ich aus Gründen der Lesbarkeit nicht immer bitweise Verschiebungen, wenn eine Division durch eine Zweierpotenz erfolgt. Die Sketches, die Sie unter den oben genannten Adressen herunterladen können, enthalten in zusätzlichen Kommentaren Hinweise zu Optimierungsmöglichkeiten.

Ein häufiges Problem bei der Arduino-Programmierung ist die Verwendung von Bibliotheken: Arduino bringt eine Reihe von auf den gängigsten Arduinos getesteten Bibliotheken für einige auf offiziellen Shields und auf solchen von Unternehmen aus dem »engen Kreis« (Sparkfun, Adafruit) verwendeten Chips mit. Doch oft handelt es sich dabei um Hardware, die ihren Zenit bereits vor fünf Jahren überschritten hat. So sind mittlerweile günstige RTCs (Real Time Clocks — Echtzeituhren) erhältlich, die einen Temperatursensor haben, der zur Korrektur verwendet wird. Die ideale Bibliothek für diese Uhren liest nicht nur die Uhrzeit, sondern auch die Temperatur aus.

Ethernet-Module mit Empfangspuffer kosten mittlerweile weniger als ein Fünftel der »offiziellen« Ethernet-Shields. So liegt es in vielen Fällen nahe, sie zu verwenden. Dafür müssen häufig Bibliotheken genutzt werden, die nicht Teil der offiziellen Entwicklungsumgebung und in einigen Fällen einem rapiden Wandel unterworfen sind oder von verschiedenen Entwicklern den unterschiedlichen Schwerpunkten folgend in eigenen GitHub-Repositories betreut werden. Damit Sie die im Buch beschriebenen Beispiele umsetzen können, stellen wir die verwendeten Versionen als direkt installierbares Zip-Paket bereit.

Sie sollten dennoch die GitHub-Seiten der erwähnten Entwickler besuchen: Die Chancen stehen gut, dass neuere Versionen der Bibliotheken moderne Arduinos besser unterstützen, lang ersehnte Features hinzufügen oder einfach Optimierungen hinsichtlich Speicherverwaltung oder Last vornehmen. Zudem bietet GitHub die Möglichkeit, Fehlermeldungen und Optimierungsvorschläge direkt an die jeweiligen Entwickler zu richten. An dieser Stelle sei nochmals darauf hingewiesen, dass Versions- und Revisionskontrolle eine sehr praktische Erfindung ist und es sich insbesondere dann lohnt, sich mit Git und den verwendeten Tools vertraut zu machen, wenn gemeinsam an Projekten gearbeitet wird.

Shields bauen

Die einfache Erweiterbarkeit von Arduino-Platinen durch sogenannte Shields ist ein großer Pluspunkt der Plattform. Mit dem 2007 finalisierten Design entstand schnell eine Reihe fertiger »Shields« zum Aufstecken auf den Arduino. Der Kauf fertiger Shields für Uno & Co. ist bei sehr kleinen Stückzahlen interessant, wenn Platz und Energieaufnahme eine untergeordnete Rolle spielen und die verwendeten Bauteile nur als SMD-Versionen erhältlich sind. So habe ich einige fertige CAN-Bus-Shields von Sparkfun, die als Logger für den OBD-II-Port dienen und Daten direkt auf die dort einsteckbare µSD-Karte schreiben.

Drei Shields für Arduino Uno & Co.: Links ein fertiges CAN-Bus-Shield von Sparkfun, in der Mitte ein günstiges chinesisches Prototypen-Shield (das auch ein Mini-Breadboard aufnehmen kann) und rechts ein Original-Arduino-Proto-Shield.

Beim Selbstbau von Shields ist darauf zu achten, dass die Buchsenleiste für die digitalen Pins 8 bis 13 aus dem Rastermaß von 2,54 mm ausbricht — sie ist genau um 1,27 mm versetzt. Berücksichtigt man das bereits beim Aufbau einer Schaltung, verschmäht die versetzten Pins und zweckentfremdet stattdessen analoge Input-Pins als digitale Input- oder Output-Pins, können eigene Shields auf einer billigen Hartpapier-Loch- oder -Streifenrasterplatine angefertigt werden.

Werden alle Ein- und Ausgänge oder die SPI-Pins 11 bis 13 benötigt, können Sie zu einem der originalen »Proto-Shields« greifen, die zu Preisen um die 8 Euro erhältlich sind und den Komfort durchgeöster Lötaugen und Stapelbarkeit bieten. Alternativ zu den originalen Proto-Shields sind zu Preisen ab 3 Euro bereits pfiffige chinesische Kopien auf dem Markt, die das Konzept weiterspinnen und eigene Schienen für Masse und Versorgungsspannung oder Felder für oft benutzte Komponenten mitbringen.

Noch einfacher wird es, wenn Sie einen Arduino Pro Mini oder den später beschriebenen selbst gebauten »Rasterduino« verwenden. Der Pro Mini bleibt komplett — mit allen Pins — im Rastermaß von 2,54 mm, beim Rasterduino haben Sie zudem die Wahl, eine etwas größere Platine zu verwenden und die benötigten Bauteile gleich mit auf den Selbstbau-Arduino zu löten.

Vier »Arduino-Derivate«, die im Rastermaß von 2,54 mm bleiben: vorne drei Pro-Mini-Derivate aus China und Deutschland (3 bis 10 Euro), hinten ein selbst gelöteter Rasterduino (3 bis 5 Euro für die Komponenten).

Spannungsängste vermeiden

Ein auf den ersten Blick großes Ärgernis sind Betriebsspannungen: Sie werden den Großteil der Bauteile auf Spannungsbereiche von 3 bis 7 Volt spezifiziert vorfinden, aber es gibt Bauteile, die auf 5 bis 12 Volt ausgelegt sind, und andere, die 3,3 Volt verlangen. Arduino Pro Mini und Rasterduino werden immer mit entweder 3,3 Volt oder 5 Volt betrieben — beziehungsweise dem nächstliegenden Wert, den die Spannungsquelle (Batteriepack, Akku, Solarzelle ...) bereitstellt. Das bedeutet im Idealfall, dass die Spannung des Arduino auf die am wenigsten flexible Peripherie ausgelegt werden kann.

Können nicht alle Komponenten in einem gemeinsamen Spannungsbereich betrieben werden, müssen Sie eine Spannungsteilerschaltung aufbauen, um die Versorgungsspannung bereitzustellen, und für IO-Pins einen Level-Shifter oder ebenfalls einen Spannungsteiler verwenden. In der Praxis gelten viele 3,3-Volt-Peripheriegeräte jedoch als »5-Volt-sicher«, was bedeutet, dass zumindest der Testbetrieb über einige Stunden hinweg am PC mit 5 Volt möglich ist. So haben wir — ohne dass Schäden aufgetreten wären — mehrere µSD-Karten für einige Minuten mit einem am PC angeschlossenen Pro Mini getestet, bevor die fertigen Sensorknoten auf Batteriebetrieb (2x Alkaline, also 3,0 Volt) in den »Regelbetrieb« übernommen wurden.

Gleiches gilt für viele andere Komponenten wie Ethernet-Module, die sowieso hohe Pegel zu verarbeiten haben. Verlassen sollten Sie sich aber nicht auf die Nutzbarkeit von 3,3-Volt-Komponenten mit 4,5 oder 5 Volt. Konsultieren Sie im Zweifel das Datenblatt des Bauteils oder suchen Sie in Foren nach Nutzern, die das betreffende Bauteil bereits seit längerer Zeit unter der erwähnten höheren Spannung einsetzen.

Keine Angst sollten Sie beim Betrieb von LEDs mit deutlich höheren Spannungen als den üblichen 1,8 bis 2,0 Volt haben. Verwenden Sie einen Pin, der Pulsweitenmodulation bietet — oder lassen Sie die LED einfach selbst blitzen: Drei Millisekunden auf vollen 5 Volt, gefolgt von einer halben Sekunde Pause ist für das menschliche Auge als deutliches Aufblitzen wahrnehmbar und gibt der LED genügend Zeit zur Abkühlung:

001void loop() {002  digitalWrite(led, HIGH);003  delay(3);004  digitalWrite(led, LOW);005  delay(500);006}

Soll eine LED dauernd leuchten und steht kein Pin mit Pulsweitenmodulation zur Verfügung, arbeiten Sie mit Vorwiderständen. 560 Ohm oder 1 kOhm (Kiloohm) sind gute Ausgangswerte. Messen Sie in solch einem Aufbau mit dem Multimeter die an der LED anliegende Spannung. Liegt diese unter 2 Volt, ist alles okay, liegt sie darüber, hilft die Tatsache, dass Spannungsabfälle proportional zu den jeweiligen Widerständen sind, den wirksamen Widerstand der Diode zu berechnen und den Vorwiderstand entsprechend zu dimensionieren.

Inhaltsverzeichnis

1Arduinos vorbereiten

1.1Arduino Uno — der Klassiker

1.2Zwischenlösung Leonardo

1.3Arduino-Zukunft Zero?

1.4»Starke« Mitglieder der Arduino-Familie

1.5Intel Galileo

1.6Arduino Yún

1.7Arduino Tre

1.8Klein, billig und schnell einsatzbereit

1.9Arduino Pro Mini

1.10Der Selbstbau-Minimal-Arduino

1.11Leonardo und Micro für Nischenanwendungen

1.12Zwei Derivate mit Funk

1.13Energiesparen mit ATmega328

1.14Unnötige Verbraucher eliminieren

1.15Schlank im Schlaf

1.16Weitere Einsparmaßnahmen

1.17Nicht ganz ungefährlich: Brownout deaktivieren

1.18Trickle Charging mit Solarzelle

2Sensoren bauen

2.1Analoge Sensoren

2.1.1Auflösung an allen Analog-Pins

2.1.2Widerstände mit Spannungsteiler messen

2.1.3Spannungen gegen eine Referenz messen

2.1.4Interne Referenzspannung nutzen

2.1.5Externe Referenz anschließen

2.2Typische analoge Sensoren

2.2.1Temperatur (NTC und PTC)

2.2.2Wasserstand per Widerstand

2.2.3Sonderform Wassermelder

2.2.4Fotowiderstände

2.2.5Arduino-Lügendetektor

2.2.6Gassensoren der MQ-Reihe

2.2.7Ströme messen mit Shunts

3Kapazitäten messen

3.1CapacitativeSense als Näherungssensor

3.2Schallsensor mit Elektretmikrofon

40 oder 1 — Arbeiten mit Schaltern

4.1Aktives Pollen

4.1.1Code und Aufbau schlank halten

4.1.2Prellende Schalter stabilisieren

4.1.3Interrupts verwenden

4.1.4Reset kreativ einbeziehen

4.1.5Hallsensor und Magnetfeldmessung

4.1.6Spule und Frequenzregelung

5Digitale Sensoren

5.1Temperaturmessung mit DHT11 und DHT22

5.1.1Unterschiede und bevorzugter Einsatzzweck

5.1.2DS3231 Real Time Clock

5.1.3One-Wire-Temperatursensor DS18D20

5.2Passive Infrarotsensoren

5.3Entfernungsmessung mit Ultraschall

5.4Rauchmelder als Sensor

6Drahtlose Kommunikation

6.1Kommunizieren per Einwegefunk

6.1.1Manchestercode über RF Link

6.2Funkverbindung mit Rückkanal

6.2.1RFM12 und RFM69 — Senden ohne Bestätigung

6.3Bluetooth, ein zweischneidiges Schwert

6.3.1Bluetooth-Kommunikation mit Arduino Uno

6.3.2Bluetooth-Programmierung eines Pro Mini

6.4XBee, eine teure Angelegenheit

6.5nRF24L01 2,4 GHz

6.6WLAN-Sensoren mit Arduino Yún

7Kommunikation über Kabel

7.1Kabellängen und mögliche Probleme

7.2Punkt-zu-Punkt-Datenübertragung via USB

7.3Serielle Verbindung — der Klassiker

7.3.1Messwert von Arduino zu Arduino übertragen

7.4I2C — flexibler Kommunikationsstandard

7.4.1Arduino-basierter Sensor schickt Daten zu einem RPi

7.5Ethernet für kabelgebundene Datennetze

7.5.1Problem und zugleich Vorteil

7.5.2Sensor sendet regelmäßig per UDP

7.5.3Arduino als minimaler Webserver

7.6CAN-Bus in der Fahrzeugelektronik

8Sensordaten anzeigen und speichern

8.1Werte speichern

8.1.1Datenspeicherung auf EEPROM

8.1.2Datenspeicherung auf SD-Karte

8.2Messwerte auf dem Display anzeigen

8.2.1PCD8544 — Pixeldisplay vom Handyklassiker

8.3Zeichendisplay WH1602

9Kombinierte Projekte

9.1Uhr mit Thermometer und LC-Display

9.2Webserver zeigt Temperatur und Luftfeuchte

9.3Clapper schaltet Funksteckdosen

9.4Temperaturlogging auf SD-Karte

9.5Roboter umfährt Hindernisse

9.6Wählscheibe als Retronummernblock

9.7Kompass auslesen

Stichwortverzeichnis

Arduinos vorbereiten

In diesem Kapitel möchte ich einen kurzen Überblick über die Arduino-Familie geben — den einen richtigen Arduino gibt es nicht, stattdessen muss je nach Anwendungsfall neu entschieden werden, ob ein billiger Selbstbau-Arduino die Platine der Wahl ist oder vielleicht doch einer der klassischen Arduinos schneller zum Ziel führt. Am Ende des Kapitels erfahren Sie, wie Sie Ihren Arduino auf minimale Leistungsaufnahme trimmen und welche verschiedenen Stromversorgungen die Diät ermöglicht.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!