Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
14
Geleitwort
15
1 Arduino – was ist das?
17
1.1 Arduino – etwas Hintergrund
17
1.2 Open Source: Die Lizenzen des Arduino-Projekts
18
1.3 Maker und die Arduino-Community
21
1.4 Arduino Uno Rev3 – der Standard
26
1.4.1 Ein- und Ausgangspins
27
1.4.2 Serielle Schnittstellen
29
1.4.3 Spannungsversorgung
29
1.4.4 Warum eigentlich die Bezeichnung »Uno«?
30
1.5 Details zum Mikrocontroller
31
1.5.1 Mikrocontroller-Kern
32
1.5.2 Mikrocontroller-Peripherie
37
2 Arduino-Hardware
59
2.1 Die Produktfamilie Arduino
59
2.1.1 Klassische Arduino-Boards
59
2.1.2 Kompakte Arduino-Boards
67
2.1.3 Die Arduino-MKR-Serie
74
2.1.4 Arduino Yún
78
2.1.5 Arduino Uno Rev3 und Onion Omega2
84
2.2 Arduino-kompatible Boards
85
2.2.1 Seeeduino v4.2
86
2.2.2 LilyPad Arduino
87
2.2.3 Maduino GPRS A6
88
2.2.4 BBC micro:bit bzw. Calliope mini
89
2.2.5 SparkFun Pro nRF52840 Mini
91
2.2.6 STM32 Nucleo
92
2.2.7 Teensy 4.0
94
2.2.8 ESP8266
95
2.2.9 ESP32
98
2.2.10 M5Stack und M5StickC
102
2.2.11 Maixduino
107
2.3 Arduino-Shields
109
2.3.1 Arduino-Standard-Shields
109
2.3.2 Arduino-MKR-Shields
115
3 Das Experimentierumfeld
121
3.1 Elektronische Bauteile
121
3.1.1 Widerstand, Kondensator und Spule
121
3.1.2 Taster, Schalter und Relais
128
3.1.3 Dioden
128
3.1.4 Transistoren und FETs als Schalter
131
3.1.5 Operationsverstärker
137
3.2 Grundlagen zur Schaltungstechnik
139
3.2.1 Ohmsches Gesetz
139
3.2.2 Kirchhoffsche Regeln
139
3.2.3 Reihen- und Parallelschaltung von Widerständen
144
3.3 Breadboards und Zubehör
145
3.3.1 Breadboards
145
3.3.2 Breadboard Holder
148
3.3.3 Breadboard Power
150
3.4 Qwiic, Grove und mikroBUS Connection
150
3.4.1 Qwiic Connection
151
3.4.2 Grove System
153
3.4.3 mikroBUS System
153
3.5 Spannungsversorgung
154
3.5.1 USB-Anschluss
155
3.5.2 USB-Hub mit Schnellladeanschluss
157
3.5.3 Steckernetzteil
158
3.5.4 Labornetzgerät
159
3.5.5 Lithium-Polymer-Akku
161
3.5.6 Spannungsversorgung mit Solarzellen
164
3.5.7 Reduzierung des Strombedarfs für Batteriebetrieb
166
3.6 Messtechnik
170
3.6.1 Multimeter
170
3.6.2 Funktionsgenerator
173
3.6.3 Oszilloskop
176
3.6.4 BitScope Micro
178
3.6.5 Saleae Logic Analyzer
183
3.7 CAD-Software
184
3.7.1 Fritzing
184
3.7.2 KiCAD
187
3.7.3 EAGLE
189
3.7.4 EasyEDA Standard
190
3.7.5 Welches Tool soll ich verwenden?
191
4 Arduino-Software
193
4.1 Schritte bei der Programmerstellung
193
4.2 Die Arduino-Entwicklungsumgebung
194
4.3 Die Arduino-Create-Plattform
202
4.3.1 Bestandteile
202
4.3.2 Unterstützte Controller
209
4.4 Arduino Create vs. Arduino IDE
210
4.5 Programmieren in C++
211
4.5.1 Empfehlenswerte Online-Tutorials
211
4.5.2 Einführung in die Grundlagen von C++
212
4.6 Den Arduino programmieren
242
4.6.1 Programmstruktur
242
4.6.2 Arduino-Funktionen
243
4.6.3 Hello World
264
4.6.4 Arduino-Librarys
266
4.7 Alternative Programmierumgebungen
270
4.7.1 BASCOM-AVR
270
4.7.2 FlashForth
273
4.7.3 MicroPython
277
4.7.4 Fazit
281
4.8 Arduino-Boards in Betrieb nehmen
281
4.8.1 Arduino Uno
283
4.8.2 Arduino Uno WiFi Rev2
284
4.8.3 Arduino Yún
290
4.8.4 ESP32
305
4.8.5 M5Stack bzw. M5StickC
308
4.8.6 Teensy 4.0
312
5 Sensoren
317
5.1 Der Thermistor als Temperatursensor
317
5.2 Der Temperatursensor TMP36
320
5.3 Der Temperatur- und Feuchtigkeitssensor DHTxx/AM23xx
324
5.4 Der Temperatur- und Feuchtigkeitssensor Si7021
330
5.5 Der Temperatursensor DS18B20
334
5.6 Die barometrischen Drucksensoren BMP180, BMP280 und BME280
339
5.7 Der Luftqualitätssensor MQ135
344
5.8 Der Grove-Feinstaubsensor PPD42NS
350
5.9 Der Lichtstärkesensor GY-30 (BH1750FVI)
354
5.10 Der Farbsensor GY-TCS3200D
358
5.11 Ultraschall-Entfernungsmessung
364
5.12 ToF-Entfernungsmessung
369
5.13 Bewegungsdetektion mit PIR-Sensoren
373
5.14 Wetterdaten
376
6 Eingabeelemente
383
6.1 Taster und Schalter
383
6.2 Keypads
385
6.3 Joysticks
393
6.4 Drehgeber
396
6.5 Touch-Sensoren
401
6.6 Touch-Panels
402
6.7 RFID
406
6.8 NFC
415
7 Anzeigeelemente
429
7.1 LEDs und RGB-LEDs
429
7.2 Sieben-Segment-Anzeige
435
7.3 LED-Dot-Matrix-Anzeige
438
7.4 Seriell gesteuerte RGB-LEDs
442
7.4.1 NeoPixel
443
7.4.2 DotStar
448
7.4.3 NeoPixel vs. DotStar
452
7.4.4 FastLED
453
7.5 LCDs
456
7.5.1 Display mit HD44780
456
7.5.2 Grove-LCDs mit I2C
459
7.5.3 LCD Keypad Shield
461
7.5.4 Arduino-Shield mit EA DOGS102W-6 und EA PCBARDDOG1701
466
7.5.5 Nokia5110-Grafik-LCD
471
7.6 OLED-Display
479
7.7 Touchscreen
490
7.7.1 Waveshare 2.8" Touch LCD Shield
491
7.7.2 Nextion 2.8" HMI LCD Touch Display
501
8 Aktoren
531
8.1 Relais
531
8.2 Motoren
536
8.2.1 Servo
536
8.2.2 DC-Motor
541
8.2.3 Schrittmotor
557
9 Externe Speicher
571
9.1 Internes EEPROM
571
9.2 Externes EEPROM
574
9.3 FRAM
578
10 Kommunikation
583
10.1 Serielles Interface UART, der interne Monitor
583
10.2 SPI
590
10.3 I2C-Bus
595
10.4 1-Wire-Bus
598
10.5 CAN
606
10.6 Bluetooth und BLE
614
10.6.1 Serielle Bluetooth-Module
615
10.6.2 Mikrocontroller mit BLE
616
10.7 Der Arduino im Netzwerk
629
10.7.1 Ethernet
629
10.7.2 WiFi
634
10.7.3 Performancetests
637
10.8 LoRa bzw. LoRaWAN
639
10.8.1 LoRa/LoRaWAN – Begriffe
639
10.8.2 LoRa-Datenübertragung
640
10.8.3 The Things Network (TTN)
647
10.8.4 LoRaWAN-Knoten
651
10.9 GSM
664
10.9.1 Module und Provider
664
10.9.2 Arduino Uno mit SIM800 EVB
666
10.9.3 Maduino GPRS A6
670
11 Datenformate und Kommunikationsprotokolle
675
11.1 JSON
675
11.2 MQTT
678
11.2.1 MQTT-Grundlagen
678
11.2.2 MQTT-Broker
680
11.2.3 MQTT-Client
682
12 Arduino-Benchmarks
687
13 Projektideen für den Arduino
691
13.1 Tragbare Elektronik (Wearables)
691
13.2 Überwachung des Raumklimas
694
13.3 Open Data aus dem Internet
702
13.3.1 OpenWeatherMap
702
13.3.2 Covid-19-Datenbank
707
13.4 Pushover-Statusmeldungen
713
13.4.1 Pushover-Server
714
13.4.2 Pushover Android Client
715
13.4.3 Pushover-Integration ins Arduino-Programm
717
13.5 Arduino Yún
722
13.5.1 Netzwerk-Performance
722
13.5.2 Zwei Welten verbinden
724
13.5.3 Erfassen von Messdaten
726
13.6 M5StickC
733
13.6.1 M5StickC-Hats
733
13.6.2 M5StickC-Thermometer
734
13.6.3 M5StickC – Messen der Wassertemperatur
735
13.7 Maschinelles Lernen
738
14 Gehäuse für den Arduino
745
14.1 ArduiBox Open – Hutschienengehäuse für den Arduino
745
14.2 AZ-Touch MKR/ESP
747
15 Der Arduino in industriellen Anwendungen
749
15.1 Prototyping mit dem Arduino
749
15.2 Industrieanwendungen
749
1 Anhang
753
A.1 Arduino Programming Cheat Sheet
753
A.2 Arduino-Simulatoren
754
A.3 Arduino-Distributoren
756
A.4 Arduino-Beschaffungskosten
757
A.5 Technische Daten im Vergleich
759
A.6 Spezifikation von Widerständen
765
A.6.1 Bedrahtete Widerstände
765
A.6.2 SMD-Widerstände
767
A.7 Zahlensysteme
768
Index
771