O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Arduino - Praxiseinstieg

Book Description

  • Alle Komponenten der Hardware, Verwendung der digitalen und analogen Ports, Einsatzbeispiele mit Sensoren, Aktoren und Anzeigen
  • Praktischer Einstieg in die Arduino-Programmierung
  • Beispielprojekte wie Gefrierschrankwächter, Miniroboter mit Fernsteuerung, Geschwindigkeitsmesser und Internetanwendungen wie Mailchecker und Wetterstation

Arduino besteht aus einem Mikrocontroller und der dazugehörigen kostenlosen Programmierumgebung. Aufgrund der einfachen C-ähnlichen Programmiersprache eignet sich die Arduino-Umgebung für alle Bastler und Maker, die auf einfache Weise Mikrocontroller programmieren möchten, ohne gleich Technik-Freaks sein zu müssen.

Dieses Buch ermöglicht einen leichten Einstieg in die Arduino-Plattform. Der Autor bietet Ihnen eine praxisnahe Einführung und zeigt anhand vieler Beispiele, wie man digitale und analoge Signale über die Ein- und Ausgänge verarbeitet.

Darüber hinaus lernen Sie, wie man verschiedene Sensoren wie Temperatur-, Umwelt-, Beschleunigungs- und optische Sensoren für Anwendungen mit dem Arduino-Board einsetzen kann. Anschließend werden Servo- und Motoranwendungen beschrieben. Dabei wird ein kleiner Roboter realisiert, der ferngesteuert werden kann.

Im Praxiskapitel beschreibt der Autor verschiedene Internetanwendungen mit dem Arduino-Board. Mittels einer Ethernet-Verbindung wird Ihr Arduino twittern, E-Mails senden und empfangen sowie Umweltdaten sammeln und verarbeiten können. Als Projekt wird eine Wetterstation realisiert, die Wetterinformationen aus dem Internet abruft und Wetter- und Sensordaten auf einem Display darstellt.

Zum Abschluss werden verschiedene Werkzeuge und Hilfsmittel sowie Softwareprogramme für den Basteleinsatz beschrieben und Sie erfahren, wie die Arduino-Anwendung im Miniformat mit ATtiny realisiert werden kann.

Mit dem Wissen aus diesem Praxis-Handbuch können Sie Ihre eigenen Ideen kreativ umsetzen.

Aus dem Inhalt:
  • Hardwarekomponenten
  • Entwicklungsumgebung
  • Eingänge und Ausgänge verarbeiten
  • Einsatz von Sensoren, Aktoren und Anzeigen
  • Serielle Datenübertragung
  • Daten sammeln und speichern
  • Softwarebibliotheken und Hardware-Erweiterungen
  • Praxisanwendungen wie Kompass, Fieberthermometer, Wasserwaage, Netzteil und Roboter
  • Internetanwendungen mit Arduino wie Twitter-Tool, RSS-Reader, Mailchecker und Wetterstation, WiFi mit ESP8266
  • Eigene DIY-Boards und Arduino-Clones
  • Arduino im Miniformat mit ATtiny
  • Tools für Praktiker

Table of Contents

  1. 1 Einleitung
    1. 1.1 Aufbau des Buches
    2. 1.2 Downloads und weiterführende Informationen
    3. 1.3 Weitere Quellen
    4. 1.4 Danksagung
  2. 2 Arduino-Plattform
    1. 2.1 Am Anfang war der König
      1. 2.2 Be a Maker
      2. 2.3 Arduino-Plattform
      3. 2.4 Hardware
        1. 2.4.1 Arduino Uno/Genuino Uno
      4. 2.5 Software
      5. 2.6 Installation der Software
        1. 2.6.1 Installation des USB-Treibers unter Windows 7 und Windows 10
        2. 2.6.2 Installation des USB-Treibers unter Windows XP
        3. 2.6.3 Installation des USB-Treibers unter Mac OS X
        4. 2.6.4 Installation des USB-Treibers unter Linux
      6. 2.7 Get Connected
        1. 2.7.1 Verbindungskabel
        2. 2.7.2 Verbindung und »Blink«
        3. 2.7.3 Projekt Blink
      7. 2.8 Arduino-Entwicklungsumgebung
        1. 2.8.1 Voreinstellungen
        2. 2.8.2 Aufbau Entwicklungsumgebung
        3. 2.8.3 Menü- und Symbolleiste
        4. 2.8.4 Editor
        5. 2.8.5 Ausgabefenster
      8. 2.9 Arduino-Boards
        1. 2.9.1 Arduino Leonardo
        2. 2.9.2 Arduino Due
        3. 2.9.3 Arduino Yun
        4. 2.9.4 Arduino Mega 2560
        5. 2.9.5 Arduino Nano
        6. 2.9.6 Arduino Mini
        7. 2.9.7 Arduino LilyPad
      9. 2.10 Arduino-kompatible Boards
  3. 3 Startschuss
    1. 3.1 Das Arduino-Board
      1. 3.1.1 Stromlaufplan
      2. 3.1.2 Microcontroller – Das Gehirn
      3. 3.1.3 Anschlussbelegung
      4. 3.1.4 Stromversorgung
    2. 3.2 Steckbrett – Experimentieren ohne Löten
      1. 3.2.1 Spannungsversorgung auf dem Steckbrett
    3. 3.3 Spannung, Strom und Herr Ohm
    4. 3.4 Widerstand & Co
      1. 3.4.1 Widerstand
      2. 3.4.2 Potentiometer
      3. 3.4.3 Kondensator
      4. 3.4.4 Diode
      5. 3.4.5 Leuchtdiode
      6. 3.4.6 Transistor
      7. 3.4.7 Integrierte Schaltung (IC)
      8. 3.4.8 Relais
      9. 3.4.9 Schalter
      10. 3.4.10 Taster
    5. 3.5 Programmcode
      1. 3.5.1 Integer, Typen und Variablen
      2. 3.5.2 Struktur
    6. 3.6 Testen
      1. 3.6.1 Serieller Monitor
      2. 3.6.2 Code-Debugging
    7. 3.7 Projekt Blink
    8. 3.8 Projekt Wechselblinker
  4. 4 Eingänge und Ausgänge
    1. 4.1 Digitale Eingänge
      1. 4.1.1 Pin als Eingang setzen
      2. 4.1.2 Digitalen Eingang lesen
      3. 4.1.3 Digitalen Eingang entprellen
      4. 4.1.4 Hohe Eingangssignale
    2. 4.2 Digitale Ausgänge
      1. 4.2.1 Ausgang setzen und ausgeben
      2. 4.2.2 Praxis-Tipp: Status eines Ausgangs lesen
    3. 4.3 Analoge Welt
      1. 4.3.1 Analoge Signale einlesen
      2. 4.3.2 Analoge Signale ausgeben
    4. 4.4 Serielle Kommunikation
      1. 4.4.1 Serielle Schnittstelle (RS232)
      2. 4.4.2 Schnittstellenerweiterung
      3. 4.4.3 I2C/2-Wire (Two-Wire)
    5. 4.5 Drahtlose Kommunikation
      1. 4.5.1 433-MHz-Kommunikation
      2. 4.5.2 Daten übertragen mit RFM12B Transceiver
    6. 4.6 Projekt: Würfel
  5. 5 Sensoren
    1. 5.1 Sensoren
      1. 5.1.1 LDR (Fotowiderstand)
      2. 5.1.2 NTC/PTC
      3. 5.1.3 Integrierte Temperatursensoren
      4. 5.1.4 Pt100 und Thermoelemente
      5. 5.1.5 Feuchtesensoren
      6. 5.1.6 Kombinierte Umweltsensoren
      7. 5.1.7 Schaltersensoren
      8. 5.1.8 Abstandssensoren
      9. 5.1.9 Beschleunigungssensor
      10. 5.1.10 Kompass
      11. 5.1.11 Hall-Sensor
    2. 5.2 Projekt Kompass mit Richtungsanzeige
    3. 5.3 Projekt Gefrierschrankwächter
    4. 5.4 Kontaktloses Fieberthermometer
  6. 6 Aktoren
    1. 6.1 Relais
    2. 6.2 Servos
      1. 6.2.1 Analoge Temperaturanzeige
      2. 6.2.2 Servos als Motoren für Miniroboter
    3. 6.3 Motoren
    4. 6.4 Hohe Lasten schalten
    5. 6.5 Projekt: Roboter mit Wii-Steuerung
  7. 7 Anzeigen
    1. 7.1 Leuchtdiode (LED)
      1. 7.1.1 Konstantstromquelle mit Transistor
      2. 7.1.2 Konstantstromquelle mit Spannungsregler
      3. 7.1.3 Helligkeit steuern
      4. 7.1.4 LED als Berührungssensor
      5. 7.1.5 Jetzt wird es hell
    2. 7.2 7-Segment-Anzeigen
      1. 7.2.1 Port Expander über den I2C-Bus
    3. 7.3 LC-Display (LCD)
      1. 7.3.1 Paralleles LC-Display
      2. 7.3.2 Serielle LC-Displays
    4. 7.4 LC-Display Nokia 3310/5110
    5. 7.5 OLED-Display
    6. 7.6 LED-Matrix
    7. 7.7 Projekt Geschwindigkeitsmesser fürs Fahrrad
    8. 7.8 Projekt Schrittzähler
  8. 8 Datenverarbeitung
    1. 8.1 Daten speichern
      1. 8.1.1 Daten im ATmega-Controller speichern
      2. 8.1.2 Daten in externem EEPROM ablegen
      3. 8.1.3 Daten auf SD-Karte speichern
    2. 8.2 Daten ins Internet senden
    3. 8.3 Projekt: Programmierbarer Signalgeber
    4. 8.4 Sinusgenerator
    5. 8.5 Projekt: Digitales Netzteil
      1. 8.5.1 Hochspannungsteil
      2. 8.5.2 Leistungsteil
      3. 8.5.3 Ansteuerungsteil
      4. 8.5.4 Spannungsversorgungen
      5. 8.5.5 Aufbau des Geräts
    6. 8.6 Projekt Sollwerteingabe mit Drehgeber
      1. 8.6.1 Projekt-Erweiterung – Ausgabe als Analogwert
  9. 9 Erweiterungen
    1. 9.1 Bibliotheken
      1. 9.1.1 Ethernet-Bibliothek
      2. 9.1.2 Wire-Bibliothek
      3. 9.1.3 SoftwareSerial
      4. 9.1.4 TinyGPS-Bibliothek
      5. 9.1.5 NMEA
      6. 9.1.6 PString-Bibliothek
      7. 9.1.7 TextFinder-Bibliothek
      8. 9.1.8 Matrix-Bibliothek
      9. 9.1.9 LiquidCrystal-Bibliothek (LCD)
      10. 9.1.10 JeeLib
      11. 9.1.11 Stepper-Bibliothek
      12. 9.1.12 Wii Nunchuk
    2. 9.2 Hardware-Erweiterungen (Shields)
      1. 9.2.1 Protoshield
      2. 9.2.2 Protonly-Protoshield
      3. 9.2.3 Floweronly-Protoshield
      4. 9.2.4 Ethernet Shield
      5. 9.2.5 Datalogger und GPS Shield
      6. 9.2.6 Adafruit Motor Shield
      7. 9.2.7 DFRobot Motor Shield
      8. 9.2.8 Diduino-MsMot-Shield
      9. 9.2.9 Keypad Shield
      10. 9.2.10 Wave Shield
      11. 9.2.11 SD Card Shield
      12. 9.2.12 Nano Shield
      13. 9.2.13 Lithium Backpack
      14. 9.2.14 ITEAD Power Shield
      15. 9.2.15 RFM12B Shield
      16. 9.2.16 CC3000 WiFi Shield
      17. 9.2.17 Schraubklemmen-Shield
    3. 9.3 Hardware-Adapter
      1. 9.3.1 RFM12B-Breakout-Board
      2. 9.3.2 Wii-Nunchuk-Adapter
  10. 10 Arduino im Einsatz
    1. 10.1 Verbindung zum Internet
      1. 10.1.1 Netzwerkverbindung
      2. 10.1.2 Arduino als Webserver
      3. 10.1.3 Der Arduino als Webclient
      4. 10.1.4 Eingänge und Ausgänge übers Internet steuern
      5. 10.1.5 Wireless Ethernet (WiFi)
    2. 10.2 ESP-Module und Arduino
      1. 10.2.1 Integration in Arduino
      2. 10.2.2 ESP8266
      3. 10.2.3 ESP8266-ESP12E
      4. 10.2.4 Wemos D1 Mini
      5. 10.2.5 WiFi-Bibliothek für ESP8266
    3. 10.3 Heute schon getwittert?
    4. 10.4 Arduino mailt
      1. 10.4.1 Mail direkt versenden
      2. 10.4.2 Mail via PHP-Skript versenden
    5. 10.5 XML einlesen
      1. 10.5.1 XML lesen mit TextFinder
      2. 10.5.2 Wetterdaten von OpenWeatherMap abfragen
    6. 10.6 RSS einlesen
    7. 10.7 You got mail
    8. 10.8 Umweltdaten sammeln
    9. 10.9 Projekt Wetterstation
  11. 11 Fehlersuche/Troubleshooting
    1. 11.1 Allgemeines Vorgehen
    2. 11.2 Fehler in der Schaltung
    3. 11.3 Fehler im Programm
    4. 11.4 Probleme mit der IDE
    5. 11.5 Hallo Arduino-Board
  12. 12 DIY Boards und Clones
    1. 12.1 Boards
      1. 12.1.1 Minimalschaltung Arduino
      2. 12.1.2 Bare Bone Breadboard Arduino
      3. 12.1.3 Really Bare Bone Board (RBBB)
      4. 12.1.4 Helvetino
      5. 12.1.5 Sippino
      6. 12.1.6 RFBoard
    2. 12.2 Programmieradapter (USB-Wandler)
      1. 12.2.1 Anschlussbelegung FTDI
    3. 12.3 Programmierung über ICSP
      1. 12.3.1 Der Arduino als Programmiergerät (Arduino ISP)
    4. 12.4 Arduino im Miniaturformat mit ATtiny
      1. 12.4.1 tinyAVR und Arduino
      2. 12.4.2 Boardpakete für ATtiny
      3. 12.4.3 (Blink-)Schaltung mit ATtiny
      4. 12.4.4 Programmierung des ATtiny-Microcontrollers
      5. 12.4.5 AVR-Programmer
      6. 12.4.6 Projekt Selbstbau-Programmieradapter
      7. 12.4.7 Projekt ICSP-Breakout-Board fürs Steckbrett
      8. 12.4.8 Projekt Windlicht
      9. 12.4.9 Prototypen-Board für ATtiny84
  13. 13 Tools für Praktiker
    1. 13.1 Hardware
      1. 13.1.1 Steckbrett und Kabel
      2. 13.1.2 Lochrasterplatinen
      3. 13.1.3 Lötkolben und Lötzinn
      4. 13.1.4 Zangen
      5. 13.1.5 Biegelehre
      6. 13.1.6 Multimeter
      7. 13.1.7 Oszilloskop – Spannung sichtbar machen
    2. 13.2 Software
      1. 13.2.1 Schaltungsaufbau mit Fritzing
      2. 13.2.2 Eagle CAD
      3. 13.2.3 KiCad
      4. 13.2.4 Oszilloskop mit Arduino
    3. 13.3 Leiterplatten herstellen
      1. 13.3.1 Datenformat Gerber
      2. 13.3.2 Gerber-Daten aus Fritzing
      3. 13.3.3 Gerber-Daten aus Eagle
      4. 13.3.4 Gerber-Daten prüfen
      5. 13.3.5 Leiterplatten von OSH Park
  14. A Codereferenz
    1. A.1 Programmstruktur
    2. A.2 Aufbau einer Funktion
    3. A.3 Konventionen
    4. A.4 Datentypen
    5. A.5 Datentypkonvertierung
    6. A.6 Variablen & Konstanten
      1. A.6.1 Variablen
      2. A.6.2 Konstanten
    7. A.7 Kontrollstrukturen
    8. A.8 Mathematische Funktionen
    9. A.9 Zufallszahlen
    10. A.10 Arithmetik und Vergleichsfunktionen
    11. A.11 Funktionen
      1. A.11.1 Digitale Ein- und Ausgänge
      2. A.11.2 Analoge Ein- und Ausgänge
      3. A.11.3 Tonausgabe
      4. A.11.4 Interrupts
    12. A.12 Zeitfunktionen
    13. A.13 Serielle Kommunikation
  15. B Boards
    1. B.1 Vergleich der Board-Varianten
    2. B.2 Anschlussbelegung Microcontroller
  16. C Bezugsquellen
    1. C.1 Bezugsquellen und Lieferanten
  17. D Listings
    1. D.1 Wii-Nunchuk-Funktionsbibliothek (Kapitel 5)
    2. D.2 Mailchecker (Kapitel 8)
  18. E Migration zu Arduino 1.0
  19. F Stücklisten
  20. Stichwortverzeichnis