Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Programmieren lernen mit dem Arduino
15
1 Ein Streifzug durch die Welt der Prozessoren
23
1.1 Was ist ein Prozessor und was tut er?
23
1.2 Verschiedene Arten von Prozessoren
31
1.2.1 Der General-Purpose-Prozessor – oder: warum mein Rechner so viel Strom verbraucht
31
1.2.2 Der DSP und warum dieser LTE erst möglich macht
32
1.2.3 Der Microcontroller als »Steuertier« der Familie
33
1.2.4 Ein System – ein Chip
36
1.3 Zusammenfassung
37
2 Ich stelle vor – der Arduino
39
2.1 Aufbau des Arduino
39
2.2 Ein Microcontroller für jeden
42
2.3 Wer die Wahl hat, hat die Qual – die Modelle des Arduino
43
2.3.1 Ardunio Uno
43
2.3.2 Arduino Leonardo
44
2.3.3 Arduino Mega 2560
45
2.3.4 Arduino Due
46
2.3.5 Arduino Mega ADK
46
2.3.6 Arduino Nano
47
2.3.7 Arduino LilyPad
47
2.3.8 Weitere Varianten
48
2.3.9 Andere Hersteller
48
2.3.10 Auswahlhilfe
48
2.4 Installation der Software und Anschließen des Arduino
50
3 Ich packe meinen (Elektronik)-Koffer
57
3.1 Ladung, Spannung, Strom – Willkommen in der E-Technik
57
3.2 Die drei Freunde in der Elektronik: Das ohmsche Gesetz, der Maschen- und der Knotensatz
59
3.2.1 Schaltpläne
63
3.2.2 Strom und Spannung berechnen
64
3.2.3 Ein Beispiel mit dem Arduino
68
3.2.4 Allgemeine Hinweise zum Berechnen von Schaltungen
72
3.3 Widerstand ist nicht immer zwecklos
72
3.3.1 Aufs Material kommt es an ...
72
3.3.2 ... und auf den Querschnitt
74
3.3.3 Bauformen von Widerständen
77
3.3.4 Bauweisen: THT vs. SMD
79
3.4 Reihen- und Parallelschaltung
80
3.5 Bauteile der Elektronik
84
3.5.1 Der Kondensator
84
3.5.2 Die Spule
86
3.5.3 Die Diode
87
3.5.4 Die Leuchtdiode
88
3.6 Rechnen ist gut, simulieren ist aber auch nicht verkehrt – Einführung in Spice
90
3.7 Was kommt denn nun wirklich in den Koffer?
97
3.8 Zusammenfassung
98
4 Es werde Licht – die Entwicklungsumgebung und die Grundlagen von C
101
4.1 Verdrahten für Fortgeschrittene – vom Schaltplan zur Schaltung
102
4.1.1 Vorwiderstände bestimmen
102
4.1.2 Vom Schaltplan zur Schaltung
103
4.1.3 Das Steckbrett (Breadboard)
105
4.1.4 Die Verdrahtung
106
4.2 Eine kurze Geschichte der Programmiersprachen
109
4.3 Die Arduino-IDE
110
4.4 Aufbau eines Programms für den Arduino
114
4.4.1 Ein erster Sketch
116
4.4.2 Blinken im Farbwechsel
119
4.5 Den Sketch »hübscher« machen
121
4.5.1 #define
121
4.5.2 Variablen verwenden
124
4.6 Ein bisschen Dynamik schadet nie
127
4.6.1 Lebenszeit, Sichtbarkeit und Blöcke
130
4.6.2 Abfragen und Schleifen
131
4.7 Morsen mit dem Arduino
135
4.7.1 Arrays
136
4.7.2 Die »for«-Schleife
138
4.7.3 Die Größe von Arrays: »sizeof« ermitteln
145
4.7.4 Anwendung und Ausblick
147
4.8 Zusammenfassung
147
4.9 C – Ultrakurz-Zusammenfassung der Syntax
149
4.9.1 Variablen
149
4.9.2 Datentypen
149
4.9.3 Gruppieren von Daten
151
4.9.4 Funktion
152
4.9.5 Operatoren
153
4.9.6 Kontrollstrukturen
155
5 Der Entscheidungshelfer
159
5.1 Die Sache mit dem Zufall
159
5.1.1 Pseudo-Zufallszahlengeneratoren
161
5.1.2 Echte Zufallszahlen
167
5.2 Aufbau der Schaltung
167
5.3 Ran an die Steuerung
168
5.3.1 Das Blinken dynamischer gestalten
177
5.4 Jetzt neu: Der Entscheidungshelfer auch mit mehr Möglichkeiten
182
5.4.1 Noch ein winziges Problem
187
5.5 Zusammenfassung und Ausblick
192
6 Nachbau der Frontbeleuchtung von K.I.T.T. aus Knight Rider
193
6.1 Aufbau der Schaltung
193
6.2 Aus »Licht an und aus« wird hell und dunkel – Grundlagen der Pulsweitenmodulation (PWM)
195
6.3 Dimmen für Anfänger
200
6.4 Das Lauflicht
208
6.4.1 Einmal vor und einmal zurück
211
6.4.2 Ein Lauflicht mit unterschiedlicher Leuchtstärke
215
6.5 Zusammenfassung und Ausblick
220
7 Wer austeilen kann, der muss auch einstecken können
223
7.1 Pull-up-Widerstand
223
7.2 Polling vs. Interrupt
226
7.2.1 Polling
226
7.2.2 Interrupts
227
7.3 Licht an, Licht aus – jetzt neu mit Taster
232
7.3.1 Licht ein bisschen an – Licht ein bisschen aus
234
7.3.2 Das Licht dimmen
238
7.4 Das Licht im Hausflur
246
7.5 Zusammenfassung und Ausblick
251
8 Timer und Counter
253
8.1 Timer bzw. Counter – was dahintersteckt
253
8.1.1 Grundlagen: Das Binärsystem
254
8.1.2 Zeitspanne berechnen
257
8.2 Aufbau der Schaltung
258
8.3 Ein sekundengenaues Pulsieren
258
8.4 Der »Geekdown« – der etwas andere Countdown
267
8.5 Zusammenfassung und Ausblick
275
9 Wie ein Arduino das Sprechen lernt – serielle Kommunikation
277
9.1 Grundlagen der Kommunikation
278
9.1.1 Serielle Ports auf dem Arduino
284
9.2 Aufbau der Schaltung und weitere Vorbereitungen
284
9.2.1 Die Variante mit dem Converter
286
9.2.2 Tera Term installieren
287
9.2.3 Pins am Converter
289
9.3 »Nummer 5 lebt und spricht« – der Arduino lernt das Sprechen
289
9.3.1 Das Programm im Detail
295
9.4 Der Arduino empfängt Daten
298
9.4.1 Programmieren des steuerenden Arduino
303
9.5 Zusammenfassung und Ausblick
305
10 Die 7-Segment-Anzeige
307
10.1 Die 7-Segment-Anzeige näher betrachtet
308
10.2 Schaltung für den Countdown
313
10.3 Der Countdown
320
10.4 Den Countdown spannender machen
325
10.5 Ihr erstes Spiel für den Arduino
333
10.6 Zusammenfassung und Ausblick
346
11 Der faule (schlaue) Gärtner
349
11.1 Grundbegriffe rund um das Thema »messen«
349
11.2 Was ist Temperatur, und warum hat sie so viele Kelvins?
351
11.3 Die analoge Welt vs. die digitale Welt
353
11.4 Einfache Messschaltung
356
11.5 Aufbau der Messschaltung
360
11.6 Der Arduino misst die Temperatur
362
11.6.1 Eine Bibliothek erstellen
369
11.7 Zusammenfassung und Ausblick
377
12 Der Gärtner wird jetzt digital
379
12.1 Die verschiedenen Topologien
379
12.2 I²C
383
12.3 Datenpakte und Register für das Thermometer TC74
386
12.4 Aufbau der Schaltung
388
12.5 Ihr erstes digitales Thermometer
391
12.5.1 Der stromsparende digitale Gärtner
400
12.6 Zusammenfassung und Ausblick
407
13 Der Gärtner für den Massenmarkt
409
13.1 Wie kann Feuchtigkeit gemessen werden?
409
13.2 Der DHT11 im Detail
411
13.3 Aufbau der Schaltung
414
13.4 Der bezahlbare Gärtner entsteht
416
13.5 Zusammenfassung und Ausblick
429
14 Bin ich schon drin? – Abstandsmessung mit dem Arduino
431
14.1 Verfahren für die Abstandsmessung
431
14.1.1 Wellen
432
14.1.2 Reflexion
435
14.1.3 Triangulation
436
14.2 Die Sensoren im Detail
439
14.2.1 Die Pulslänge für den Ultraschallsensor bestimmen
439
14.2.2 Bestimmen des Pegels für den Infrarotsensor
440
14.3 Aufbau der Schaltung
443
14.4 Die Einparkhilfe entsteht
445
14.4.1 Ultraschall-Sensor
445
14.4.2 Messung mit dem Infrarotsensor
450
14.4.3 Sensoren im Vergleich
451
14.4.4 Die Einparkhilfe
452
14.5 Deine eigene Horrorfilm-Beleuchtung
455
14.5.1 Erst wenn es flackert, ist es wirklich ein Horrorfilm
460
14.6 Zusammenfassung und Ausblick
467
15 Alles für die Katz’? Beschäftigungstherapie für Stubentiger
469
15.1 Wenn sich etwas bewegt, dann ist es bestimmt ein Motor
470
15.1.1 Das Funktionsprinzip von Gleichstrommotoren
470
15.1.2 Arten von Gleichstrommotoren
471
15.1.3 Die H-Brücke
472
15.2 Aufbau des Gehäuses für das Katzenspielzeug
473
15.3 Aufbau der Schaltung
483
15.4 Die Motoren leben!
488
15.4.1 Der Servomotor lebt
488
15.4.2 Das Katzenspielzeug lebt
491
15.5 Licht aus, Bewegung an
500
15.6 Zusammenfassung und Ausblick
507
16 Der Arduino spricht im Netzwerk
509
16.1 Arduino goes Transformer – die Arduino Shields
509
16.1.1 Das Motor Shield
510
16.1.2 Das USB Host Shield
511
16.1.3 Das WiFi Shield
512
16.1.4 Das GSM Shield
512
16.1.5 Weitere Shields
513
16.2 Was ich schon immer über Ethernet erzählen wollte
513
16.2.1 Das Schichtenmodell der Kommunikation
514
16.2.2 Protokolle
516
16.2.3 TCP/IP
519
16.2.4 Eine Adresse für Ihren Arduino
520
16.2.5 Der Physical Layer und der Data Link Layer
521
16.2.6 Zusammenfassung
521
16.2.7 Ausblick
522
16.3 Das Client-Server-Modell
522
16.4 Das Prinzip einer Fernbedienung – Entwicklung eines eigenen Protokolls
523
16.5 Schaltungsaufbau
527
16.6 Die Fernsteuerung entsteht
531
16.6.1 Befehle verstehen und reagieren
536
16.6.2 Abfragen verstehen und antworten
543
16.6.3 Programme zur Fernsteuerung
547
16.7 Der Pflanz-Versorgungs-O-Mat sendet eine E-Mail
547
16.7.1 Der Sketch entsteht
551
16.8 Zusammenfassung und Ausblick
560
17 Fernsteuerung via Bluetooth
563
17.1 Das Für und Wider der Funkkommunikation
563
17.2 Das Ding vom blauen Zahn
564
17.3 Aufbau der Schaltung
565
17.4 Verändern der Bluetooth-Eigenschaften
568
17.5 Die Fernsteuerung entwickeln
571
17.6 Fernsteuerung via App
577
17.7 Zusammenfassung und Ausblick
578
18 Displays – Warum Anzeige nicht gleich Anzeige ist
579
18.1 LCD und das LCD Keypad Shield
579
18.1.1 Die Physik hinter LCD
579
18.1.2 LCD-Displays für Bastler
581
18.2 Die Tasten auswerten
585
18.3 Laufschrift
591
18.3.1 Eine Laufschrift für die Kirmes
595
18.4 Reaktionszeitmesser
597
18.4.1 Eine Highscore-Tabelle für den Reaktionsmesser
610
18.5 Der Arduino wird zum Spielautomaten
625
18.6 Zusammenfassung
659
19 Aller Anfang war schwer
661
19.1 Hilfe, mein Herd verschickt Spam! – Heimautomatisierung mit dem Arduino
661
19.2 Und nun zum Schluss
662
Index
663