Inhaltsverzeichnis Über den Autor und den Co-Autor Widmung und Danksagung Vorwort 9 9 10 Einführung 23 Über dieses Buch Törichte Annahmen über den Leser Wie dieses Buch aufgebaut ist Teil I: Das Arduino kennenlernen Teil II: Erste praktische Schritte mit dem Arduino Teil III: Den eigenen Horizont erweitern Teil IV: Das Arduino-Potenzial entfesseln Teil V: Software entdecken Teil VI: Der Top-Ten-Teil Symbole, die in diesem Buch verwendet werden Wie es weitergeht 23 24 24 25 25 25 25 25 26 26 26 Teil I: Das Arduino kennenlernen 27 Kapitel 1 Idee und Entwicklung der Arduino-Platine 29 Wie entstand die Idee für das Arduino? Lernen durch Handeln Patching Hacking Circuit Bending Elektronische Bauteile Eingänge Ausgänge Open Source 30 33 33 34 35 35 36 36 37 Kapitel 2 Arduino-Varianten und ihre Besonderheiten 39 Das Arduino Uno R3 Die Schaltzentrale: Der Mikrocontrollerchip ATmega328 Stiftleisten (Header) Digitale Anschlusspins Analoge Anschlusspins (Analoge Eingänge) 39 41 42 42 43 13 Arduino für Dummies Und was ist mit analogen Ausgängen? Pins für die Stromversorgung USB-Anschluss Buchse für die externe Stromversorgung Reset-Taster Andere Arduino-Platinen kurz vorgestellt Offizielle Arduino-Boards Andere offiziell genehmigte Arduinos Stammbaum und Weiterentwicklungen Bauteile für Arduino einkaufen Der offizielle Arduino Store Allgemeine Elektronikdistributoren Auf Arduino spezialisierte Distributoren Amazon Elektronikvertrieb Der Einstieg mit einem Starter Kit Die Vorbereitung des Arbeitsplatzes 43 43 44 44 46 46 47 49 50 51 51 51 52 52 52 53 57 Kapitel 3 Die Arduino-IDE herunterladen und installieren 59 Arduino installieren Vorbemerkungen Arduino für Windows installieren Arduino für Mac OS X installieren Arduino-IDE unter Linux installieren Arduino und Android Arduino in der Cloud Ein Rundgang durch die Arduino-IDE 59 59 61 65 67 71 71 72 Kapitel 4 Blinkende LEDs Ihr erster Arduino-Sketch Den Sketch Blink aufspüren Das Modell der Platine ermitteln Die IDE konfigurieren Den Sketch Blink hochladen Port nachträglich einstellen Herzlichen Glückwunsch! Fehlersuche Was gerade geschehen ist Weitere Konfigurationseinstellungen Der Sketch Blink im Detail Kommentare Deklarationen 14 75 75 75 77 78 80 82 83 83 84 84 85 87 87 Inhaltsverzeichnis Variablen Funktionen setup() Von Pin 13 und Reihenwiderständen Nach dem Wegfall des Reihenwiderstands auf der Platine Kommt der Widerstand vor oder hinter die LED? Externe LEDs Den Sketch modifizieren 88 88 89 93 93 94 95 96 Teil II Erste praktische Schritte mit dem Arduino-Board 99 Kapitel 5 Nützliche Werkzeuge 101 Geeignete Werkzeuge Breadboard Steckbrücken Spitzzangen Multimeter Spannung, Stromstärke und Widerstand mit einem Multimeter messen Spannungen in Schaltungen messen (in Volt) Stromstärken (in Ampere) in Schaltungen messen Den Widerstandswert eines Bauteils messen Den Widerstand (in Ohm) eines Potentiometers messen Durchgangsprüfung in Ihrer Schaltung 101 101 104 106 106 108 108 109 110 111 112 Kapitel 6 Eine Einführung in Elektrizität und Schaltungen 113 Grundlagen der Elektrizität Gleichungen für den Aufbau von Schaltungen Ohmsches Gesetz Leistungsberechnung Joulesches Gesetz Arbeiten mit Schaltbildern Ein einfaches Schaltbild Ein Schaltungsdiagramm mit einem Arduino Farbcodierung elektronischer Bauteile Datenblätter Farbkennzeichnung von Widerständen Farbcodes von Kohleschichtwiderständen (vier Ringe) Farbcodes von Präzisionswiderständen (fünf Ringe) Ein paar Beispiele 113 115 115 118 119 121 121 123 124 126 127 127 128 129 15 Arduino für Dummies Kapitel 7 Inputs, Outputs und der serielle Monitor 131 Einen Sketch hochladen Mit Pulsweitenmodulation arbeiten Der Sketch Fade Der Sketch Fade im Detail Den Sketch Fade optimieren Der Sketch Button Der Sketch Button im Detail Den Sketch Button optimieren Der Sketch AnalogInput Der Sketch AnalogInput im Detail Den Sketch AnalogInput optimieren Serielle Kommunikation Der Sketch DigitalReadSerial Der Sketch DigitalReadSerial im Detail Der Sketch AnalogInOutSerial Der Sketch AnalogInOutSerial im Detail Tastenfelder analog auslesen Fünf Taster analog auslesen Der Sketch Multi_Switch Der Sketch Multi_Switch im Detail 131 132 133 137 139 142 145 147 148 151 153 154 154 156 157 161 163 164 167 169 Kapitel 8 Motoren, Sekundärstromkreise und Tonerzeugung 173 Elektromotoren steuern Die Funktionsweise von Dioden Gleichstrommotoren zum Drehen bringen Kurzer Einschub: Was Sie bei Transistoren verstehen und beachten müssen Der Sketch MeinMotor Der Sketch MeinMotor im Detail Schaltungsvariationen Die Motordrehzahl variieren Der Sketch MotorSpeed Der Sketch MotorSpeed im Detail Die Motordrehzahl regulieren Der Sketch MotorControl Der Sketch MotorControl im Detail Den Sketch MotorControl optimieren Servomotoren kurz vorgestellt Drehbewegungen erzeugen Der Sketch Sweep Der Sketch Sweep im Detail 16 173 175 175 176 178 181 182 182 183 184 185 185 187 188 189 190 191 194 Inhaltsverzeichnis Servomotoren ansteuern Der Sketch Knob Der Sketch Knob im Detail Weiterführende Aspekte der Motorsteuerung Motoren mit separater Stromversorgung Separate Stromversorgung mit Transistoren schalten Separate Stromkreise mit Relais schalten Tonerzeugung Piezoelemente und Summer (Buzzer) Der Sketch toneMelody Der Sketch toneMelody im Detail Elektronische Instrumente herstellen Der Sketch PitchFollower Den Sketch tonePitchFollower verstehen Abschließende Hinweise zur Tonerzeugung 195 195 198 200 201 201 204 207 207 209 214 218 218 221 222 Teil III Den eigenen Horizont erweitern 225 Kapitel 9 Anregungen aus der Praxis 227 Skube Funktionsweise Weiterführende Informationen Chorus Funktionsweise Weiterführende Informationen Push Snowboarding Funktionsweise Weiterführende Informationen BakerTweet Funktionsweise Weiterführende Informationen Compass Lounge und Compass Card im National Maritime Museum Funktionsweise Weiterführende Informationen Die Gute-Nacht-Lampe Funktionsweise Weiterführende Informationen Little Printer Funktionsweise Weiterführende Informationen Flap to Freedom Funktionsweise Weiterführende Informationen 227 228 229 229 230 231 231 232 233 233 233 234 235 236 237 237 238 239 239 240 240 240 241 242 17 Arduino für Dummies Kapitel 10 Alles, was Sie über das Löten wissen müssen Den Lötprozess verstehen Was Sie für das Löten brauchen Einen Arbeitsplatz einrichten Die Auswahl eines Lötkolbens Lötzinn Dritte Hand Dicht- und Klebemasse Seitenschneider Abisolierzangen Spitzzangen Multimeter Entlötpumpe Ablötlitze Weitere Werkzeuge Gerätekabel (Elektronikdraht) Sicherheit geht auch beim Löten vor Der Umgang mit dem Lötkolben Schützen Sie Ihre Augen Arbeiten Sie in gut gelüfteten Räumen Reinigung Ihres Lötkolbens Lötzinn ist nicht zum Verzehr geeignet! Zusammenbau einer Aufsteckplatine Die für die Schaltung benötigten Bauteile bereitlegen Zusammenbau Stiftleisten Die eigenen Löttechniken entwickeln Aufbau Ihrer Schaltung Die eigene Schaltung kennen Umgestaltung Ihrer Schaltung Vorbereitung der Drähte Die Schaltung verlöten Reinemachen Ihr Shield prüfen Ein Gehäuse für Ihr Projekt Gehäuse Verdrahtung Die Platine und andere Elemente befestigen 243 243 244 244 245 249 251 252 252 253 254 255 255 255 256 257 258 258 258 258 259 259 259 259 261 261 262 266 267 267 268 268 269 269 271 271 272 273 Kapitel 11 Gewitzte Lösungen mit ein wenig Programmierung 275 Eine modifizierte Lösung für blinkende LEDs Der Sketch BlinkWithoutDelay Der Sketch BlinkWithoutDelay im Detail 275 277 280 18 Inhaltsverzeichnis Taster entprellen Der Sketch Debounce Der Sketch Debounce im Detail Wir basteln uns einen besseren Taster Der Sketch StateChangeDetection Der Sketch StateChangeDetection im Detail Störeinflüssen der Stromversorgung begegnen Messwertreihen glätten Der Sketch Smoothing Der Sketch Smoothing im Detail Eingänge kalibrieren Der Sketch Calibration Der Sketch Calibration im Detail 282 282 285 287 288 290 294 295 296 299 302 303 305 Kapitel 12 Clevere Lösungen für und mit Sensoren 309 Kleine Schalterkunde Den Sketch DigitalInputPullup implementieren Der Sketch DigitalInputPullup im Detail Piezoelemente im Detail Den Sketch Knock implementieren Der Sketch Knock im Detail Test, Test ... Können Sie mich hören? Den Sketch Hear implementieren Druck-, Kraft- und Lastsensoren nutzen Den Sketch toneKeyboard implementieren Der Sketch toneKeyboard im Detail Bibliotheken nachinstallieren Fehler beim Installieren von Bibliotheken Bibliotheken entfernen Fundorte von Bibliotheken Stylische Sensoren Den Sketch CapPinSketch implementieren Der Sketch CapPinSketch im Detail Infrarot und Laser: Die etwas anderen LEDs Die Eigenschaften von Standard-LEDs Infrarot-Emitter/Sender (IR-LEDs) IR-LED mit Verstärkerschaltung Infrarot-Empfänger Ermittelte Infrarotsignale senden Laserfallen und Laserschalter Bewegungserkennung Den Sketch DigitalReadSerial implementieren Der Sketch DigitalReadPIR im Detail 309 311 314 315 316 319 321 323 326 328 331 333 336 336 336 337 339 341 343 344 349 350 355 360 362 364 366 370 19 Arduino für Dummies Temperaturmessung Der Sketch TMP36GZ Ultraschallsensoren zur Abstandsermittlung Schaltungsaufbau für einen Ultraschallsensor Der Sketch pingNaked Der Sketch pingNaked im Detail Abschließende Bemerkungen zum Kapitel 370 371 374 376 378 381 383 Teil IV Das Arduino-Potenzial entfesseln 385 Kapitel 13 Mit Aufsteckplatinen (Shields) zum Spezialisten 387 Aufsteckplatinen (Shields) Besondere Aspekte beim Kombinieren von Shields Ein Angebotsüberblick Prototyping-Shields Motorsteuerung Spiel und Spaß Audio-Aufsteckplatinen Displays und Bildschirme Drahtlose Datenübertragung Sensor Shields mit Speziallösungen Auf dem Laufenden bleiben Das Bibliotheksangebot (Libraries) Standard-Bibliotheken Bibliotheken von Drittanbietern LiquidCrystal und parallele LCD-Module Kapitel 14 Zusätzliche Ein- und Ausgänge nutzen Eine Vielzahl von LEDs ansteuern Den Sketch AnalogWriteMega implementieren Der Sketch AnalogWriteMega im Detail Den Sketch AnalogWriteMega variieren LEDs über Schieberegister steuern Den Sketch shiftOutCode implementieren Der Sketch shiftOutCode im Detail Den Sketch shiftOutCode variieren Einsatzmöglichkeiten für die Schaltung Abschließende Bemerkungen 20 388 388 389 390 391 393 396 399 402 409 410 411 411 413 414 421 421 423 427 428 431 434 438 439 444 445 Inhaltsverzeichnis Kapitel 15 Mit I2C noch mehr Ausgänge steuern 447 2 I C kurz vorgestellt Zwei Unos koppeln Der Sketch für Slave-Boards (Wire_Slave_Sender) Zwei Arduinos physisch koppeln Den IIC/TWI-Bus nach Slaves absuchen I2C-Basiskommunikation Abschlussbemerkungen zur Arduino-Kopplung Weitere Möglichkeiten mit I2C I2C PWM/Servo Driver LED-Lichterketten mit I2C Arduino und Raspberry Pi als Gespann 447 450 451 452 453 455 456 457 457 458 459 Teil V Software entdecken 461 Kapitel 16 Processing kennenlernen 463 Ein Blick unter die Haube Processing Max/PureData Processing installieren Mac Windows Linux Die Benutzeroberfläche von Processing Ihr erster Processing-Sketch Geometrische Objekte zeichnen Farbe und Deckkraft ändern Grafik mit Benutzerinteraktion 464 464 465 466 467 467 467 468 469 471 474 476 Kapitel 17 Umweltdaten verarbeiten 479 Einen virtuellen Schalter erstellen Den Arduino-Quelltext erstellen Den Processing-Code erstellen Der Processing-Sketch PhysicalPixel im Detail Der Arduino-Sketch PhysicalPixel im Detail Grafiken zeichnen Einrichtung des Arduino-Codes Einrichtung des Processing-Codes 479 479 481 483 486 488 488 489 21 Arduino für Dummies Der Arduino-Sketch Graph im Detail Der Processing-Sketch Graph im Detail Mehrere Signale gleichzeitig übertragen Einrichtung des Arduino-Codes Einrichtung des Processing-Codes Der Sketch SerialCallResponse im Detail Der Processing-Sketch SerialCallResponse im Detail 491 492 495 496 498 500 501 Teil VI Der Top-Ten-Teil 505 Kapitel 18 Zehn Informationsquellen zum Arduino 507 Arduino-Blog Hack a Day MAKE SparkFun Adafruit Bildr Instructables YouTube Arduino-Forum Freunde, Kollegen, Workshops und Blogs Kapitel 19 Zehn Anbieter, die Sie kennen sollten Adafruit (USA) Arduino Store (Italien) Conrad Electronic Digi-Key Farnell Flikto Elektronik Fritzing Funduino Pollin Electronic Reichelt RS Components SparkFun Tinkersoup Voelkner Stichwortverzeichnis 22 507 507 508 508 508 508 508 509 509 509 511 511 512 512 512 512 512 513 513 513 513 513 514 514 514 515