Mach was mit Arduino! - Robert Jänisch - E-Book

Mach was mit Arduino! E-Book

Robert Jänisch

0,0

Beschreibung

Mach was mit Arduino! Einsteigen und durchstarten mit Drum Machine, Roboterauto & Co.

Du bist im Besitz eines Arduino und kannst es kaum erwarten, den smarten Mikrocontroller in Aktion zu sehen? In diesem Buch erwartet dich Praxis pur. Anhand zahlreicher Beispielanwendungen lernst du alles, was du wissen musst, um deine Elektronik-Projekte mithilfe des Arduino erfolgreich in die Tat umzusetzen – von der Sketch-Programmierung über den Schaltungsaufbau bis zum Einsatz der Hardware-Komponenten.

Folgende Themen erwarten dich:

- Installation der Arduino-Software (IDE), Übertragung von Sketches
- Basics der Sketch-Programmierung: Variablen, Arrays, Schleifen & Co.
- Alles Wissenswerte zum Arduino-Board & anderen Hardware-Komponenten: Taster, LEDs, Transistoren, Sensoren, Motoren, Displays & Co.
- Elektrotechnische Grundlagen, Schaltungsaufbau (Breadboarding) & Schaltplanentwicklung mit Fritzing
- Internet der Dinge (IoT) mit Arduino & Particle Photon
- Mit zahlreichen Projekten: Weltzeituhr, Wetterstation, temperaturgeregelter Lüfter, Pflanzenbewässerungsanlage, Sythesizer & Drum Machine, Roboterauto & humanoider Roboter
- Im Internet: Die Sketches sämtlicher Beispielprojekte aus dem Buch

Wenn du darauf brennst, deine eigenen Elektronik-Projekte mit dem Arduino zu verwirklichen, dann liefert dir dieses Buch alle Skills, um den Umgang mit der Arduino-Software und -Hardware souverän zu meistern. Von leicht bis anspruchsvoll ist für jedes Wissenslevel ein Projekt enthalten, sodass deinem Erfindergeist bald keine Grenzen mehr gesetzt sein werden.

Systemvoraussetzungen für E-Book inside: Internet-Verbindung und Adobe-Reader oder Ebook-Reader bzw. Adobe Digital Editions

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 244

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
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.



Robert Jänisch Jörn Donges

Mach was mit Arduino!

Einsteigen und durchstarten mit Drum Machine, Roboterauto und Co.

Die Autoren:

Robert Jänisch, KölnJörn Donges,Hamburg

Alle in diesem Buch enthaltenen Informationen, Verfahren und Darstellungen wurden nach bestem Wissen zusammengestellt und mit Sorgfalt getestet. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grund sind die im vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autoren und Verlag übernehmen infolgedessen keine juristische Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieser Informationen – oder Teilen davon – entsteht.

Ebenso übernehmen Autoren und Verlag keine Gewähr dafür, dass beschriebene Verfahren usw. frei von Schutzrechten Dritter sind. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch berechtigt deshalb auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen­ und Markenschutz­Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren) – auch nicht für Zwecke der Unterrichtsgestaltung – reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden.

© 2017 Carl Hanser Verlag Münchenwww.hanser-fachbuch.de

Lektorat: Julia Stepp Herstellung: Cornelia Rothenaicher Herstellung: Vorname Name Umschlagrealisation: Stephan Rönigk Titelillustration: © Ryan McGuire (http:// gratisography.com/#objects) Satz: Kösel Media GmbH, Krugzell Druck und Bindung: CPI books GmbH, Ulm Printed in Germany

Print-ISBN  978-3-446-45128-5 E-Book ISBN  978-3-446-45128-5

Verwendete Schriften: SourceSansPro und SourceCodePro (Lizenz) CSS-Version: 1.0

Inhalt

Titelei

Impressum

Inhalt

1 Einführung

1.1 Maker ‒ die Erfinder von morgen

1.2 Was dich in diesem Buch erwartet

1.3 Wie dieses Buch aufgebaut ist

2 Willkommen in der Arduino-Welt!

2.1 Was ist überhaupt der Arduino?

2.2 Los geht’s! Installation der Arduino-Software

2.2.1 Die Arduino-Software downloaden

2.2.2 Den USB-Treiber unter Windows installieren

2.3 Die Entwicklungsumgebung starten und den ersten Sketch übertragen

3 Dein erster Schaltkreis

3.1 Schaltungsaufbau mit dem Breadboard (Steckbrett)

3.1.1 Aufbau

3.1.2 Versorgungsspannung

3.1.3 Einschränkungen

3.2 Vom Programm zur Schaltung: Hardwareentwicklung mit dem Arduino

3.3 Dein erster Stromkreis

3.4 „Es werde Licht!“ Eine LED zum Leuchten bringen

3.5 Jetzt nehmen wir Kontakt auf: Ein- und Ausgänge am Arduino

3.6 Wir tasten uns heran: Eine LED per Taster steuern (Teil 1)

3.7 Morsen mit dem Arduino: Eine LED per Taster steuern (Teil 2)

3.8 If-Abfragen erstellen: Eine LED per Taster steuern (Teil 3)

3.9 Ein Taster, zwei Wirkungen: Eine LED ein- und ausschalten

4 Der Schlüssel zum Verstehen aller Schaltungen

4.1 Der Schaltplan ‒ die abstrakte Essenz der Schaltung

4.2 Spannung, Strom, Widerstand ‒ das Dreigespann der Elektrotechnik

4.3 Bitte parallel in Reihen aufstellen! Das Gesetz der Reihenschaltung

4.4 Das Multimeter ‒ ein Multitalent für Strom, Spannung und Widerstand

4.5 Schaltplanentwicklung und -zeichnung mit Fritzing

4.5.1 Die Steckplatinen-Ansicht

4.5.2 Die Schaltplan-Ansicht

4.5.3 Die Platinen-Ansicht

4.5.4 Die Code-Ansicht

5 Eine Ampel mit Tag- und Nachtschaltung

5.1 Arduino-Ampel vs. reale Ampelsteuerung

5.2 Die Ampel zeigt grün für den Arduino: eine Tagschaltung programmieren

5.3 Nachts sind alle Ampeln gelb: eine Nachtschaltung programmieren

5.4 Ein Spannungsteiler in Aktion: Messdaten mit einem Analog-Digital-Wandler auslesen

6 Eine Weltzeituhr mit Alarmfunktion

6.1 Das LCD-Display HD44780 anschließen

6.2 Text auf dem Display darstellen

6.3 Strings oder Rechnen mit Wörtern: Der Arduino als Digitaluhr (Teil 1)

6.4 Was schlägt die Stunde? Der Arduino als Digitaluhr (Teil 2)

6.5 Bits und Bytes bis zum Überlaufen: Der Arduino als Digitaluhr (Teil 3)

6.6 Wie Funktionen funktionieren: Der Arduino als Digitaluhr (Teil 4)

6.7 Ein wenig Zeitrechnung muss sein: Der Arduino als Digitaluhr (Teil 5)

6.8 Der Arduino als Weltzeituhr (Teil 1)

6.9 Arrays ‒ die virtuellen Sortimentskästen: Der Arduino als Weltzeituhr (Teil 2)

6.10 New York, Rio, Tokyo: Der Arduino als Weltzeituhr (Teil 3)

6.11 Jetzt wird der Arduino laut: Weltzeituhr mit Alarmfunktion

7 Eine Mini-Wetterstation mit Analoganzeige

7.1 Der Temperatur- und Luftfeuchtigkeitssensor DHT11

7.2 Serielle Info für die Fehlersuche: Einsatz des seriellen Monitors

7.3 Jetzt kann das Wetter kommen! Aufbau der Wetterstation

7.4 Statusmeldungen des DHT11-Sensors ausgeben

7.5 Die case-Abfragetechnik: DHT11-Fehlercodes, Temperatur und Luftfeuchtigkeit ausgeben

7.6 Ein Statustaster gratis! Statusabfrage mit dem Reset-Taster des Arduino

7.7 Messuhr mit Stil: Analoge Temperaturanzeige

7.8 Die Bauteile für die Temperaturanzeige: Servo und Potentiometer

7.9 Das Potentiometer: Dateneingabe auf analoge Weise

7.10 Der Servo-Motor: Arme und Beine für den Arduino

7.11 Wir bauen ein Thermometer: Skala und Zeiger für die Temperaturanzeige

7.12 Das Thermometer ist fertig: Berechnung der Temperaturskala

7.13 Der Variablentyp float: Umrechnung der Temperatur in Winkelwerte

8 Eine temperaturgeregelte Lüftersteuerung

8.1 Jetzt kommt Bewegung ins Spiel: ein Gleichstrommotor als Lüfter

8.2 Ein Ventil für elektrischen Strom: der Transistor

8.3 Spannungsspitzen vermeiden: eine Diode zum Schutz des Arduino

8.4 Temperaturmessung mit dem TMP36-Sensor

8.5 Alles geregelt dank Arduino: Temperaturregelung und Lüfterschaltung verbinden

9 Exkurs: Internet der Dinge (IoT) mit dem Particle Photon

9.1 Particle Photon & Co.: Mikrocontroller von Particle.io

9.2 Déjà-vu für Arduino-Kenner: Die Parallelen zwischen Arduino und Particle Photon

9.3 Den Particle Photon einrichten und einen ersten Sketch übertragen

9.3.1 Ohne Particle-Account und Strom geht nichts

9.3.2 Ein Multifarbentalent: die Bedeutung der LED-Farben beim Particle Photon

9.3.3 Anmeldung per Smartphone: die Particle-App

9.3.4 Den ersten Sketch übertragen

10 Eine Pflanzenbewässerungsanlage: Kombination von Arduino und Particle Photon

10.1 Benötigte Bauteile

10.2 Aufbau und Programmierung der Pflanzenbewässerungsanlage

10.3 Steuerung der Pflanzenbewässerung übers Internet

11 Der Piezoeffekt: Wie du mit dem Sound von 1880 deinen Arduino rockst

11.1 Ohne Sound geht nichts: Tonerzeugung mit Piezo-Summer oder Lautsprecher

11.2 Do Re Mi Fa So La Ti: eine Tonleiter spielen

11.3 Auf das Timing kommt es an: die Tondauer festlegen

11.4 Melodiegenerator und Lautstärkeregler

11.5 Rechnen mit Tönen: ein Pitch-Regler kontrolliert die Tonhöhe

11.6 Auf und ab: eine Melodie in allen Tonarten erklingen lassen

12 Echt stark! Eine Verstärkerschaltung mit Transistor für den Arduino

12.1 Wir bauen einen Mini-Audioverstärker

12.2 Das Grundprinzip der Verstärkung: So funktioniert der Transistor

12.3 Stromspeicher und Wechselstrom-Ventil: So funktioniert der Kondensator

12.4 Der Kondensator schützt die Ein- und Ausgänge

13 Ein Sythesizer aus Arduino und Digital-Analog-Wandler

13.1 Von Zahlen zu Spannungen: der Digital-Analog-Wandler

13.2 Sag es mit 1 und 0: die Binärdarstellung mit dem Arduino

13.3 Mit PORTD die digitalen Pins kontrollieren

13.4 Auf die Klangfarbe kommt es an: Sinus-, Rechteck- und Dreieckschwingung

13.5 Der Arduino gibt den Takt vor: Änderung der Wellenform

13.6 Jetzt wird Sound draus: Änderung der Tonhöhe

14 Eine Arduino-Drum Machine

14.1 So wird der Arduino zur Drum Machine

14.2 Retro-Drum Sound mit 8 bit: Samples für die Drum Machine

14.3 Mehrdimensionale Arrays für die Programmierung der Drum Machine

15 Ein autonom fahrendes Roboterauto

15.1 Empfohlene Starthilfe: ein Roboter-Bausatz

15.2 Zusammenbau des Roboter-Bausatzes

15.2.1 Schritt 1: Einbau von Chassis und Motoren

15.2.2 Schritt 2: Installation des Motortreibers

15.2.3 Schritt 3: Einbau des Arduino und des Batteriegehäuses

15.2.4 Schritt 4: Vorbereitung des Ultraschall-Sensors

15.2.5 Schritt 5: Einbau des Arduino Uno und des Sensor Shields

15.2.6 Schritt 6: Einbau des Ultraschall-Sensors

15.3 Programmierung des Roboterautos

Hinderniserkennung

Entfernungsmessung

16 Bob, der humanoide Roboter

16.1 Humanoide Roboter für alle: das InMoov-Projekt

16.2 Wir bauen einen humanoiden Roboter (Teil 1): Organisation ist alles

16.3 Wir bauen einen humanoiden Roboter (Teil 2): 3D-Druck und Zusammenbau der Einzelteile

16.4 Wir bauen einen humanoiden Roboter (Teil 3): Typische Fehler und wie man sie am besten vermeidet

17 Alles, was du für deine Arduino-Projekte über Programmierung wissen musst

17.1 Grundstruktur von Arduino-Sketches

17.2 Einbinden von Libraries

17.3 Schreiben und Auslesen von Daten

17.4 Variablen

17.4.1 Int/Long-Variablen

17.4.2 String-Variablen

17.4.3 Float/Double-Variablen

17.4.4 Boolean-Variablen

17.4.5 Arrays

17.5 Serieller Monitor

17.6 Abfragen

17.6.1 If-Abfragen

17.6.2 Case-Abfragen

17.7 Schleifen

17.7.1 For-Schleifen

17.7.2 Do while-Schleifen

17.8 Definition eigener Funktionen und Prozeduren

17.9 Systemvariablen und Funktionen

17.9.1 millis()

17.9.2 PORTD

17.9.3 tone(Frequenz)

17.9.4 sizeof(Variable)

17.9.5 delay(T) und delayMicroseconds(t)

18 Alles, was du für deine Arduino-Projekte über Hardware wissen musst

18.1 Schaltplan

18.2 Ohmsches Gesetz

18.3 Widerstand

18.4 Leuchtdiode (LED)

18.5 Potentiometer

18.6 Schalter und Taster

18.7 Fotowiderstand (LDR)

18.8 LCD-Display

18.9 Piezo-Töner

18.10 Temperatur- und Luftfeuchtigkeitssensor DHT11

18.11 Servo-Motor

18.12 DC-Motor

18.13 Diode

18.14 Transistor

18.15 Kondensator

19 Ausblick: Noch mehr Mikrocontroller und Projektideen

19.1 Weitere Arduino-Boards

19.2 Weitere Mikrocontroller-Plattformen

19.3 Löten und Platinenbau

19.4 Ausblick: Musik-Projekte (Audio und Midi)

19.5 Ausblick: Messen und Steuern im Haus (Smart Home)

19.6 Ausblick: Roboterbau und -programmierung

19.7 Vernetze dich! Projektideen teilen

1Einführung

Im Zuge der Initiative „Start Coding“ (http://start-coding.de) ließ Ranga Yogeshwar folgenden Satz fallen: „Programmieren ist die Sprache des 21. Jahrhunderts.“ Was genau möchte er uns damit sagen? Er möchte zum Ausdruck bringen, dass die Fähigkeit des Programmierens in unserer vernetzten und digitalen Welt immer wichtiger wird. Wenn wir davon ausgehen, dass Softwareentwickelung eine immer größere Bedeutung gewinnt, dann ist die Verbindung von Software und Hardware die Königsdisziplin.

Um genau diese Verbindung von Software und Hardware wird es in diesem Buch gehen, denn Arduino ist eine aus Soft- und Hardware bestehende Physical-Computing-Plattform. Die hier entwickelten Projekte werden nicht auf deinem Computerbildschirm enden, sondern in der realen Welt erlebbar werden. Wir werden Objekte bauen, die mit deinem Umfeld interagieren können. Das können Gegenstände aus dem alltäglichen Leben, wie z. B. ein Wecker, sein. Das können aber auch solch futuristische Dinge wie ein humanoider Roboter oder eine vollautomatisierte Pflanzenbewässerungsanlage sein. Hast du Lust, zusammen mit uns zum Erfinder zu werden?

1.1 Maker ‒ die Erfinder von morgen

Vielleicht fragst du dich, was dieses Buch mit Erfindungen zu tun hat. Alle großen Erfindungen fingen mit einer kleinen Idee und großer Leidenschaft an. Einige von ihnen haben die Welt grundlegend verändert. Wusstest du, dass viele große Erfindungen gar nicht im Labor eines Unternehmens, sondern durch Menschen wie dich und mich gemacht wurden? Gary Fisher hat zum Beispiel das Mountain Bike erfunden. Ottomar von Mayenburg hat 1907 auf einem Dachboden die Zahnpasta erfunden. Es gibt hunderte von Beispielen faszinierender Dachboden- und Garagen-Erfindungen. Der Zeitungsartikel „50 deutschen Erfindungen, die die Welt veränderten“1 gibt dir einen Vorgeschmack. Leider scheinen wir in Deutschland vergessen zu haben, wer der Hauptdarsteller einer Erfindung ist. Du bist es! Erfindungen sind kein Hexenwerk. Du benötigst aber einige Grundlagen, um als Erfinder durchstarten zu können.

Dieses Buch liefert dir das nötige Wissen und die erforderlichen Werkzeuge, um dir das Erfinden und Herstellen von Dingen zu ermöglichen. Das kann eine twitternde Topfpflanze oder ein intelligentes Türschloss sein. Die einzige Grenze ist deine Vorstellungskraft.

Nun fragst du dich sicherlich: Was braucht der Erfinder von morgen? Er benötigt:

Software (z. B. eine Entwicklungsumgebung), Hardware (z. B. Mikrocontroller, Sensoren, Aktoren etc.) und Werkzeuge (Multimeter, Lötkolben usw.)

Grundkenntnisse in Programmierung und Elektronik

Spaß am Experimentieren

Zugang zu neuester Technologie und neuestem Wissen

Neueste Technologie und frisches Wissen sind das Alphabet des 21. Jahrhunderts. Wenn du neue Technologien beherrschst, konsumierst du Produkte und Services nicht einfach nur, sondern gestaltest deine Welt selbstbestimmt. Du kannst zum Beispiel

technische Gegenstände reparieren oder verbessern,

interaktive Dinge für das Internet der Dinge (IoT) bauen,

kleine Roboter oder Drohnen bauen,

oder Maschinen bauen, die Maschinen bauen (3D-Drucker, CNC-Fräsen).

Wäre es nicht aufregend, solche Dinge zu bauen und mit der physikalischen Welt interagieren zu lassen? Stell dir vor, was du mit deinen Ideen alles verändern könntest.

Mit diesem Buch möchten wir dich auf deinem Weg zum Erfinder von morgen begleiten. Du wirst erfahren, wie du durch den Einsatz neuester Technologien und deiner Innovationskraft die Welt verändern kannst.

Auf Basis spannender Arduino-Projekte wirst du neue Technologien entdecken, kennenlernen und ausprobieren. Mit dem erworbenen Wissen wirst du in der Lage sein, deine eigenen Projekte zu verwirklichen und diese mit der Maker-Community zu teilen.

„Was ist denn ein Maker?“ fragst du dich nun vielleicht. Maker ist eigentlich nur ein modernes Wort für Erfinder. Früher war es deutlich schwerer, auf gleichgesinnte Erfinder zu treffen. Beflügelt durch das Internet, Maker Faires (Messen) und FabLabs (offene Werkstätten) ist in der Zwischenzeit jedoch eine sehr lebhafte Maker-Community entstanden.

Im Zuge der Digitalisierung wird auch Hobbybastlern der Zugang zu High Tech ermöglicht. Der Maker von heute kann programmieren, löten und kennt sich mit Hardware-Plattformen wie dem Arduino aus. Dennoch ist der Weg zum „smarten“ Maker ein langer und nur wenige schaffen es, diesen erfolgreich zu meistern.

Die Maker-Community ist eine bunt gemischte Truppe. Manche bringen viele Vorkenntnisse mit, andere gar keine. Eines haben sie aber alle gemeinsam: Sie haben eine Idee und wollen diese umsetzen. Diese überproportionale Begeisterung für eine Sache macht den reinen Konsumenten zum Maker, der seine eigenen Produkte und Services bauen möchte. Um den Schritt von der „Zero“ zum „Hero“ zu meistern, müssen zwei wichtige Kriterien erfüllt sein:

Der Maker muss breiten Zugang zu modernen Werkzeugen und Technologien haben.

Der Maker muss eine große Auswahl an Möglichkeiten haben, sich frisches Wissen anzueignen.

Beide Kriterien sind in Deutschland noch nicht zur vollsten Zufriedenheit erfüllt, doch die stetig wachsende Maker-Community mit ihren FabLabs und Maker Spaces ist auf einem guten Weg.

Der Wunsch, Dinge zu verbessern, neue Technologien zu nutzen und Wissen mit anderen zu teilen, macht den Maker zum „smarten“ Maker. Um ein „smarter“ Maker zu werden, musst du dich mit anderen Makern austauschen und vernetzen, das heißt, du musst Zugang zu deren Expertise bekommen.

In den FabLabs und digitalen Communities entstehen neue Erfindungen und Innovationen. Wissen wird ausgetauscht und konzentriert sich. Einige dieser Erfindungen finden auch außerhalb der Maker-Community starken Zuspruch. Durch erfolgreiche Crowdfunding-Kampagnen wird ein Zugang zum Markt geschaffen. So kann das Fundament zu einem wirtschaftlichen Unternehmen gelegt werden. Auch wenn nur die Erfindungen einiger mutiger und smarter Maker es auf dieses Level schaffen, so kann die Auswirkung dennoch gigantisch sein. Der italienische Physiker und Elektroningenieur Guglielmo Marconi2 wurde auf diesem Wege zum Pionier der drahtlosen Telekommunikation.

Wir hoffen, dass dieses Buch dich dabei unterstützen wird, ein „smarter“ Maker zu werden.

1.2 Was dich in diesem Buch erwartet

Auf Basis des Arduino werden wir in diesem Buch die spannende Welt der Mikrocontroller erkunden. Du benötigst dafür keine besonderen Vorkenntnisse. Es reicht, wenn du Interesse an der Mikrocontrollertechnik mitbringst, und Spaß am Aufbau von Schaltungen sowie der Entwicklung von Programmen hast. Aber sonst wärst du ja wahrscheinlich nicht hier, oder?

In elf spannenden Projekten lernst du alles, was du über Programmierung und Hardware wissen musst, um deine eigenen Ideen mit dem vielseitigen Mikrocontroller-Board zu verwirklichen. Wir haben Wert darauf gelegt, dass du keine graue Theorie pauken musst, sondern gleich mit dem Aufbau von nützlichen Geräten loslegen und wertvolle Praxiserfahrung erwerben kannst.

Nachdem du die Beispiele in diesem Buch aufgebaut und nachprogrammiert hast, wirst du genug über die Arduino-Plattform wissen, um deine eigenen Schaltungsideen planen und umsetzen zu können. Mit diesem Buch im Regal wirst du über den Werkzeugkasten verfügen, den du benötigst, um deiner Kreativität freien Lauf zu lassen. Sicherlich werden dir schon beim Nachbauen der Projekte Ideen kommen, wie man diese erweitern und verändern kann. Fühle dich stets frei, dies zu tun! Die Arduino-Plattform ist genau dafür gemacht. Sie soll Raum zum Experimentieren und Ausprobieren geben, und dich in die Lage versetzen, ohne theoretischen Ballast zur Umsetzung zu gelangen. Im Fachjargon sagt man dazu „Rapid Prototyping“. Das heißt so viel wie „eine Idee schnell mal ausprobieren“. Es wird dann rasch klar, ob die Idee funktioniert, und an welchen Stellen sie noch erweitert oder verbessert werden muss. So kannst du deine Projekte Schritt für Schritt immer weiter optimieren. Und wer weiß, vielleicht treffen wir uns dann irgendwann auf einer Erfindermesse wieder?

1.3 Wie dieses Buch aufgebaut ist

Wenn du noch keine Erfahrung mit dem Arduino hast, dann solltest du die Kapitel nacheinander durcharbeiten, denn sie bauen aufeinander auf. Neue Dinge werden wir immer dann erklären, wenn sie zum ersten Mal auftreten. Daher nimmt der Schwierigkeitsgrad der Projekte im Verlauf des Buches zu.

Solltest du ein Theoriefan sein, kannst du auch zu Beginn auch erst einmal zu Kapitel 17 und 18 springen. Dort findest du die wichtigsten Programmier- und Hardwarekenntnisse, die in die diesem Buch vermittelt werden, in der Zusammenfassung.

Bevor wir die ersten Arduino-Projekte realisieren, erhältst du in den Kapiteln 2 bis 4 erst einmal die wichtigsten Grundlagen für deine Arbeit mit dem Arduino. Dazu zählen u. a. die Installation der Entwicklungsumgebung sowie das Lesen von elektronischen Schaltungen. Auch hier werden wir bereits mit zahlreichen Beispielen arbeiten.

Anschließend stürzen wir uns direkt in die Praxis. In Kapitel 5 bauen wir eine Arduino-gesteuerte Ampelschaltung. Du wirst überrascht sein, wie schnell das geht. Danach bauen wir einige nützliche Geräte, die dich im Alltag unterstützen. In Kapitel 6 lernst du, wie man eine Weltzeituhr mit Alarmfunktion baut. In Kapitel 7 entwickeln wir eine Mini-Wetterstation mit Analoganzeige. In Kapitel 8 realisieren wir eine temperaturgeregelte Lüftersteuerung.

Wenn Du dich nun fragst, wie du eine ganz individuelle Smart Home-Lösung entwickeln kannst, sind die nächsten beiden Kapitel etwas für dich. In Kapitel 9 erklären wir dir, wie du mit dem Particle Photon, einer Arduino-ähnlichen Hardware-Plattform, mit dem Internet vernetzte Schaltungen entwickeln kannst. Diese nutzen wir in Kapitel 10, um eine automatische Pflanzenbewässerungsanlage zu bauen.

Ein weiteres faszinierendes Gebiet ist die Tonerzeugung mit dem Arduino. In den Kapiteln 11 bis 14 unternehmen wir einen Ausflug in die Welt der Synthesizer und gesampelten Sounds. Dabei lernst du wichtige Hardware-Konzepte wie die Digital-Analog-Wandlung kennen. Im letzten und anspruchsvollsten Sound-Projekt werden wir eine echte Drum Machine bauen (Kapitel 14).

In Kapitel 15 und 16 lernst du die aufregende Welt der Robotik kennen. Wir bauen ein autonom fahrendes Roboterauto und einen humanoiden Roboter.

Wie bereits erwähnt, erhältst du in Kapitel 17 und 18 noch einmal eine Zusammenfassung der wichtigsten Programmier- und Hardwarekenntnisse, die in die diesem Buch vermittelt werden. Diese Kapitel kannst du jederzeit nutzen, um eine bestimmte Sache nachzuschlagen oder dein Wissen aufzufrischen.

Das Buch schließt mit einem Ausblick auf andere Mikrocontroller-Boards sowie spannende Projektideen, die du darüber hinaus noch realisieren kannst.

Die Sketches sämtlicher Projekte aus diesem Buch findest du unter www.deskfactory.de/mach-was-mit-arduino. Dort berichten wir auch über neue Projekte und bieten dir Platz für Fragen und Austausch.

So, und nun wünschen wir dir viel Vergnügen bei der Lektüre dieses Buches! Wir hoffen, dass du genauso viel Spaß beim Umsetzen der Projekte hast wie wir.

Köln/Hamburg, März 2017

Robert Jänisch

Jörn Donges

Fussnoten

1https://www.welt.de/wirtschaft/karriere/leadership/gallery12202607/50-Erfindungen-die-die-Welt-veraenderten.html

2Hier erfährt du mehr über Guglielmo Marconi: https://www.youtube.com/watch?v=v8qXtu0-__k

2Willkommen in der Arduino-Welt!

Wenn man vom Arduino spricht, ist meistens die Hardware, also die Platine mit dem Mikrocontroller, gemeint. Zusätzlich zur Hardware wird auch eine Softwareumgebung ausgeliefert, mit der du Programme für den Arduino schreiben kannst. Bevor wir uns in den folgenden Kapiteln in die Praxis stürzen, erhältst du an dieser Stelle erst einmal einen kompakten Schnelleinstieg in die Arduino-Welt.

Wir vermitteln dir die wichtigsten Grundlagen zur Arduino-Hardware und zeigen dir, wie du die dazugehörige Software auf deinem Rechner installierst. Außerdem lernst du, wie du in der Software, auch Entwicklungsumgebung genannt, verschiedene Einstellungen vornehmen kannst, um deinen Arduino zu konfigurieren. Sind alle Einstellungen korrekt gewählt, wird es ein Leichtes für dich sein, ein Programm an die Arduino-Hardware zu übertragen. Am Ende des Kapitels wirst du in der Lage sein, Programme auf deinem Arduino auszuführen.

2.1 Was ist überhaupt der Arduino?

Bei der Arduino-Plattform handelt es sich um eine komplette Experimentier- und Entwicklungsumgebung für die beliebten und weit verbreiteten Mikrocontroller der Firma Atmel. 2016 wurde die Firma Atmel von der Firma Microchip gekauft. Der Mikrocontroller-Chip ist zwar das Hirn und die Schaltzentrale eines jeden Projekts, aber um ihn zum Leben zu erwecken, braucht es noch ein wenig mehr. Der Chip muss mit Strom versorgt werden, und es muss eine Möglichkeit geben, Programme und Daten darauf zu schreiben. Natürlich benötigt man auch noch weitere Ein- und Ausgänge, um zum Beispiel Sensoren auszulesen oder einen Motor bzw. ein Display anzusteuern.

All diese Grundfunktionen stellt die Arduino-Plattform bereit. Sie bettet den Atmel-Chip in eine Umgebung ein, in der alles Nötige schon vorhanden ist, sodass du sofort mit eigenen Ideen und Projekten loslegen kannst. Dazu gehört auch eine komplette Entwicklungsumgebung, mit der du am PC deine Programme entwickeln und dann auf das Board übertragen kannst.

Es werden verschiedene Boards von Arduino angeboten, die für ganz unterschiedliche Anwendungen geeignet sind. Zum Beispiel ist der Arduino Mega mit seinen 54 digitalen Ein- und Ausgabeports ein wahrer Kommunikationskünstler, während der winzige ArduPilot dazu gedacht ist, seinen Dienst in kleinen Modellfliegern zu verrichten. In diesem Buch werden wir das Standardmodell, den Arduino Uno, benutzen. Der Arduino Uno eignet sich am besten zum Einstieg und ist auch der am weitesten verbreitete Controller der Arduino-Familie. Du bekommst ihn für circa 25 Euro bei den einschlägigen Elektronikhändlern, wie etwa Conrad, Reichelt oder Flikto.

Bild 2.1 Das Arduino Uno-Board

2.2 Los geht’s! Installation der Arduino-Software

Im ersten Schritt werden wir die Arduino-Software herunterladen und installieren. Sie sorgt dafür, dass du deine Programme (oder Sketches, wie man beim Arduino sagt) auf dem PC oder Laptop entwickeln und dann übertragen kannst. Danach kannst du den Arduino schon für einen ersten Test in Betrieb nehmen. Hierfür ist noch kein weiterer Schaltungsaufbau nötig.

Für die folgenden Schritte brauchst du:

ein Arduino Uno- Board

ein USB-Anschlusskabel

das Arduino-Softwarepaket

2.2.1 Die Arduino-Software downloaden

Die Arduino-Entwicklungsumgebung und die dazugehörigen Treiber kannst du unter http://www.arduino.cc herunterladen. Unter Downloads findest du ein zip-Paket, in dem alles, was du brauchst, bereits zusammengestellt ist. Entpacke einfach die zip-Datei an eine beliebige Stelle auf deiner Festplatte. Die Entwicklungsumgebung muss nicht installiert werden, sondern wird einfach durch einen Doppelklick auf die Datei arduino.exe gestartet. Dies hat den Vorteil, dass du die Umgebung mit deinen Projektdaten auch mobil von einem USB-Stick aus einsetzen kannst. Du wirst deshalb also keine Probleme haben, dich mit anderen Makern auszutauschen und zusammen an Projekten zu arbeiten.

Die Datei arduino.exe startet die integrierte Entwicklungsumgebung (IDE). Hier werden die Programme erstellt, verwaltet und auf den Controller übertragen. Die IDE verwendet als Programmiersprache eine speziell angepasste Version der Sprache C, in die bereits umfangreiche Bibliotheken zur Ansteuerung des Controllers eingebunden sind. Das erleichtert den Einstieg in die Programmierung, da man sich erst einmal nicht näher mit den hardwarenahen Details beschäftigen muss. Der Atmel-Controller selbst versteht natürlich nur Maschinensprache, deshalb müssen die Programme zuerst von einem Compiler übersetzt werden.

2.2.2 Den USB-Treiber unter Windows installieren

Bevor du deinen ersten Sketch übertragen kannst, musst du jedoch erst einmal den USB-Treiber installieren. Wir beschreiben im Folgenden den Vorgang für Windows-Nutzer. Wenn du Linux einsetzt, findest du entsprechende Anleitungen in der Readme-Datei des Download-Pakets. Aktuelle Informationen zum Betrieb des Arduino unter den verschiedenen Linux-Distributionen stehen auch unter http://playground.arduino.cc/Learning/Linux.

Verbinde den Arduino Uno über das USB-Kabel mit deinem Rechner und warte, bis Windows ein Unbekanntes Gerät erkennt (Bild 2.2).

Öffne die Systemsteuerung im Startmenü und wähle dort den Bereich Geräte und Drucker aus.

Öffne mit einem Rechtsklick auf das Icon Unbekanntes Gerät den Dialog Eigenschaften.

Wähle den Reiter Hardware aus und klicke dort auf den Button Eigenschaften.

Es öffnet sich ein weiterer Dialog. Wähle hier Einstellungen ändern aus.

Klicke nun auf Treiber aktualisieren.

Im nächsten Dialog wählst du Auf dem Computer nach Treibersoftware suchen aus.

Klicke auf Weiter und dann auf Durchsuchen.

Suche nun den Ort aus, an dem du das Arduino-Softwarepaket entpackt hast, und navigiere zum Unterordner driver.

Klicke auf Weiter. Das System findet und installiert jetzt die richtigen Treiber.

Bild 2.2 Installation des Arduino-USB-Treibers unter Windows 7

2.3 Die Entwicklungsumgebung starten und den ersten Sketch übertragen

Bevor du den ersten Sketch auf den Arduino übertragen kannst, musst du noch einstellen, welches Board und welchen UBS-Anschluss du nutzt. Dies machst du wie folgt: Klicke auf Werkzeuge und wähle dort unter Board dein Arduino-Board aus. Als Nächstes suchst du unter WERKZEUGE > PORT den UBS-Port aus, an dem dein Arduino angeschlossen ist. Hier sollte eigentlich nur ein Port angezeigt werden.

Jetzt kannst du den ersten Sketch auf den Arduino übertragen. Starte dazu die integrierte Entwicklungsumgebung mit einem Doppelklick auf arduino.exe. Wähle DATEI > BEISPIELE > 01 BASICS > BLINK aus. Nun öffnet sich ein Fenster mit einem mitgelieferten Beispiel-Sketch.

Dieses kleine Code-Fragment bringt die auf dem Board verbaute gelbe LED zum Blinken. Um den Sketch zu übertragen, musst du in der oberen Toolbar auf den Button mit dem nach rechts zeigenden Pfeil klicken (in Bild 2.4 rot markiert).

Bild 2.3 Sobald der Arduino am Strom angeschlossen ist, leuchtet er.

Bild 2.4 Den ersten Sketch übertragen

Wenn alles klappt, flackern die LEDs mit den Bezeichnungen RX und TX während der Übertragung auf dem Board kurz auf. Sie zeigen an, dass gerade Daten mit dem Computer ausgetauscht werden. Bei TX werden Daten gesendet (Transmit) und bei RX werden sie empfangen (Receive). Dann fängt die LED L langsam an zu blinken. Aber ist wirklich unser kleines Beispielprogramm für das Blinken verantwortlich? Wie könnten wir das testen? Ganz klar: Wir verändern einfach das Programm an einer Stelle und prüfen, ob und wie sich das auswirkt.

Für diesen Test musst du nur wissen, dass dort, wo im Code die Funktion delay(milliseconds); auftaucht, der Controller die angegebene Zeit wartet. In Bild 2.4 ist die entsprechende Code-Stelle rot markiert. Das erste Delay gibt die Leuchtzeit nach dem Einschalten der LED an, das zweite gibt die Wartezeit nach dem Abschalten der LED an. Die Zeiten werden in Millisekunden eingegeben. Der Wert 1000 steht also für eine Sekunde.

Ändere nun die Zahlen und übertrage den Sketch erneut. Du siehst sofort das Ergebnis: Die LED blinkt im von dir gewählten Rhythmus.

An diesem Code-Beispiel kannst du auch den grundsätzlichen Aufbau eines Sketches erkennen. Es gibt zwei Hauptfunktionen, die immer wieder auftauchen werden:

1 void setup() { // wird einmal zu Beginn ausgeführt 2 } 3 void loop() { // wird endlos (also immer wieder) ausgeführt 4 }

Das Schlüsselwort void sagt dem C-Compiler, dass jetzt eine Funktion definiert wird, die keinen Wert zurückliefert. So etwas nennt man auch eine Prozedur, mit der eine bestimmte Tätigkeit ausgeführt wird.

Die Funktionen setup und loop bestimmen die grundsätzliche Struktur eines Sketches. Die Funktion setup wird zu Beginn genau einmal durchlaufen. Hier legst du deine Rahmenbedingungen fest und initialisiert das System. Alles, was zur Vorbereitung der Aufgabe ausgeführt werden muss, gehört hier hinein. Die Funktion loop wird immer wiederholt und enthält die eigentlichen Funktionen deiner Anwendung. Auf diese Weise vermeidest du, dass der Arduino in einen undefinierten Zustand gerät. Denn wenn der loop-Block zuende ist, wird er gleich wieder von vorne ausgeführt. Daher muss in unserem Blink-Sketch die LED auch nur einmal ein- und ausgeschaltet werden. Die Befehle stehen ja im loop-Block, also wird der Arduino endlos blinken.

In den Arduino-Projekten (Kapitel 5 bis 16) wirst du Schritt für Schritt mehr zur Programmierung erfahren. Solltest du dir einen strukturierten Überblick verschaffen wollen, findest du in Kapitel 17 alle Programmiergrundlagen in der Zusammenfassung.

Nachdem du den Arduino nun zum Laufen gebracht hast, kannst du es sicher kaum erwarten, deine erste Schaltung aufzubauen. Damit werden wir uns in Kapitel 3 beschäftigen.

3Dein erster Schaltkreis

Alle elektrischen Geräte beruhen auf denselben physikalischen Gesetzmäßigkeiten. In einer Schaltung werden diese Gesetzmäßigkeiten gezielt genutzt, um Dinge physikalisch zu verändern. Der einfachste Stromkreis beinhaltet eine Energiequelle und einen Verbraucher. Dies kann zum Beispiel ein mit einer Batterie betriebenes Leuchtmittel wie bei einer Taschenlampe sein. Eine ähnliche Schaltung wirst du in diesem Kapitel kennenlernen und selber bauen.

Natürlich kann ein Stromkreis auch sehr viel komplexer aufgebaut sein als der einer Taschenlampe. Je nach Anwendung werden in einem Stromkreis verschiedene Komponenten hinzugefügt. Werden bestimmte Schaltungen mehrfach in gleicher Ausprägung benötigt, kann es Sinn ergeben, diese in sogenannte integrierte Schaltungen (Englisch: integrated circuits, kurz: IC) zu überführen und als eine Art Baustein verfügbar zu machen. Smartphones bestehen zum Beispiel aus einer Vielzahl integrierter Schaltungen in einem Chip.

Bild 3.1 Anschlüsse für individuelle Schaltungen beim Arduino Uno

Hast du schon mal vom Mooreschen Gesetz gehört? Das Mooresche Gesetz geht auf Gordon Moore, einen Mitbegründer der Firma Intel, zurück. Dieser prognostizierte in den sechziger Jahren, dass sich die Zahl der Transistoren von integrierten Schaltungen (IC) jährlich verdoppeln würde. Diese Annahme traf er aufgrund der rasanten Entwicklung der Halbleiterindustrie. Später relativierte er die Annahme dahingehend, dass er voraussagte, die aktiven Komponenten eines Chips würden sich etwa alle zwei Jahre verdoppeln. Heute gehen Experten von einer Verdoppelung innerhalb von 18 Monaten aus. Dieser Trend ist ungebrochen und wir bekommen immer kleinere Hardware mit immer mehr Funktionen angeboten.

Doch bevor wir weiter über die Zukunft von technischen Geräten philosophieren, kehren wir zu den Basics zurück und bauen eine erste Schaltung.

Was du dafür brauchst:

je eine rote, gelbe und grüne Leuchtdiode

3 × 220 Ohm-Widerstände

einen Taster (z. B. Drucktaster T6041)

eine Schaltlitze oder einen Klingeldraht (ca. 1 m)

ein Steckbrett (Breadboard)

Falls du nicht weißt, welchen Widerstand du in der Hand hältst, hilft dir die Übersicht in Bild 3.2 bei der Orientierung.

Bild 3.2 Diese Tabelle erklärt dir, wie du den richtigen Widerstand findest.

3.1 Schaltungsaufbau mit dem Breadboard (Steckbrett)

Vielleicht fragst du dich: „Was brauche ich für meine Schaltung? Ein Breadboard? Was ist denn ein Brotbrett?“ Ein Breadboard ‒ im Deutschen auch Steckbrett oder Steckplatine genannt ‒ erleichtert das Experimentieren mit elektronischen Bauteilen ungemein.

Der englische Begriff leitet sich von den ersten Schaltungen ab, welche ‒ wie in Bild 3.3