Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
16
Geleitwort
17
1 Arduino - was ist das?
19
1.1 Arduino - etwas Hintergrund
19
1.2 Open Source: Die Lizenzen des Arduino-Projekts
20
1.3 Maker und die Arduino-Community
23
1.4 Arduino Uno Rev3 - der Standard
25
1.4.1 Ein- und Ausgangspins
26
1.4.2 Serielle Schnittstellen
28
1.4.3 Spannungsversorgung
28
1.4.4 Mikrocontroller ATmega328P
29
1.4.5 Warum eigentlich die Bezeichnung »Uno«?
29
1.5 Details zum Mikrocontroller
30
1.5.1 Mikrocontroller-Kern
31
1.5.2 Mikrocontroller-Peripherie
35
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 Arduino-MKR-Serie
77
2.1.4 Arduino-Pro-Familie
80
2.1.5 Arduino Yún
91
2.2 Arduino-kompatible Boards
96
2.2.1 Seeeduino v4.2
97
2.2.2 LilyPad Arduino
98
2.2.3 Maduino GPRS A6
100
2.2.4 BBC micro:bit bzw. Calliope mini
101
2.2.5 SparkFun Pro nRF52840 Mini
102
2.2.6 STM32 Nucleo
104
2.2.7 Teensy 4.x
105
2.2.8 ESP8266
107
2.2.9 ESP32
110
2.2.10 M5Stack, M5StickC/M5StickC Plus, M5ATOM und M5Stamp
117
2.2.11 Raspberry Pi Pico
125
2.2.12 Seeed XIAO und Wio Terminal
132
2.2.13 Adafruit Feather und SparkFun Thing Plus
134
2.2.14 Maixduino
134
2.3 Arduino-Shields
137
2.3.1 Arduino-Standard-Shields
137
2.3.2 Arduino-MKR-Shields
142
2.4 Expansionsboards
146
2.4.1 Arduino Portenta H7
146
2.4.2 Seeeduino XIAO
146
2.4.3 Raspberry Pi Pico
147
3 Das Experimentierumfeld
151
3.1 Elektronische Bauteile
151
3.1.1 Widerstand, Kondensator und Spule
151
3.1.2 Taster, Schalter und Relais
158
3.1.3 Dioden
159
3.1.4 Transistoren und FETs als Schalter
161
3.1.5 Operationsverstärker
167
3.2 Grundlagen zur Schaltungstechnik
169
3.2.1 Ohmsches Gesetz
169
3.2.2 Kirchhoffsche Regeln
169
3.2.3 Reihen- und Parallelschaltung von Widerständen
174
3.3 Breadboards und Zubehör
175
3.3.1 Breadboards
175
3.3.2 Breadboard Holder
177
3.3.3 Breadboard Power
179
3.4 Qwiic, Grove und mikroBUS Connection
180
3.4.1 Qwiic Connection
180
3.4.2 Grove-System
182
3.4.3 mikroBUS System
182
3.5 Spannungsversorgung
183
3.5.1 USB-Hub mit Schnellladeanschluss
186
3.5.2 Steckernetzteil
187
3.5.3 Labornetzgerät
188
3.5.4 Lithium-Polymer-Akku
189
3.5.5 Spannungsversorgung mit Solarzellen
193
3.5.6 Reduzierung des Strombedarfs für Batteriebetrieb
194
3.6 Messtechnik
198
3.6.1 Multimeter
198
3.6.2 Funktionsgenerator
199
3.6.3 Oszilloskop
201
3.6.4 BitScope Micro
202
3.6.5 Saleae Logic Analyzer
207
3.7 CAD-Software
208
3.7.1 Fritzing
208
3.7.2 KiCAD
211
3.7.3 EAGLE
211
3.7.4 EasyEDA Standard
211
3.7.5 Welches Tool soll ich verwenden?
212
4 Arduino-Software
215
4.1 Schritte bei der Programmerstellung
215
4.2 Die Arduino-Entwicklungsumgebung
216
4.2.1 Legacy IDE: Arduino 1.8
216
4.2.2 Die neue Arduino IDE 2
223
4.3 Die Arduino-Create-Plattform
227
4.3.1 Arduino Web Editor
228
4.3.2 Arduino IoT Cloud
230
4.3.3 Arduino Project Hub
230
4.4 Arduino Create vs. Arduino IDE
231
4.5 Programmieren in C++
232
4.5.1 Empfehlenswerte Online-Tutorials
233
4.5.2 Einführung in die Grundlagen von C++
233
4.6 Den Arduino programmieren
261
4.6.1 Programmstruktur
261
4.6.2 Arduino-Funktionen
262
4.6.3 Hello World
282
4.6.4 Arduino-Librarys
285
4.7 Arduino-Boards in Betrieb nehmen
288
4.7.1 Arduino Uno
289
4.7.2 Arduino Uno WiFi Rev2
291
4.7.3 Arduino Yún
296
4.7.4 ESP32
309
4.7.5 M5Stack bzw. M5StickC/C Plus
311
4.7.6 Teensy 4.x
315
4.7.7 Raspberry Pi Pico
318
4.8 Arduino-Debugging
321
4.8.1 Debugging mit digitalem Ausgang
321
4.8.2 printf()-Debugging
322
4.8.3 MicroDebug-Library
322
4.8.4 ArduinoTrace-Library
326
4.8.5 Arduino-Debugging mit SEGGER J-Link Debugger
328
5 Sensoren
337
5.1 Der Thermistor als Temperatursensor
337
5.2 Der Temperatursensor TMP36
340
5.3 Der Temperatur- und Feuchtigkeitssensor DHTxx/AM23xx
344
5.4 Der Temperatur- und Feuchtigkeitssensor Si7021
350
5.5 Der Temperatursensor DS18B20
353
5.6 Die barometrischen Drucksensoren BMP180, BMP280 und BME280
357
5.7 Der Luftqualitätssensor MQ135
362
5.8 Der Grove-Feinstaubsensor PPD42NS
368
5.9 Der Lichtstärkesensor GY-30 (BH1750FVI)
371
5.10 Der Farbsensor GY-TCS3200D
375
5.11 Ultraschall-Entfernungsmessung
381
5.12 ToF-Entfernungsmessung
386
5.13 Bewegungsdetektion mit PIR-Sensoren
389
5.14 Wetterdaten
392
6 Eingabeelemente
399
6.1 Taster und Schalter
399
6.2 Keypads
401
6.3 Joysticks
408
6.4 Drehgeber
411
6.5 Touch-Sensoren
415
6.6 Touch-Panels
416
6.7 RFID
419
6.8 NFC
429
7 Anzeigeelemente
441
7.1 LEDs und RGB-LEDs
441
7.2 Sieben-Segment-Anzeige
447
7.3 LED-Dot-Matrix-Anzeige
450
7.4 Seriell gesteuerte RGB-LEDs
454
7.4.1 NeoPixel
454
7.4.2 DotStar
459
7.4.3 NeoPixel vs. DotStar
462
7.4.4 FastLED
463
7.5 LCDs
465
7.5.1 Display mit HD44780
466
7.5.2 Grove-LCDs mit I2C
467
7.5.3 LCD Keypad Shield
470
7.5.4 Arduino-Shield mit EA DOGS102W-6 und EA PCBARDDOG1701
473
7.5.5 Nokia-5110-Grafik-LCD
478
7.6 OLED-Display
486
7.7 Touchscreen
496
7.7.1 Waveshare 2.8" Touch LCD Shield
497
7.7.2 Nextion 2.8" HMI LCD Touch Display
507
8 Aktoren
537
8.1 Relais
537
8.2 Motoren
542
8.2.1 Servo
542
8.2.2 DC-Motor
547
8.2.3 Schrittmotor
561
9 Externe Speicher
575
9.1 Internes EEPROM
575
9.2 Externes EEPROM
578
9.3 FRAM
581
10 Kommunikation
585
10.1 Serielles Interface UART, der interne Monitor
585
10.2 SPI
591
10.3 I2C-Bus
597
10.4 1-Wire-Bus
600
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
628
10.7.1 Ethernet
628
10.7.2 WiFi
634
10.7.3 Die Performance testen
645
10.8 LoRa bzw. LoRaWAN
647
10.8.1 LoRa/LoRaWAN - Begriffe
648
10.8.2 LoRa-Datenübertragung
649
10.8.3 The Things Network (TTN)
655
10.8.4 LoRaWAN-Knoten
658
10.9 GSM
673
10.9.1 Module und Provider
673
10.9.2 Arduino Uno mit SIM800 EVB
675
10.9.3 Maduino GPRS A6
679
10.10 3GPP LPWAN
681
10.10.1 NB-IoT
684
10.10.2 LTE-M
705
10.11 Netzwerkverbindungen mit nRF24L01
709
10.11.1 Transceiver nRF24L01
710
10.11.2 nRF24L01-Modul
711
10.11.3 nRF24L01 mit SMA-Antenne
713
10.11.4 nRF24L01-Reichweitenmessung
713
10.11.5 Die Netzwerkknoten in der Übersicht
715
10.11.6 Initialisierung des nRF24L01
718
10.11.7 Datenübertragung zwischen zwei Sensorknoten
719
10.11.8 Datenübertragung zwischen mehreren Sensorknoten
723
11 Datenformate und Kommunikationsprotokolle
733
11.1 JSON
733
11.2 MQTT
736
11.2.1 Grundlagen
736
11.2.2 MQTT-Broker
738
11.2.3 MQTT-Client
740
12 Arduino-Benchmarks
745
13 Projektideen für den Arduino
749
13.1 Tragbare Elektronik (Wearables)
749
13.2 Überwachung des Raumklimas
752
13.2.1 Sensirion SCD30
755
13.2.2 Sensirion SGP30 und Bosch BME280
761
13.2.3 Bosch BME680
762
13.2.4 Environmental Sensor AZ-Envy
767
13.3 Open Data aus dem Internet
771
13.3.1 OpenWeatherMap
771
13.3.2 Covid-19-Datenbank
776
13.4 Pushover-Statusmeldungen
781
13.4.1 Pushover-Server
782
13.4.2 Pushover-Android-Client
783
13.4.3 Pushover-Integration ins Arduino-Programm
784
13.5 Überwachung von Pflanzen
789
13.5.1 M5Stack ENV.II und EARTH Unit
790
13.5.2 Kapazitive Bodenfeuchtesensoren
791
13.5.3 LilyGO-T-HiGrow Kit
792
13.6 Messung von radioaktiver Strahlung
794
13.6.1 Messtechnische Voraussetzungen
794
13.6.2 Auswertung der GMZ-Impulse
799
13.7 Arduino Yún
802
13.7.1 Netzwerk-Performance
802
13.7.2 Zwei Welten verbinden
803
13.7.3 Erfassen von Messdaten
805
13.8 M5StickC
812
13.8.1 M5StickC-Hats
812
13.8.2 M5StickC-Thermometer
813
13.8.3 M5StickC - Messung der Wassertemperatur
814
13.9 Kameraanwendungen
817
13.9.1 Arducam Shield V2
818
13.9.2 ArduCAM_ESP32S_UNO_PSRAM Board
822
13.9.3 M5Stack Camera
825
13.10 Maschinelles Lernen
827
13.10.1 TensorFlow Lite
828
13.10.2 Edge Impulse
828
14 Gehäuse für den Arduino
831
14.1 ArduiBox Open - Hutschienengehäuse für den Arduino
831
14.2 RasPiBox Pico für Raspberry Pi Pico
833
14.3 AZ-Touch MKR/ESP/Feather
834
14.4 ESPGateway - ESP32 WiFi/ BLE Gateway
835
15 Der Arduino in industriellen Anwendungen
839
15.1 Prototyping mit dem Arduino
839
15.2 Industrieanwendungen
840
15.2.1 Controllino
840
15.2.2 Industrial Controller
842
15.2.3 Industruino
843
Anhang
845
A.1 Arduino-Distributoren
845
A.2 Technische Daten im Vergleich
845
A.3 Spezifikation von Widerständen
850
A.3.1 Bedrahtete Widerstände
851
A.3.2 SMD-Widerstände
852
Index
855