Inhalt Einführung (11) Danksagungen (13) Über das Buch (15) TEIL I. ERSTE SCHRITTE (19) Kapitel 1. Hallo, Arduino (21) - 1.1. Eine kurze Geschichte von Arduino (22)
- 1.2. Arduino (23)
- 1.2.1. Arduino Uno (23)
- 1.2.2. Arduino Duemilanove (24)
- 1.2.3. Arduino-Ethernet (24)
- 1.2.4. Arduino-Mega (25)
- 1.2.5. Andere Versionen von Arduino (25)
- 1.2.6. Angriff der Klone (27)
- 1.2.7. Wir beginnen mit der Arbeit mit Arduino (28)
- 1.3. Arbeitsumgebung vorbereiten (28)
- 1.3.1. Software für Arduino (28)
- 1.3.2. Grundlegende Hardwarekonfiguration (29)
- 1.3.3. Ihr Arduino-Toolkit (29)
- 1.4. Lass etwas geschehen! (dreißig)
- 1.4.1. Ihre erste LED blinkt (30)
- 1.4.2. Skizze einer blinkenden Leuchtdiode (30)
- 1.4.3. Wir haben alles zusammengestellt (31)
- 1.4.4. Laden und Testen von Programmen (32)
- 1.5. Wir lernen die integrierte Entwicklungsumgebung kennen (33)
- 1.5.1. Code-Editor (34)
- 1.5.2. Monitor für serielle Schnittstelle (34)
- 1.5.3. Fangfehler (36)
- 1.5.4. Codeverarbeitung (36)
- 1.6. Gebäudeskizze (37)
- 1.6.1. Die "Setup"-Prozedur (37)
- 1.6.2. Endlosschleife (37)
- 1.7. Kommentieren des Codes
- 1.8. Zusammenfassung (39)
Kapitel 2. Digitale Ein- und Ausgänge (41) - 2.1. Wir fangen an (41)
- 2.1.1. Kontaktplattenverwendung (42)
- 2.1.2. Schaltplan (42)
- 2.1.3. Leuchtdioden (44)
- 2.1.4. Verbindungen (44)
- 2.1.5. Skizze fünf blinkende LEDs (44)
- 2.1.6. Hochladen und testen (47)
- 2.2. Kontrolle übernehmen (47)
- 2.2.1. Schaltplan (47)
- 2.2.2. Verbindungen (47)
- 2.2.3. Störunterbrechungen (49)
- 2.2.4. Skizze zur Ansteuerung der LEDs mit Taster (49)
- 2.2.5. Hochladen und testen (52)
- 2.2.6. Zeit für eine Pause (52)
- 2.2.7. Hochladen und testen (53)
- 2.3. Reflexmesser (53)
- 2.3.1. Schaltplan (53)
- 2.3.2. Verbindungen (53)
- 2.3.3. Skizze zur Reflexmessung (53)
- 2.3.4. Hochladen und testen (56)
- 2.4. Reflexmeter – Wer ist wirklich der Schnellste? (56)
- 2.4.1. Skizze zur Reflexmessung (57)
- 2.4.2. Hochladen und testen (58)
- 2.5. Zusammenfassung (58)
Kapitel 3. Einfache Designs: Ein- und Ausstieg 61 - 3.1. Es ist Zeit für die analoge Welt (62)
- 3.1.1. Was ist der Unterschied zwischen analogem und digitalem Signal? (62)
- 3.1.2. Lesen des Signals vom Potentiometer (63)
- 3.1.3. Verbindungselemente (64)
- 3.1.4. Skizze zum Ablesen der Potentiometereinstellung (64)
- 3.1.5. Hochladen und testen (66)
- 3.2. Piezoelektrischer Wandler (67)
- 3.2.1. Schaltplan (68)
- 3.2.2. Verbindungen (69)
- 3.2.3. Skizze zum Messen von Impulsen eines piezoelektrischen Wandlers (70)
- 3.2.4. Hochladen und testen (72)
- 3.2.5. Schaltung mit zusätzlichem Lautsprecher (72)
- 3.2.6. Verbindungen (72)
- 3.2.7. Skizze zum Generieren eines Tons (74)
- 3.2.8. Hochladen und testen (74)
- 3.3. Bau einer pentatonischen Musikklaviatur (75)
- 3.3.1. Schaltplan (75)
- 3.3.2. Verbindungen (75)
- 3.3.3. Skizze zur Unterstützung der pentatonischen Tastatur (77)
- 3.3.4. Hochladen und testen (78)
- 3.4. Zusammenfassung (79)
TEIL II. ANSCHLIESSEN DES ARDUINO AN DIE ARBEIT (81) Kapitel 4. Erweitern des Arduino 83 - 4.1. Steigerung der Arduino-Fähigkeiten durch zusätzliche Programmierbibliotheken (84)
- 4.2. Grundbibliothek (84)
- 4.3. Standardbibliotheken (85)
- 4.3.1. Testgetriebenes Design mit der ArduinoTestSuite-Bibliothek (85)
- 4.3.2. Werte im EEPROM speichern (86)
- 4.3.3. Größere Datenmengen auf SD-Karten speichern (87)
- 4.3.4. Anschließen an ein Ethernet-Netzwerk (89)
- 4.3.5. Serielle Kommunikation mit dem Firmata-Protokoll (90)
- 4.3.6. Anzeigen von Informationen mithilfe der LiquidCrystal-Bibliothek (91)
- 4.3.7. Steuerung der Servos (92)
- 4.3.8. Schrittmotorsteuerung (92)
- 4.3.9. Kommunikation mit Geräten am SPI-Bus (93)
- 4.3.10. 2-Draht-Buskommunikation (95)
- 4.3.11. Weitere serielle Ports mit der SoftwareSerial Library erhalten
- 4.4. Vom Benutzer gemeinsam genutzte Bibliotheken (98)
- 4.4.1. Installieren einer neuen Bibliothek (98)
- 4.5. Erweitern von Arduino mit Schilden (99)
- 4.5.1. Beliebte Overlays (99)
- 4.5.2. Falle: Funktioniert das mit meinem Arduino? (102)
- 4.6. Zusammenfassung (103)
Kapitel 5. Arduino in Bewegung 105 - 5.1. Geschwindigkeitsgewinn mit Gleichstrommotoren (106)
- 5.1.1. Starten und Abstellen des Motors (107)
- 5.1.2. Skizze zum Starten und Stoppen eines kleinen Gleichstrommotors (108)
- 5.1.3. Verbindungselemente (108)
- 5.1.4. Skizze hochladen und testen (110)
- 5.2. Drehzahlregelung und Rückwärtsdrehung des Motors (111)
- 5.2.1. PWM-Modulation kommt zur Rettung (112)
- 5.2.2. H-Brücke für Motorsteuerung (112)
- 5.2.3. Der L293D-Chip (114)
- 5.2.4. Verbindungselemente (115)
- 5.2.5. Skizze zur Steuerung des L293D-Systems (116)
- 5.2.6. Skizze hochladen und testen (117)
- 5.2.7. Motordrehzahl ändern (117)
- 5.2.8. Skizze hochladen und testen (118)
- 5.3. Schrittmotoren: Schritt für Schritt (119)
- 5.3.1. Bipolare und unipolare Motoren (119)
- 5.3.2. Verbindungselemente (122)
- 5.3.3. Funktionen der Schrittmotorbibliothek (123)
- 5.3.4. Skizze zur Ansteuerung eines Schrittmotors (125)
- 5.3.5. Skizze hochladen und testen (126)
- 5.4. Servos sind nicht so beängstigend (126)
- 5.4.1. Steuerung des Servos (126)
- 5.4.2. Funktionen und Methoden zum Steuern eines Servos (127)
- 5.4.3. Skizze zur Steuerung eines Servos (128)
- 5.4.4. Verbindungselemente (129)
- 5.4.5. Skizze hochladen und testen (129)
- 5.5. Die große Kraft eines kleinen bürstenlosen Motors (130)
- 5.5.1. Warum keine Bürsten (130)
- 5.5.2. Steuerung (131)
- 5.5.3. Skizze zur Steuerung eines bürstenlosen Motors (132)
- 5.5.4. Verbindungskomponenten (134)
- 5.5.5. Hochladen und Testen einer Skizze 134
- 5.5.6. Linkslauf (135)
- 5.5.7. Skizze zur Änderung der Drehrichtung eines bürstenlosen Motors (135)
- 5.5.8. Verbindungskomponenten (136)
- 5.5.9. Skizze hochladen und testen (136)
- 5.6. Schild zur Steuerung mehrerer Motoren (136)
- 5.7. Zusammenfassung (137)
Kapitel 6. Gegenstände erkennen 139 - 6.1. Ultraschall-Objekterkennung (139)
- 6.1.1. Ultraschallsensorauswahl (140)
- 6.1.2. Drei oder vier Drähte (141)
- 6.1.3. Skizzen zur Ultraschall-Objekterkennung (142)
- 6.1.4. Verbindungselemente (144)
- 6.1.5. Skizze hochladen und testen (145)
- 6.2. Infrarot-Entfernungsmessung (145)
- 6.2.1. Anschluss von Infrarot- und Ultraschallsensoren (146)
- 6.2.2. Sharp GP2D12 Sensor (146)
- 6.2.3. Nichtlinearer Entfernungsalgorithmus 146
- 6.2.4. Skizze zum Messen von Distanzen (147)
- 6.2.5. Verbindungselemente (149)
- 6.2.6. Skizze hochladen und testen (149)
- 6.3. Passiv-Infrarot-Bewegungserkennung (149)
- 6.3.1. Verwenden des Parallaxensensors (151)
- 6.3.2. Skizze für Infrarot-Bewegungserkennung (151)
- 6.3.3. Verbindungselemente (152)
- 6.3.4. Skizze hochladen und testen (153)
- 6.4. Zusammenfassung (154)
Kapitel 7. LCD-Displays (155) - 7.1. Einführung in LCDs (156)
- 7.1.1. Strings: String- und Char-Variablen 156
- 7.2. Hitachi HD44780 zeichenparallele Anzeige (158)
- 7.2.1. 4-Bit- oder 8-Bit-Anzeige? (159)
- 7.2.2. Bibliothek und Funktionen (159)
- 7.2.3. Anlagenschema (159)
- 7.2.4. Komponenten im 4-Bit-Modus verbinden 160
- 7.2.5. Skizze zur Steuerung des Hitachi HD44780-Displays (162)
- 7.2.6. Skizze laden und testen (163)
- 7.3. Wetterstation mit seriellem LCD-Display (164)
- 7.3.1. Serielle und parallele Displays (164)
- 7.3.2. SerLCD-Bibliothek und ihre Funktionen (165)
- 7.3.3. Maxim DS18B20 Temperatursensor (166)
- 7.3.4. OneWire- und DallasTemperature-Bibliotheken (167)
- 7.3.5. Anlagenschema (167)
- 7.3.6. Alle Komponenten verbinden (167)
- 7.3.7. Skizze für eine Wetterstation mit LCD-Display (169)
- 7.3.8. Skizze hochladen und testen (170)
- 7.4. Samsung KS0108 Grafikdisplay (171)
- 7.4.1. Bibliothek und Funktionen (171)
- 7.4.2. Anschlussplan (171)
- 7.4.3. Anschließen aller Komponenten 172
- 7.4.4. Eine Skizze zum Zeichnen auf einem grafischen Display (173)
- 7.4.5. Skizze hochladen und testen (175)
- 7.5. Zusammenfassung (176)
Kapitel 8. Kommunikation 177 - 8.1. Ethernet-Technologie (178)
- 8.1.1. Ethernet-Bibliothek (179)
- 8.1.2. Ethernet-Overlay mit SD-Karte (180)
- 8.2. Arduino-Webserver (181)
- 8.2.1. Serverkonfiguration (181)
- 8.2.2. Skizze zum Einrichten eines Webservers (182)
- 8.2.3. Skizze hochladen und testen (184)
- 8.2.4. Fehlerbehebung (184)
- 8.3. Ćwir, ćwir - Kommunikation mit dem Twitter-Portal (184)
- 8.3.1. Twitter und Token (185)
- 8.3.2. Bibliotheken und Funktionen (185)
- 8.3.3. Schema des Systems und Anschluss der Komponenten (185)
- 8.3.4. Skizze zum Senden eines Tweets nach Tastendruck (186)
- 8.3.5. Skizze laden und testen (187)
- 8.4. Wi-Fi-Konnektivität (188)
- 8.4.1. Arduino WiFi-Schild (189)
- 8.4.2. WiFi-Bibliothek und ihre Funktionen (190)
- 8.4.3. Körperbewegungen und drahtlose Beschleunigungsmesser (192)
- 8.4.4. Verbindungselemente (192)
- 8.4.5. Skizze für Bluetooth-Kommunikation (193)
- 8.4.6. Skizze hochladen und testen (196)
- 8.5. Drahtlose Bluetooth-Konnektivität (196)
- 8.5.1. ArduinoBT-Board (196)
- 8.5.2. Hinzufügen eines Bluetooth-Moduls (198)
- 8.5.3. Herstellen einer Bluetooth-Verbindung (198)
- 8.5.4. Skizze für Bluetooth-Kommunikation (199)
- 8.6. SPI-Schnittstelle (200)
- 8.6.1. SPI-Bibliothek (200)
- 8.6.2. SPI-Geräte und digitale Potentiometer (201)
- 8.6.3. Schema des Systems und der Verbindung der Elemente (202)
- 8.6.4. Skizze eines digitalen LED-Treibers (203)
- 8.7. Datenprotokollierung (204)
- 8.7.1. Gedächtnisarten (205)
- 8.7.2. SD-Karten und SD-Bibliothek (205)
- 8.7.3. Skizze zur Aufzeichnung von Sensordaten auf SD-Karte (206)
- 8.8. Xively (207)
- 8.8.1. Kontoerstellung und API-Schlüssel-Download (208)
- 8.8.2. Erstellen eines neuen Datenkanals 208
- 8.8.3. Skizze zur Aufzeichnung von Sensordaten auf Xively (209)
- 8.8.4. Skizze laden und testen (211)
- 8.9. Zusammenfassung (212)
Kapitel 9. Spielzeit (213) - 9.1. Nintendo Wii grüßt dich (213)
- 9.1.1. Wii-Nunchuk-Controller (214)
- 9.1.2. Anschließen an einen Nunchuk-Controller (216)
- 9.1.3. Wii beginnt zu sprechen (218)
- 9.1.4. Wii-Tests (226)
- 9.2. Xbox-Konsolenstart (227)
- 9.2.1. Verbindung (228)
- 9.2.2. USB-Hostbibliothek (229)
- 9.2.3. Abrufen von Informationen über den Xbox-Controller mithilfe der USB-Host-Kappe (229)
- 9.2.4. Meldepflicht für Xbox-Controller (231)
- 9.2.5. Zeit zum Laufen (233)
- 9.2.6. Verbindung per Code (233)
- 9.2.7. Skizze Xboxhid.ino (235)
- 9.2.8. Schaltungen verbinden und testen (239)
- 9.3. Zusammenfassung (239)
Kapitel 10. Integrieren von Arduino in iOS-Geräte (241) - 10.1. Verbinden eines iOS-Geräts mit einem Arduino (243)
- 10.1.1. Serielles Redpark-Kabel (243)
- 10.1.2. Endverbindung (244)
- 10.2. IOS-Code (245)
- 10.2.1. Erstellen einer Einzelfensteranwendung in Xcode 245
- 10.2.2. Codeerstellung (250)
- 10.3. Wir engagieren Arduino (253)
- 10.3.1. Skizze zum Steuern einer LED von einem iOS-Gerät (253)
- 10.3.2. Testen einer Skizze
- 10.4. Machen wir mehr mit Xcode 255
- 10.4.1. Schieberegler hinzufügen 255
- 10.5. Arduino-Slider-Unterstützung (259)
- 10.5.1. Arduino-Chip zur Handhabung des Schiebereglers (260)
- 10.5.2. Systemtest (261)
- 10.6. Senden von Daten an ein iOS-Gerät (262)
- 10.6.1. Codierung in Xcode 262
- 10.6.2. Infrarot-Abstandssensor GP2D12 (265)
- 10.6.3. Prüfung (267)
- 10.7. Zusammenfassung (267)
Kapitel 11. Elektronische Geräte (269) - 11.1. Eine Einführung in die LilyPad Disc (270)
- 11.1.1. LilyPad-Zubehör (271)
- 11.1.2. Leitfähige Fäden und Stoffe (272)
- 11.2. Jacke mit Schaltern (274)
- 11.3. Persönliches Klavier (276)
- 11.4. Arduino Pro Mini-Board (279)
- 11.5. Intelligente Kopfhörer (280)
- 11.6. Jacke mit Kompass (282)
- 11.7. Zusammenfassung (286)
Kapitel 12. Overlays verwenden 287 - 12.1. Grundlegende Informationen zu Overlays
- 12.2. Adafruit Motorschild (288)
- 12.2.1. AFMotor-Bibliothek (289)
- 12.2.2. Verwendung des Schildes mit einem Schrittmotor (290)
- 12.2.3. Verwendung einer Motorabschirmung mit einem Gleichstrommotor (292)
- 12.2.4. Kauf der Motorabdeckung (294)
- 12.3. So erstellen Sie Ihr eigenes Overlay (295)
- 12.3.1. Erinnerung (295)
- 12.3.2. Pegelumsetzer (296)
- 12.3.3. SD-Kartenhalter (296)
- 12.3.4. Anschließen der SD-Karte an das Arduino-Board (297)
- 12.3.5. Lochblech vorbereiten (299)
- 12.3.6. Überlagerungstest (302)
- 12.4. Zusammenfassung (303)
Kapitel 13. Softwareintegration (305) - 13.1. Serieller Kommunikationskanal (306)
- 13.2. Gesichtsverfolgungsservo (307)
- 13.2.1. Installieren des Gesichtsverfolgungsmechanismus (308)
- 13.2.2. Gesichtsverfolgungscode (309)
- 13.3. Verwenden von Firmata zum Erstellen eines Equalizers (313)
- 13.3.1. Verwendung von Firmata in Ihrer Anwendung (314)
- 13.3.2. Schallanalyse in der Verarbeitung (315)
- 13.3.3. Zusammenbau der Equalizer-Komponenten (315)
- 13.3.4. Equalizer-Code (316)
- 13.4. Verwenden von Pure Data zum Erstellen eines Synthesizers (319)
- 13.4.1. Zusammenbau der Synthesizer-Komponenten (320)
- 13.4.2. Synthesizer-Code (320)
- 13.5. Verwenden von Python zum Messen der Temperatur 324
- 13.5.1. Serielle Python-Bibliothek
- 13.5.2. Zusammenbau der Thermometerkomponenten (325)
- 13.5.3. Temperaturüberwachungscode (326)
- 13.6. Zusammenfassung (328)
Anhang A. Installieren der Arduino IDE (329) - A.1. Fenster (329)
- A.1.1. Treiber für das Arduino-Board installieren (329)
- A.2. Mac OS X (332)
- A.3. Linux (333)
Anhang B. Das Codierungshandbuch (337) - B.1. Die Geschichte der Arduino-Sprache (337)
- B.2. Variablen (338)
- B.2.1. Arten von Variablen
- B.2.2. Tische (340)
- B.2.3. Saiten (341)
- B.2.4. Fest (341)
- B.2.5. Gültigkeitsbereich der Variablen (342)
- B.3. Kontrolle übernehmen (343)
- B.3.1. If, else, else if Aussagen 344
- B.3.2. Die Switch-Case-Anweisung 346
- B.3.3. Logische Operatoren 347
- B.4. Looping (348)
- B.4.1. Für Schleife
- B.4.2. While-Schleife 349
- B.4.3. While-Schleife ausführen (350)
- B.5. Eigenschaften (350)
- B.6. Zusammenfassung (351)
Anhang C. Bibliotheken - C.1. Bibliotheksanatomie (353)
- C.1.1. Die .h-Datei (Header) (353)
- C.1.2. .Cpp-Datei 354
- C.2. Nutzung der Bibliothek (355)
- C.2.1. Anwenden einer Bibliothek auf eine Skizze (355)
- C.2.2. Bibliothek verteilen (356)
Anhang D. Komponentenliste 357 Anhang E. Nützliche Referenzen Index (363) |