Arduino für Kids - Erik Schernich - E-Book

Arduino für Kids E-Book

Erik Schernich

0,0

Beschreibung

  • Einfacher Einstieg in die Welt der Mikrocontroller-Programmierung
  • LEDs zum Leuchten bringen, Morsezeichen absetzen, einen Handventilator bauen und selbst eine Tastatur entwickeln
  • Mit vielen Tipps zur Durchführen eigener Projekte und zur Fehlersuche

In diesem Buch lernst du Schritt für Schritt und leicht verständlich, wie du mit dem Arduino UNO R3 Mikrocontroller spannende kleine Projekte realisieren und selbst programmieren kannst.

Du lernst zum Beispiel, wie du LEDs zum Leuchten bringst und Morsezeichen absetzt. Dann geht es richtig zur Sache: Du kannst mit Sensoren Messwerte erfassen oder mit Motoren Bewegung erzeugen. Baue zum Beispiel einfach einen kleinen Ventilator und einen Timer, der nach 30 Sekunden ein akustisches Signal aussendet. Am Ende des Buches lernst du sogar, wie man selbst eine Tastatur entwickelt und mithilfe des integrierten Speichers eine Blackbox wie bei einem Flugzeug konstruiert.

Viele Tipps zum Lesen von Quellcode anderer Entwickler und zur Fehlersuche geben dir Inspiration, eigene Ideen zu verwirklichen. Eine Anleitung zur Codeverwaltung sorgt dafür, dass du nicht den Überblick über deine Sketche verlierst. Durch Fragen und Aufgaben am Ende jedes Kapitels erhältst du zusätzlich jede Menge Anregungen.

Die Projekte im Buch:
  • Mehrfarbige LEDs blinken lassen
  • Morsezeichen abgeben
  • Spiel »Der heiße Draht«
  • Text mit dem Arduino senden
  • Debuggen mit System
  • Eine LED-Lichterkette basteln
  • Einen Handventilator bauen
  • Einen Servo-Motor nutzen
  • Eine Sekundenuhr entwickeln
  • Stromstärke und Stromspannung messen
  • Einen kleinen Webserver mit dem Arduino entwickeln
  • Tastaturfunktionen mit dem Arduino Leonardo
  • Sicherheitstoken für Passwörter
  • C++ als Herz des Arduino
  • Deine Sketches mit Git verwalten
  • Eine Blackbox wie in einem Flugzeug konstruieren

Schaltpläne in Farbe zum Download unter www.mitp.de/0649

Eine Übersicht über die Materialien, die du benötigst, findest du in Anhang C.

Systemvoraussetzungen: Windows, Linux und MacOS X

Ab 12 Jahre, aber auch für Erwachsene, die eine wirklich einfache Einführung suchen.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 177

Veröffentlichungsjahr: 2023

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsverzeichnis
Arduino für Kids
Impressum
Einleitung
Was ist ein Mikrochip?
Und was ist jetzt ein Mikrocontroller?
Und was ist dann ein Arduino?
Wie programmiert man?
Materialien
Der erste Anfang
Widerstände
Eine Schaltung mit einer mehrfarbigen LED
Zusammenfassung
Ein paar Aufgaben
Kapitel 1: Blinke, blinke, kleine LED
Die Installation prüfen
Unser erstes Programm
Wie bekommt man die LED zum Blinken?
Variablen und was es damit auf sich hat
Unser zweites Programm: Lichtspiel mit LEDs
Wie Funktionen funktionieren
Das Lesen von Eingängen
If und Else: Wenn das nicht klappt, mache das
Bedingungen in der Praxis
Unser drittes Programm: Morsen
Die Hardware anschließen
Die Software
Unser viertes Programm: Der heiße Draht
Zuerst die Variablen und Funktionen
Zeit messen‌
Das Ergebnis ausgeben‌
Switch: Die passende Reaktion auslösen
While: Eine Schleife ausführen
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 2: Der Arduino spricht
Einen ersten Text senden
Schnittstelle auf Frequenz initialisieren
Gib etwas aus!
Debuggen
Befehle senden
Zusammenfassung
Zwei Fragen …
… und eine Aufgabe für heute:
Kapitel 3: Sensoren – Schnittstellen zur Welt
Ein Sensor, was ist das eigentlich?
LEDs leuchten lassen
Analoge Eingänge
Analoge Ausgabe
LEDs schwächer werden lassen
Transistoren
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 4: Motoren – Bewegung mit dem Arduino
DC-Motor – Spaß mit Umdrehungen
Ein Handventilator
Den Motor effizient steuern
Servos
Ein 30-Sekunden-Timer
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 5: LCD – Infos direkt am Arduino
Was bedeutet eigentlich LCD?
Hallo Welt!
Ein Befehl für den Compiler: define
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 6: Messungen mit dem Multimeter
Was ist ein Multimeter?
Messungen bei Gleichstrom
Messung der Stromstärke
Messung der Widerstände
Wir untersuchen das Poti
Den Widerstand messen
Durchgangsmessung
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 7: Arduino online
HTML – Das Tor zum Internet
»Netz, wir brauchen Netz«
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 8: Tastatur mit dem Arduino Leonardo
Erste Schritte mit dem Leonardo
Eine LED zum Leuchten bringen
Tastatur-Emulation
Die erste kleine Tastatur
Ein Sicherheitstoken
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 9: Ein Blick hinter die IDE
C++, das Herz des Arduinos
Den Hintergrund der IDE betrachten
Was ist ein Terminal?
Im Terminal navigieren
Ein Programm auf den Arduino übertragen
Den Code kompilieren
Linken
Upload
AVR-Programmieren
Quellcode vom Arduino auf AVR anpassen
Boolesche Algebra
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 10: Git – Schatztruhe für deinen Code
Unser Beispielsketch
Versionskontrolle mit Git
Der Unterschied zwischen Commits und Änderungen
Weiter geht es mit unserem Repository
Teilen deines Codes im Internet
Deinen Code dokumentieren
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Kapitel 11:1 Quellcode anderer Entwickler lesen
Die Dokumentation
Der mysteriöse Quellcode
Zusammenfassung
Ein paar Fragen …
… und eine Aufgabe
Kapitel 12: Vergiss mein nicht – Nutzung des EEPROM
Allgemeines zum EEPROM
Was könnte man mit dem EEPROM programmieren?
Projekt: Blackbox
Zusammenfassung
Ein paar Fragen …
… und ein paar Aufgaben
Anhang A: Installation der Programme
Installation der IDE
Installation von Git
Anhang B: Referenz
C++-Referenz
Operatoren
Variablen und Datentypen
Definition von Funktionen
Symbole
I/O-Funktionen
Terminal-Referenz (inkl. AVR-GCC)
Git-Referenz
Anhang C: Die Materialliste
Anhang D: Antworten zu den Fragen
Kapitel 1
Fragen
Antworten
Kapitel 2
Frage
Antwort
Kapitel 3
Fragen
Antworten
Kapitel 4
Fragen
Antworten
Kapitel 5
Fragen
Antworten
Kapitel 6
Fragen
Antworten
Kapitel 7
Fragen
Antworten
Kapitel 8
Fragen
Antworten
Kapitel 9
Fragen
Antworten
Kapitel 10
Fragen
Antworten
Kapitel 11
Fragen
Antworten
Kapitel 12
Fragen
Antworten

Erik Schernich

Arduino für Kids

Der einfache Einstieg in die Welt der Mikrocontroller-Programmierung

Impressum

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.

ISBN 978-3-7475-0651-6 3. Auflage 2023

www.mitp.de E-Mail: [email protected] Telefon: +49 7953 / 7189 - 079 Telefax: +49 7953 / 7189 - 082

© 2023 mitp Verlags GmbH & Co. KG

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Dieses E-Book verwendet das EPUB-Format und ist optimiert für die Nutzung mit Apple Books auf dem iPad von Apple. Bei der Verwendung von anderen Readern kann es zu Darstellungsproblemen kommen.

Der Verlag räumt Ihnen mit dem Kauf des E-Books das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Der Verlag schützt seine E-Books vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die E-Books mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert. Bei Kauf in anderen E-Book-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.

Lektorat: Katja Völpel Sprachkorrektorat: Petra Heubach-Erdmann Covergestaltung: Christian Kalkert Coverhintergrundgrafik: blacklight_trace/Adobe Stock Satz: III-satz, Kiel, www.drei-satz.deelectronic publication: III-satz, Kiel, www.drei-satz.de

Einleitung

Du wolltest schon immer programmieren oder mit den Bestandteilen eines Computers arbeiten? Du wirst zwar nach diesem Buch keinen Computer bauen können, aber die Einleitung erklärt einiges, was du später machen kannst:

Dies erfährst du in der Einleitung:

Was ist ein Mikrochip, ein Mikrocontroller und was ist ein Arduino?

Wie programmiert man?

Welche Materialien brauchst du für dieses Buch?

Du siehst, du wirst einige Grundlagen über die Elektronik kennenlernen!

Was ist ein Mikrochip?

Sicherlich hast du schon eine Vorstellung, wie ein Mikrochip ‌aussieht. Wie eine kleine schwarze Fläche, die auf einer Platine, zum Beispiel dem Mainboard deines Computers, angebracht ist. Der Mikrochip, den du programmieren wirst, sieht etwas anders aus als ein solcher Chip. Er ist rechteckig, nicht quadratisch und besitzt wesentlich weniger Pins (die Metallbeine, die an der Seite herausragen). Außerdem sind diese Pins wesentlich größer, als du sie von »normalen« Mikrochips kennen könntest.

Und was ist jetzt ein Mikrocontroller?

Ein Mikrocontroller ‌ist ein Mikrochip, der alle benötigten Komponenten (sozusagen das Zubehör) bereits in sich trägt. Er sieht genauso aus wie ein Mikrochip. Du kannst ihn erneut mit dem Mainboard eines Computers vergleichen. Dann wäre das Mainboard der Mikrocontroller, und der Arbeitsspeicher wäre dann ein Teil des Zubehörs. Der Arbeitsspeicher ist beispielsweise ebenfalls in den Mikrocontroller integriert.

Merke dir: Wenn in diesem Buch in Zukunft über einen Mikrochip geschrieben wird, ist eigentlich der Mikrocontroller gemeint! Und zur Rechtschreibung: Man kann sowohl Microcontroller mit c als auch mit k (Mikrocontroller) schreiben.

Und was ist dann ein Arduino?

Damit du den Mikrocontroller am Anfang leichter programmieren kannst, gibt es das sogenannte Arduino-Projekt‌. Beim Arduino-Projekt gibt es fertige Platinen mit dem Mikrocontroller und eigener Software zum Programmieren. Die Platine wird dabei einfach als Arduino bezeichnet. In diesem Buch geht es, wie der Titel schon verrät, um die Programmierung eines Mikrochips auf der Arduino-Platine.

Das Besondere ist dabei, dass das Arduino-Projekt eine fertige Platine mit der passenden Entwicklungsumgebung für einen PC bereitstellt. Frühere Entwickler mussten sich teilweise sogar die Boards selbst basteln, damit sie überhaupt lernen konnten, wie man programmiert.

Materialien

Um jetzt in der Einführung weiterzumachen, brauchst du bereits einige Materialien. Dazu gehören eine LED (eine Leuchtdiode, also ein Bauteil, das Licht abstrahlt), Kabel, der Arduino und ein sogenanntes Breadboard.

Sämtliche benötigten Materialien sind übrigens in Anhang C am Ende des Buches aufgelistet.

Zusammenfassung

Du weißt nun, …

was ein Mikrocontroller bzw. ein Arduino ist

was LEDs und Widerstände sind

wie man die Stärke eines Widerstands an seinem Farbcode ablesen kann

und wie man beide Bauteile in einem Stromkreis verwenden kann

Und du weißt …

wie man eine LED zerstören könnte (ob beabsichtigt oder nicht)

Ein paar Aufgaben

Baue mit drei LEDs und drei 330-Ohm-Widerständen (für den Farbcode sieh in die Tabelle weiter oben) eine Reihenschaltung auf – dies bedeutet, dass der Ausgang einer LED (Pluspol) mit dem Eingang der nächsten LED (Minuspol) verbunden ist und nur die erste bzw. letzte LED jeweils mit dem Arduino verbunden sind.

Als Nächstes kannst du dir ansehen, wie die Lichtstärke einer LED vom Widerstand abhängt. Verwende dafür verschiedene Widerstände (beispielsweise solche, die dir in einem Set geliefert wurden) und beobachte jeweils, ob bzw. bis zu welchem Wert die LED noch leuchtet.

Wenn du bei einer LED den Plus- und Minuspol vertauscht, geht diese kaputt. Neben den Leuchtdioden gibt es auch »normale« Dioden (diese können nicht leuchten), die den Stromfluss nur in eine Richtung durchlassen (aber nicht beschädigt werden, wenn der Strom falsch herum anliegt).

Verwende mehrere solcher Dioden, um eine LED so anschließbar zu machen, dass sie unabhängig vom Anschluss der Stromquelle leuchtet (ohne beschädigt zu werden). Wenn du hier nicht weiterkommst, kannst du online nach dem Graetz-Gleichrichter recherchieren.

Und damit hast du schon die ersten Schritte geschafft. In den nächsten Kapiteln werden wir noch wesentlich interessantere Schaltungen bauen und anwenden. Also viel Spaß!

Kapitel 1: Blinke, blinke, kleine LED

Uno R3 Uno R4 Minima Uno R4 WiFi Leonardo Nano

In diesem Kapitel wirst du lernen, wie du den Arduino programmierst und wie man LEDs (das sind kleine Lampen) mit dem Arduino ansteuert. Zusätzlich lernst du das Benutzen von Buttons (Tasten) und wie du sie mit dem Arduino verwenden kannst.

Genau lernst du Folgendes:

Anschließen des Arduinos

Wie du LEDs mit dem Arduino an- und ausschaltest

Wie du den Arduino pausierst

Wie du einen Button (Knopftaste) verwendest

Wie du ein eigenes, kleines Projekt planst

Am Ende des Kapitels werden wir ein kleines Projekt planen und programmieren: eine blinkende Lichterkette mit verschiedenen Funktionen. Im 2. Kapitel werden wir dann die Lichterkette so erweitern, dass wir sie über den PC steuern und die Funktionen austauschen können.

  Die Installation prüfen

‌Als Erstes musst du Software installieren, mit der wir gleich arbeiten werden. Sieh dazu bitte in Anhang A, in dem das Vorgehen dazu erklärt wird. In der Installation ist die IDE (Integrated Development Environment) enthalten, ein Programm, um einen Quellcode zu schreiben und diesen dann in »Maschinensprache« zu übersetzen. Im Grunde genommen ist eine IDE eine Textbearbeitung, die Programmierbefehle farbig markiert.

Nachdem du die Installation (Anhang A) durchgeführt hast, kannst du deinen Arduino über USB-Kabel mit dem Computer verbinden und gleich programmieren. Zuerst musst du in deiner IDE den richtigen Arduino einstellen. Wenn du den empfohlenen Arduino Uno benutzt, musst du unter Tools|Board den Arduino auswählen, siehe dazu folgende Abbildung.

Wenn du ein anderes Arduino-Modell als den Arduino Uno verwendest (mögliche Arduinos werden dir in der Box am Anfang jedes Kapitels genannt), musst du hier das entsprechende Board in der IDE einstellen.

Danach musst du noch den richtigen Port einstellen‌: Zieh den Arduino Uno ab (falls du ihn bereits angeschlossen hattest), sieh dir unter Tools|Serial Port die Ports an und notier sie dir. Danach steckst du den Arduino Uno ein. Den Port, der neu hinzugekommen ist, musst du auswählen. Jetzt kannst du endlich programmieren.

  Unser erstes Programm

Unser erstes Programm soll lediglich zeigen, dass der Arduino korrekt verbunden ist.

void setup() {} void loop() {}

Diesen Code (den Quellcode) musst du in der IDE eingeben und dann auf den Pfeil oben links klicken. Wenn dann in der schwarzen Textbox Done (schwarzes Feld im unteren Bereich der IDE) steht, ist der Arduino korrekt eingestellt, ansonsten muss du die Anleitung oben wiederholen oder im Anhang A nachsehen. Ein Programm für den Arduino, der sogenannte Sketch‌, besteht immer aus zwei Teilen: dem »Setup« und der »Loop«. Der Code, der im Setup ‌steht, wird einmal beim Starten beziehungsweise beim Resetten des Controllers ausgeführt.

Bei einem Reset (»resetten« des Arduinos) wird der Arduino auf den Anfangspunkt eines Programms zurückgesetzt (das heißt, alle Variablen werden auf ihren ursprünglichen Wert aus dem Sketch zurückgesetzt und der Code wird von vorne, beginnend mit dem Setup-Teil, neu ausgeführt). Ein Reset findet beispielsweise statt, wenn du den Arduino von der Spannungsversorgung (beispielsweise dem USB-Kabel) abtrennst oder den beschrifteten Reset-Button auf dem Board drückst.

Der Code in der Loop‌‌wird dagegen in einer Endlosschleife‌‌ ausgeführt. Der Quellcode, den du selbst schreibst, kommt dabei in die geschweiften Klammern. Warum das so ist, kannst du später in diesem Kapitel im Abschnitt »Wie Funktionen funktionieren« nachlesen.

Ein wichtiger Hinweis: Wir verwenden die LED-Schaltung aus der Einführung!

Unser erstes Programm mit einer richtigen Funktion soll eine LED ansteuern und sie anschalten, später soll sie blinken.

void setup() { pinMode(13, OUTPUT); //Pin 13 auf Ausgang digitalWrite(13, HIGH); //Pin 13 Anschalten } void loop() {}

Ein wichtiger Hinweis: Alles, was hinter zwei Schrägstrichen steht, wird in einem Programm immer als Kommentar ‌gewertet, das heißt, dass dahinter geschriebener Text keine Funktion hat, sondern nur zur besseren Lesbarkeit dient.

Bei einem Arduino sind alle Ausgänge als sogenannte Pins konfiguriert. Das heißt, dass du jeden Pin ‌einzeln ansteuern kannst. Die Pins sind die kleinen Metallkontakte in den schwarzen Buchsen des Arduino (Uno). Häufig genutzte Pins sind hervorgehoben.

Neben jedem Pin ist eine Nummer, über die du ihn ansteuern kannst. In dem Beispiel verwende ich Pin 13, da daran im Arduino Uno bereits eine LED verbaut ist. Diesen Code musst du wie beim Beispiel auf den Arduino laden und schon leuchtet die LED grün. Oben im Code kannst du erkennen, dass der Befehl pinMode eine Funktion‌ist. In den Klammern werden der Funktion Parameter‌ übergeben. Parameter kann man als Informationen ansehen, die die Funktion zum Arbeiten benötigt. Hier ist der erste Parameter der Pin, der zweite der Zustand. Dies kann Output (Ausgang) sein oder Input (Eingang), den wir aber erst im Abschnitt »Das Lesen von Eingängen« benötigen.

void setup() { pinMode(13, OUTPUT); //Pin 13 auf Ausgang digitalWrite(13, HIGH); //Pin 13 Anschalten } void loop() {}

Ausgänge‌ schalten immer etwas, beispielsweise LEDs, Eingänge‌ lesen immer etwas, z.B. Tasten. Eine Funktion wird immer mit einem Semikolon (;) abgeschlossen, damit der Übersetzer weiß, dass der Befehl zu Ende ist. Der Übersetzer, der sogenannte Compiler‌‌, übersetzt den Quellcode in Maschinensprache, also in das Dualsystem (dies sind die Einsen und Nullen, mit denen der Computer arbeitet und von denen du vielleicht schon einmal gehört hast), damit es der Mikrocontroller verstehen kann. Der Befehl pinMode() ist notwendig, damit der Arduino weiß, wie der Pin zu benutzen ist. Der zweite Befehl, digitalWrite(), schaltet dann den Pin an. Bei dem Arduino Uno liegen 5 Volt an. Bei digitalWrite() kannst du bei dem zweiten Parameter entweder HIGH angeben, der PIN führt also Strom, oder LOW, der PIN ist ausgeschaltet.

Vielleicht merkst du schon, dass viele Begriffe in der Informatik englisch sind! Beim Programmieren ist Englisch eine wichtige Sprache: Sowohl die Fachbegriffe, beispielsweise HIGH für Hoch (im Sinne von angeschaltet), als auch die meisten Programmiersprachen sind auf Englisch »verfasst«. Deswegen schadet es nicht, wenn du einen kleinen Englischkurs machst (insbesondere, weil auch viele Dokumentationen, beispielsweise zu elektronischen Bauteilen, nur auf Englisch verfügbar sind).

  Wie bekommt man die LED zum Blinken?

D‌