Inhalt Über den Autor (9) Danksagungen (10) Einführung (11) - Download der Beispiele (12)
- Was werde ich brauchen? (12)
- Mit diesem Buch (12)
Kapitel 1. Arduino-Programmierung (15) - Was ist Arduino (15)
- Installations- und Entwicklungsumgebung (17)
- Installation der Entwicklungsumgebung (18)
- Blinzeln (18)
- Arduino-Board-Tour (21)
- Leistung (21)
- Stromanschlüsse (22)
- Analogeingänge (22)
- Digitale Steckverbinder (22)
- Arduino-Boards (23)
- Uno und Derivate (23)
- Arduino Big Boards (24)
- Kleine Arduino-Boards (25)
- LilyPad und LilyPad USB (26)
- Inoffizielle Arduino-Boards (27)
- Programmiersprache (27)
- Modifikation des Blink-Sketch (27)
- Variablen (29)
- Wenn (30)
- Schleifen (31)
- Eigenschaften (32)
- Digitale Eingänge (33)
- Digitale Ausgänge (35)
- Monitor für serielle Schnittstelle (35)
- Arrays und Matrizen (37)
- Analogeingänge (38)
- Analogausgänge (40)
- Verwenden von Bibliotheken (42)
- Von Arduino unterstützte Datentypen (43)
- Arduino-Befehle (44)
- Zusammenfassung (46)
Kapitel 2. Unter der Haube (47) - Eine kurze Geschichte von Arduino (47)
- Arduino-Anatomie (47)
- AVR-Prozessoren (48)
- ATmega328 (48)
- ATmega32u4 (50)
- ATmega2560 (50)
- AT91SAM3X8E (51)
- Arduino und Verkabelung (51)
- Von der Skizze zum Arduino (55)
- AVR-Studio (56)
- Bootloader installieren (58)
- Bootloader-Installation mit AVR Studio und dem Programmer (59)
- Installieren des Bootloaders mit der integrierten Arduino-Entwicklungsumgebung und dem zweiten Arduino-Board (60)
- Zusammenfassung (62)
Kapitel 3. Interrupts und Timer 63 - Hardware-Interrupts (63)
- Unterbrechungsstifte (66)
- Unterbrechungsmodi
- Aktivieren des eingebauten Pull-up-Widerstands (67)
- Interrupt-Behandlungsroutinen
- Flüchtige Variablen (68)
- Zusammenfassung der Informationen zu Interrupt-Handlern 69
- Aktivieren und Deaktivieren der Interrupt-Behandlung (69)
- Timer und Interrupts (70)
- Zusammenfassung (73)
Kapitel 4. Arduino beschleunigen (75) - Wie schnell läuft dein Arduino? (75)
- Arduino-Board-Vergleich (76)
- Beschleunigung arithmetischer Operationen 77
- Müssen Sie wirklich Float-Werte verwenden? (77)
- Browsen vs. Rechnen (78)
- Schnelle I/O (80)
- Grundlegende Codeoptimierung
- Bytes und Bits
- ATmega328-Anschlüsse (82)
- Sehr schnelle digitale Ausgänge (84)
- Schnelle digitale Eingänge (84)
- Analogeingänge beschleunigen (86)
- Zusammenfassung (88)
Kapitel 5. Arduino und geringer Stromverbrauch 89 - Arduino-Boards und Stromverbrauch (89)
- Strom und Batterien (91)
- Absenken der Taktfrequenz (92)
- Ohne Komponenten (94)
- Schlaf (95)
- Narkoleptische Bibliothek (95)
- Aufwachen mit externen Interrupts (97)
- Stromaufnahmebegrenzung mit digitalen Ausgängen (99)
- Zusammenfassung (101)
Kapitel 6. Erinnerung (103) - Arduino-Speicher (103)
- Verwenden der minimalen Menge an RAM (104)
- Verwenden der richtigen Datenstrukturen 105
- Seien Sie vorsichtig mit Rekursion 105
- Speichern von String-Konstanten in Flash 107
- Weit verbreitete Missverständnisse (108)
- Freie Speichermessung (108)
- Verwenden einer minimalen Menge an Flash-Speicher (108)
- Konstanten verwenden (109)
- Unnötige Skizzenelemente entfernen (109)
- Bootloader überspringen (109)
- Statische und dynamische Speicherzuweisung 109
- Ketten (111)
- Arrays von Char-Elementen 111
- Arduino StringObject-Bibliothek (114)
- Verwendung von EEPROM (115)
- Ein Beispiel für die Verwendung von EEPROM (116)
- Verwenden der Bibliothek avr / eeprom.h 118
- EEPROM-Einschränkungen (120)
- Flash-Speicher verwenden (120)
- Daten auf SD-Karten speichern (121)
- Zusammenfassung (122)
Kapitel 7. Verwendung des I2C-Bus - Die Hardwareschicht (125)
- I2C-Busprotokoll (126)
- Drahtbibliothek (126)
- I2C-Bus-Initialisierung (127)
- Senden von Daten durch Master-Gerät (127)
- Empfangen von Daten durch ein Master-Gerät (127)
- Ein Beispiel für den Betrieb des I2C-Busses (128)
- UKW-Radio TEA5767 (128)
- Datenübertragung zwischen zwei Arduino-Boards (130)
- Platinen mit LEDs (133)
- Echtzeituhr DS1307 (134)
- Zusammenfassung (135)
Kapitel 8. Arbeiten mit Geräten, die mit einer 1-Wire-Schnittstelle ausgestattet sind (137) - Hardware, die die 1-Wire-Schnittstelle unterstützt (137)
- 1-Wire-Protokoll (138)
- OneWire-Bibliothek (139)
- Initialisierung der OneWire-Bibliothek 139
- Bus-Scannen (139)
- Verwendung des DS18B20-Chips (141)
- Zusammenfassung (143)
Kapitel 9. Arbeiten mit Geräten, die mit einer SPI-Schnittstelle ausgestattet sind (145) - Umgang mit Bits 145
- Binär- und Hexadezimalwerte 146
- Bit-Maskierung
- Verschieben von Bits
- Hardware, die den SPI-Bus unterstützt (150)
- Das SPI-Protokoll (151)
- SPI-Bibliothek (151)
- Ein Beispiel für die Kommunikation über die SPI-Schnittstelle (153)
- Zusammenfassung (157)
Kapitel 10 Serielle Datenübertragung über UART (159) - Geräte zur seriellen Datenübertragung (159)
- Ein Protokoll, das die serielle Datenübertragung unterstützt (162)
- Befehle zur seriellen Datenübertragung (162)
- SoftwareSerienbibliothek (164)
- Beispiele für serielle Datenübertragung
- Kommunikation zwischen Computer und Arduino über die USB-Schnittstelle (165)
- Kommunikation zwischen zwei Arduino-Boards (167)
- GPS-Modul (169)
- Zusammenfassung (172)
Kapitel 11. USB-Handhabung (173) - Tastatur- und Mausemulation (173)
- Tastaturemulation (174)
- Tastaturemulationsbeispiel 175
- Mausemulation (175)
- Mausemulationsbeispiel 176
- USB-Host-Programmierung (176)
- USB-Host-Board und seine unterstützende Bibliothek (177)
- Arduino Due USB-Host (180)
- Zusammenfassung 182
Kapitel 12. Vernetzung (183) - Netzwerkgeräte (183)
- Erweiterungskarte mit Ethernet-Controller (183)
- Arduino Ethernet und Arduino EtherTen (184)
- Arduino und WLAN (185)
- Ethernet-Bibliothek (185)
- Anruf tätigen (185)
- Einrichten des Webservers 188
- Anfragen erstellen
- Beispiel einer Skizze mit der Ethernet-Bibliothek 189
- Hardware-Webserver (190)
- Abrufen von Daten im JSON-Format 194
- WiFi-Bibliothek (195)
- Anruf tätigen (195)
- In der WiFi-Bibliothek definierte Funktionen (196)
- Beispielskizze mit Wi-Fi 196
- Zusammenfassung (197)
Kapitel 13. Rezept für digitale Signalverarbeitung - Eine Einführung in die digitale Signalverarbeitung
- Mittelwertbildung (200)
- Filtereinführung (202)
- Einfacher Tiefpassfilter (203)
- Arduino Uno digitale Signalverarbeitung (204)
- Arduino Due Digitale Signalverarbeitung (205)
- Generieren des Filtercodes 208
- Die Fourier-Transformation 210
- Spektrumanalysator (212)
- Frequenzmessung (214)
- Zusammenfassung (214)
Kapitel 14. Arbeiten mit nur einem Prozess 215 - Maßstabswechsel (215)
- Warum Threads redundant sind 216
- Die Setup- und Loop-Funktionen 216
- Erst erkennen, später reagieren (216)
- Eine Pause, die den Mikrocontroller 217 nicht blockiert
- Timer-Bibliothek (218)
- Zusammenfassung (220)
Kapitel 15. Erstellen von Bibliotheken - Wann sollten Bibliotheken erstellt werden? (221)
- Klassen und Methoden verwenden 222
- Beispiel TEA5767 Radiobibliothek (222)
- Geben Sie eine Programmierschnittstelle an 223
- Header-Datei 224 erstellen
- Erstellen Sie eine Implementierungsdatei 225
- Erstellen Sie eine Schlüsselwortdatei 226
- Erstellen Sie einen Ordner mit Beispielen 226
- Bibliothekstest 227
- Bibliotheksveröffentlichung (227)
- Zusammenfassung (228)
Anhang A. Komponenten (229) - Arduino-Boards (229)
- Erweiterungsplatinen (229)
- Module (229)
- Händler (230)
Index (233) |