Mit Arduino die elektronische Welt entdecken

Text
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Mit Arduino die elektronische Welt entdecken
Schriftart:Kleiner AaGrößer Aa

Inhalt





Impressum







Grußwort zur vierten Auflage von Teo Swee Ann, CEO von Espressif







Einleitung






      Arduino für alle






Der Layoutfehler, der Geschichte machte







Von den Segnungen des Copy&Paste – und seinen Beschränkungen







Wie ich mein Buch aufgebaut habe







Wie ich die Bastelprojekte gestaltet habe







Meine Website mit weiteren Arduino- und Elektronikthemen







Voraussetzungen







Benötigte Bauteile







Verhaltensregeln







Kapitel 1: Arduino: Die Hardware







Das Arduino-Uno-Board







Physikalische Größen







Kapitel 2: Arduino: Die Software







Arduino-IDE oder Arduino Create?







Was befindet sich wo?







Wir testen die Kommunikation zwischen Computer und Arduino







Die Bibliothekenverwaltung







Die Boardverwaltung‌







Der Sketch-Code in der Entwicklungsumgebung







Troubleshooting







Wie deine Idee in den Mikrocontroller kommt







Kapitel 3: Keine Angst vorm Programmieren – Coding Basics







Was ist ein Programm beziehungsweise ein Sketch?







Was sind Kontrollstrukturen?‌







Kapitel 4: Das Arduino-Discoveryboard







Das Arduino-Discoveryboard







Bastelprojekt 1: Hallo Welt – das Blinken einer LED







»Hallo Welt« wird geblinkt







Workshop zur blinkenden LED







Bastelprojekt 2: Arduino-Low-Level-Programmierung







Die Zugänge des Mikrocontrollers







Die Programmierung eines Ports







Register und C++-Befehle







Der Pullup-Widerstand







Bastelprojekt 3: Einen Taster sicher abfragen







Die Manipulation interner Pullup-Widerstände







Bastelprojekt 4: Blinken mit Intervallsteuerung







Drücke den Taster – und er reagiert







Bastelprojekt 5: Der störrische Taster







Ich wurde geprellt!







Bastelprojekt 6: Ein Lauflicht







Immer der Reihe nach







Register direkt beeinflussen‌







Die Bit-Manipulation







Der Lauflicht-Workshop







Bastelprojekt 7: Die Port-Erweiterung







Eine digitale Port-Erweiterung







Ein konventionelles Schieberegister







Ein einfacher Binärzähler







Bastelprojekt 8: Die Port-Erweiterung 2.0







Digitale Porterweiterung 2.0







Der Bit-Manipulations-Workshop







Platinenbau-Workshop







Bastelprojekt 9: Die Erstellung einer Arduino-Bibliothek







Bibliotheken verstehen und nutzen







Die Schieberegister-Library







Wo gibt es viele interessante Libraries?







Bastelprojekt 10: Eine Ampelschaltung







Die Ampelphasen







Eine interaktive Ampelschaltung‌







Workshop zur Ampelschaltung







Bastelprojekt 11: Der elektronische Würfel







Wie wird ein Würfel simuliert?







Der elektronische Würfel auf Platine – ein Blick in die Zukunft







Workshop zum elektronischen Würfel







Bastelprojekt 12: Der LED-Ring







Acht LEDs in einem Ring







Roulette-Workshop







Bastelprojekt 13: Der Lichtsensor







Ein veränderlicher Widerstand







Wir werden kommunikativ mit Processing







Workshop zum Lichtsensor







Bastelprojekt 14: Der Richtungsdetektor‌







Vom Arduino zu Processing







Grafikausgabe mit Processing







Workshop zum Richtungsdetektor







Bastelprojekt 15: Die Ansteuerung eines Servos







Was ist ein Servo‌?







Potentiometer – ein veränderlicher Widerstand







Bastelprojekt 16: Das Tischsonar







Der Ultraschallsensor







Der Ultraschallsensor mit dem Arduino







Der Datenempfang und die Visualisierung mit Processing







Workshop zum Tischsonar







Bastelprojekt 17: Die Siebensegmentanzeige







Die Siebensegmentanzeige genau erklärt



 





Workshop zur Siebensegmentanzeige







Bastelprojekt 18: Die Siebensegmentanzeige – Teil 2: Mir gehen die Pins aus







Das Problem mit mehreren Ziffern







Zwei Schieberegister







Das Multiplexing‌







Bastelprojekt 19: Die Temperatur messen mit Thermistoren







Heiß oder kalt oder was?







Bastelprojekt 20: Der Reaktionstester







Wie misst man Reaktionsfähigkeit?







Die Tab-Registerkarte in der Arduino IDE







Workshop zum Reaktionstester







Bastelprojekt 21: Ein Keypad am Arduino







Wie funktioniert ein Keypad?







Bastelprojekt 22: Ein Keypad als Arduino-Shield







Noch ein Keypad?







Ein kleines Zahlenratespiel‌







Workshop zum Keypad







Bastelprojekt 23: Das LC-Display







Eine alphanumerische Anzeige







Das Zahlenratespiel reloaded







Eigene Zeichen definieren







Ein LC-Display mit mehr Zeilen







Workshop zum LC-Display







Bastelprojekt 24: Die I²C-Kommunikation







Was bedeutet I²C?







Wir programmieren einen EEPROM-Monitor







Workshop zum EEPROM







Bastelprojekt 25: Port-Erweiterung über die I²C-Schnittstelle







Der Port-Expander MCP23017







Bastelprojekt: Beim Port-Expander MCP23017 die Ausgänge ansteuern







Bastelprojekt: Beim Port-Expander MCP23017 die Eingänge abfragen







Bastelprojekt 26: Schritt für Schritt zum Schrittmotor







Noch mehr Bewegung







Ein eigenes Motor-Shield basteln







Einen eigenen Sketch-Code programmieren







Bastelprojekt 27: Der ArduBot und seine Motorsteuerung







Wir werden mobil







Bastelprojekt 28: Der autonome ArduBot







Wir werden autonom







Bastelprojekt 29: Eine Lüftersteuerung







Einen Ventilator sinnvoll steuern







Workshop zum Lüfter







Bastelprojekt 30: Sound und mehr







Hast du Töne







Das Farben-Sequenz-Spiel







Workshop zum Farben-Sequenz-Spiel







Bastelprojekt 31: Data Monitoring







Datenerfassung und Visualisierung







Workshop zur Visualisierung







Bastelprojekt 32: Der Arduino-Talker – Wir programmieren ein Übertragungsprotokoll







Wir sprechen mit dem Arduino







Bastelprojekt 33: Die drahtlose Kommunikation über Bluetooth







Was ist Funkkommunikation?







Das Bluetooth-Modul HC-06







Workshop zu Bluetooth







Bastelprojekt 34: Netzwerkkommunikation







Was ist ein Netzwerk?







Workshop zur Netzwerkkommunikation







Bastelprojekt 35: Das ESP32-Board







Den ESP32 kennenlernen







Blinken mit dem ESP32







Das ESP32-Board D1 R32







Bastelprojekt: Der Temperatur-Logger







Workshop zum Temperatur-Logger







Bastelprojekt 36: Die Digital-Analog-Wandlung







Das R2R-Netzwerk







Bastelprojekt: Wir schalten die Bits







Bastelprojekt mit dem PCF8591P







Analyse des I²C-Datenstroms







Bastelprojekt 37: Arduino mit einer Blocksprache programmieren







S4A – Scratch for Arduino







ArduBlock – Arduino mit Block







Das Open Roberta Lab







Node-RED – Blocksprache fürs IoT







Bastelprojekt 38: Eine Interrupt-Steuerung







Was verstehen wir unter einem Interrupt‌?







Die Timer des Arduino Uno







Bastelprojekt 39: Das fliegende TFT-Display







Die Ansteuerung eines OLED







Das Kompassmodul CMPS11







Bastelprojekt 40: Build your own Arduino







Wie findet ein Sketch den Weg in den ATMega328?







Die Programmierung mit PlatformIO







Bastelprojekt Bootloader Burner als Mini-Shield







Bastelprojekt 41: Arduino meets Raspberry Pi







Wir erwecken den Arduino unter dem Raspberry Pi zum Leben







Bastelprojekt: Servomotoren mit einem Schieberegler steuern







Bastelprojekt 42: Der ArduTrak







Der ArduTrak und seine Tastatur







Workshop zum ArduTrak







Bastelprojekt 43: Mit Node-RED fürs Internet der Dinge programmieren







Wie Node-RED arbeitet







Bastelprojekt mit dem Temperatur- und Feuchtigkeitssensor DHT11







Bastelprojekt 44: Bluetooth und das Android-Smartphone







Smartphone App mit dem App-Inventor







Bastelprojekt 45: MQTT







M2M-Kommunikation mit MQTT







Bastelprojekt 46: LoRa und LoRaWAN







LoRa-Grundlagen







Zwei LoRa-Nodes kommunizieren miteinander







Das The Things Network (TTN‌)







Bastelprojekt: Der Temperatursensor DHT11 sendet ins TTN







Workshop zum LoRa-Bastelprojekt







Bastelprojekt 47: Eine Leiterplatine mit KiCad erstellen







KiCad kennenlernen







Günstige PCB-Herstellung







Bastelprojekt 48: Einen MIDI-Controller bauen







Die Digital Audio Workstation







Einige Grundlagen







Workshop zum MIDI-Controller






Mit Arduino die elektronische Welt entdecken





Erik Bartmann












Impressum



Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen.

 



Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im wesentlichen nach den Schreibweisen der Hersteller. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Kommentare und Fragen können Sie gerne an uns richten:



Bombini Verlags GmbH

 Kaiserstraße 235

 53113 Bonn

 E-Mail:

service@bombini-verlag.de



Copyright:

 © 2021 by Bombini Verlag



Bibliografische Information Der Deutschen Nationalbibliothek

 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über

http://dnb.d-nb.de

 abrufbar.



Umschlaggestaltung: Michael Oreal, Köln (

www.oreal.de

e

lectronic

pub

lication: III-satz, Husby,

www.drei-satz.de





ISBN 978-3-946496-29-8





Grußwort zur vierten Auflage von Teo Swee Ann, CEO von Espressif



Dear Erik,



In 2016, I came across a book of yours, which was about ESP8266, a microcontroller that my company Espressif had developed and released two years earlier. It was the first book ever written about ESP8266. Although I do not speak German and, therefore, I could not read it, I still understood the basic statements you made about ESP8266, as I was going through your text. Your beautiful and numerous illustrations helped me guess the accompanying text. Most importantly, I liked that you promoted the ESP8266 microcontroller as a tool for the Maker movement in as early as 2016. In any case, your assessment back then has been proved correct: Today, in every Maker workshop, no matter where in the world, one can find an ESP8266 or its successor, ESP32, alongside an Arduino and a Raspberry Pi board.



As I learned later, you had also written an extensive book about Arduino. Since its first edition in 2011, this 1,000-page book has been published in three editions already, and has become a reference book about Arduino in German. In this book, not only you do describe the functionality of the Arduino hardware and software, but you also cover the entire Maker catalogue of relevant topics. You explain the basics about electronics in detail and in an easy-to-understand way, you give an introduction to programming, and you show in numerous projects what great things can be developed with the Arduino platform.



In addition, you let the Maker think outside the box, discussing cutting-edge ideas that push the Arduino hobbyist’s creativity further. You have included MQTT, Node-RED, and LoRa-related topics, among many others that can help every Maker develop truly awesome and even complicated projects on their own. I am pleased to see that you have also covered ESP32 with its own project in your book.



I wish you much success for the fourth edition of your Arduino book.





Teo Sween Ann













Einleitung

Arduino für alle



Als ich mein erstes Buch über Arduino schrieb, gab es zwei oder drei Händler in Deutschland, über die man das Arduino-Board beziehen konnte, und ungefähr 800 Videos wurden bei YouTube aufgelistet, wenn man das Suchwort Arduino eingab. Für Elektronikprofis war dieser Mikrocontroller kaum ein Thema und wenn, dann belächelten sie eher seine Leistungsfähigkeit.



Die Arduino-Entwickler, die sich 2005 in der italienischen Kunst-Uni Ivrea ans Werk machten, einen leicht zu programmierenden Mikrocontroller zu entwerfen, hatten nicht den Elektronikprofi im Visier, sondern den Kunststudenten mit wenig Programmier- und Hardwarekenntnissen. Ihr Fokus lag dabei auf dem schnellen Realisieren von Ideen, dem Prototyping: eine künstlerische Idee, die der Student ohne Unterstützung von Ingenieuren und Programmierern selbst realisieren konnte.





Der Layoutfehler, der Geschichte machte



Die Arduino-Macher, allesamt keine Hardwarespezialisten, stellten den ersten Arduino-Mikrocontroller, den Arduino Uno, unter eine freie Hardwarelizenz, wobei sie die Erfahrungen der Open-Source-Bewegung auf die Hardwarewelt übertrugen. Sie legten die Schaltpläne offen, so dass jedermann frei darin war, das Board nach- oder umzubauen. Und die Arduino-Programmierumgebung – oder auch IDE genannt (Integrated Development Environment) – stellten sie ebenfalls unter eine Open-Source-Lizenz, jeder konnte die Software frei nutzen.



Bald schon wurde das Arduino-Board nicht nur von Studenten der italienischen Uni genutzt, sondern entwickelte sich zu einer praktischen Prototyping-Plattform, erst für Elektronik-Nerds, dann für Hobbyisten auf der ganzen Welt. Wesentlich beigetragen zur erfolgreichen Verbreitung dieser Plattform hat das Internet, das es ermöglichte, Schaltungen und dazugehörige Softwareprogramme leicht zu verbreiten – und Dank der freien Lizenz – auch nutzbar für alle zu machen. Ein riesiger weltweiter Pool von Ideen entstand, entwickelt von Hobbyisten, die stolz einer weltweiten Community ihre Projekte vorstellten. Projektideen wurden von irgendjemandem auf der Welt übernommen, vielleicht sogar verbessert und wieder ins Netz gestellt.



In den Folgejahren entwickelten sich der Arduino und seine Entwicklungsumgebung zu einem Quasistandard in der weltweiten Bastlerwelt. Eine neue, leicht zugängliche Plattform für E-Bastler war entstanden. Das blieb auch nicht den großen Hardwareproduzenten verborgen, die registriert hatten, dass zunehmend der Arduino für alle möglichen Steuerungs- und Messaufgaben eingesetzt wurde. Um die Möglichkeiten des Arduino-Boards zu erweitern, wurden Ergänzungsplatinen, die genau auf den Arduino Uno passten, sogenannte Shields, entwickelt.



Spätestens zu dem Zeitpunkt, als einer der größten Produzenten von Hardware seine Entwicklungsabteilung anwies, zukünftig das Layout des Arduino-Boards als Basis für ihre Hardware anzusehen, war klar, dass der Arduino aus der Technikwelt nicht mehr wegzudenken war. Kleine Anekdote am Rande: Wie schon gesagt, die Arduino-Entwickler waren zu Beginn noch keine Hardwarespezialisten, so dass sie leider einen Layoutfehler in das Arduino-Uno-Board einbauten. Um kompatibel mit dem Quasistandard zu bleiben, übernahm der namhafte weltweite Hersteller brav diesen Layoutfehler. Bis heute.





Von den Segnungen des Copy&Paste – und seinen Beschränkungen



Als ich mein erstes Arduino-Buch plante, fragte ich mich, was ein Bastler vor allem braucht, um mit dem Arduino eigene Projekte zu realisieren. Es war ja schon zu diesem Zeitpunkt möglich, sich über das Internet und über die gerade entstehenden Arduino-Communities und -foren lauffähige Programme zu besorgen, sie auf den eigenen Arduino hochzuladen und schon lief das Projekt auch in heimischer Umgebung, vielleicht noch versehen mit ein paar gezielten Eingriffen in den Code. Musste zusätzliche Hardware verbaut werden, orientierte man sich beim Nachbau an der Schaltung.



Was also sollte ein Buch über den Arduino noch enthalten außer der Beschreibung des Boards und der Entwicklungsumgebung und wie man die Programme vom PC auf den Mikrocontroller bekommt? Was passiert, wenn man eine Schaltung nachgebaut hat und sie dann erweitern möchte? Um einen guten konzeptionellen Ansatz für mein Buch zu finden, fragte ich mich, was mir am meisten dabei geholfen hat, eigene Elektronikprojekte zu bauen. Die Antwort war simpel und ernüchternd: Mir haben meine Grundkenntnisse in Elektrotechnik dabei geholfen, aus Ideen funktionierende Technikprojekte zu machen.



Ich finde es absolut beeindruckend, dass Menschen, die nichts mitbringen außer Bastellust, mit dem Arduino bereits nach einer halben Stunde eine Ampelschaltung auf dem Steckbrett betreiben können, ohne jemals zuvor einen Mikrocontroller in der Hand gehalten oder eine Zeile Code geschrieben zu haben. Es reicht dazu ein YouTube-Video und vielleicht noch eine Schritt-für-Schritt-Beschreibung, schon blinken die LEDs im gewünschten Ampelschaltungsrhythmus auf dem Schreibtisch

Weitere Bücher von diesem Autor