Arduino für Kids

Erik Schernich

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-95845-582-5

2. Auflage 2017

www.mitp.de

E-Mail: mitp-verlag@sigloch.de

Telefon: +49 7953 / 7189 - 079

Telefax: +49 7953 / 7189 - 082

© 2017 mitp Verlags GmbH & Co. KG

Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

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.

Lektorat: Katja Völpel

Fachkorrektorat: Thomas Brühlmann

Sprachkorrektorat: Petra Heubach-Erdmann

Covergestaltung: Christian Kalkert

Bilder: Alle Schaltpläne wurden mit Fritzing erstellt.

electronic publication: III-satz, Husby, www.drei-satz.de

Dieses Ebook verwendet das ePub-Format und ist optimiert für die Nutzung mit dem iBooks-reader auf dem iPad von Apple. Bei der Verwendung anderer Reader kann es zu Darstellungsproblemen kommen.

Der Verlag räumt Ihnen mit dem Kauf des ebooks 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 Urheherrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und Einspeicherung und Verarbeitung in elektronischen Systemen.

Der Verlag schützt seine ebooks vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die ebooks mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert.

Bei Kauf in anderen ebook-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.

Anhang C: Die Materialliste

In der 1. Auflage befand sich die Materialliste am Ende der Einleitung. Da diese von vielen Lesern übersehen wurde, ist diese nun in einen Anhang ausgegliedert worden.

Materialien

Anhang B:  Lösungen

Kapitel 1

Fragen

  1. Wo stellt man das verwendete Arduino-Board ein?

  2. Wozu dienen bool-Variablen?

  3. Welche Schleifenart hast du kennengelernt?

  4. Was bewirkt die Funktion millis()?

Antworten

  1. Tools|Board

  2. Zum Speichern der logischen Werte (true/false)

  3. Die while-Schleife

  4. Zeiterfassung seit dem Start des Arduinos

Kapitel 2

Frage

  1. Wo kann man die Übertragungsraten ablesen?

Antwort

  1. Unten rechts am Terminal

Kapitel 3

Fragen

  1. Wie heißt der erste Sensor dieses Kapitels?

  2. Nenne die Beine eines Transistors.

  3. Welcher Stromkreis muss geschlossen sein, um den anderen zu schalten?

  4. Welcher Schaltkreis verstärkt den anderen?

Antworten

  1. Fotowiderstand

  2. Collector, Emittor, Basis

  3. Emitter-Basis, dann schaltet Collector-Emitter

  4. Emitter-Basis verstärkt den Stromkreis Emitter-Collector

Kapitel 4

Fragen

  1. Welchen Motor steuert man mit/in Gradzahlen?

  2. Ist AC Gleich- oder Wechselstrom?

  3. Um wie viel Grad lässt sich ein normaler Servo drehen?

  4. Kann man einen DC-Motor auch gezielt ansteuern?

  5. Was ist eine Sekundenuhr?

Antworten

  1. Einen Servo

  2. AC ist die Abkürzung für Wechselstrom.

  3. 180°

  4. Ja, aber dazu braucht man spezielle Schaltungen.

  5. Eine Uhr, die in Sekunden zählt.

Kapitel 5

Fragen

  1. Wofür ist eine Dokumentation gut?

  2. Kann eine Dokumentation sehr kurz ausfallen?

  3. Welche Funktion hat der letztere Quellcode dieses Kapitels?

Antworten

  1. Damit man später verstehen kann, wie ein Programm funktioniert (als Autor oder auch als Nicht-Autor).

  2. Wenn das Programm sehr kurz ist, kann auch die Dokumentation sehr kurz sein.

  3. Ein Programm, mit einer Funktion zur Logdaten-(Protokoll-)Erstellung

Kapitel 6

Fragen

  1. Wofür steht LC in LCD?

  2. Welche Librarie (oben im Sketch) braucht man, um ein LC-Display anzusteuern?

  3. Braucht man unbedingt ein Potenziometer, um den Kontrast zu verändern?

Antworten

  1. Liquid Crystal, Flüssiger Kristall

  2. LiquidCrystal

  3. Man kann auch einen konstanten Widerstand benutzen, dann kann man allerdings nicht den Kontrast verändern.

Kapitel 7

Fragen

  1. Womit misst du den Durchgang?

  2. Welcher Wert muss angezeigt werden, wenn Durchgang besteht?

  3. Misst man den Widerstand in der Schaltung oder bei abgeschaltetem Strom?

  4. Werden Toleranzwerte beim Widerstand angezeigt oder der gedachte/vorgesehene Wert?

  5. Misst man Ampere/Stärke oder Volt/Spannung in Parallelschaltung?

Antworten

  1. Beispielsweise mit dem Diodenprüfer

  2. Eine Zahl ungleich 1

  3. Dies muss man bei abgeschaltetem Strom machen.

  4. Der angezeigte Wert ist der eigentliche Wert, die Toleranz ist also einberechnet.

  5. Dies ist bei der Spannung der Fall.

Kapitel 8

Fragen

  1. Was ist ein Shield?

  2. Welches haben wir verwendet?

  3. Über welchen Befehl kann man Links in HTML-Dokumenten erzeugen?

  4. Welchen Header senden wir an den Browser?

  5. Steht der Text zum Lesen in einem besonderen Bereich?

Antworten

  1. Eine Erweiterung für den Arduino, die auf diesen aufgesetzt werden kann

  2. Wir haben das Ethernet-Shield verwendet.

  3. Eigentlich ist es kein Befehl, sondern eine Formatierung: <a href=""></a>.

  4. Den Status "HTTP/1.1 200 OK" sowie die Dokumentenformatierung/das Dokumentenformat

  5. Der lesbare Inhalt steht im Body (zwischen <body></body>).

Kapitel 9

Fragen

  1. Hat der Leonardo einen Chip mehr oder weniger?

  2. Kann man den obigen Code auch mit dem Arduino Uno ausführen?

  3. Wie viele Tasten brauchst du, um die Umschalttaste zu realisieren?

  4. Kann man mit dem Arduino Leonardo eine gesamte Tastatur nachbauen?

  5. Was ist ein physisches Token?

Antworten

  1. Einen weniger, der »Programmier-Chip« beziehungsweise bei älteren Modellen FTDI-Chip entfällt.

  2. Nein, das ist eine Besonderheit des Arduino Leonardos.

  3. Eine zusätzliche Taste

  4. Prinzipiell ja, allerdings kann man nicht direkt alle Tasten auslesen, da dafür zu wenige Eingänge/Pins vorhanden sind.

  5. Ein Passwortschutz, der als Gerät ausgeführt ist, beziehungsweise ein Verifizierungsschutz

Kapitel 10

Fragen

  1. In welchem Head sind die Variablen DDRB, PORTB und PB1 definiert?

  2. Wozu dient das logische Oder (|) beim Zuweisen von Bits?

  3. Was ist ein Bit?

  4. Wie viele Pins umfasst maximal ein Port?

Antworten

  1. io.h

  2. Um 2 Bits auf einmal zu setzen

  3. Eine Variable, die den Wert 1/0 annimmt

  4. Bei dem Arduino 8 Bits, also 1 Byte (1 Byte = 8 Bits)

Kapitel 11

Fragen

  1. Warum hat der Arduino entweder 512 oder 1024 Speicherzellen?

  2. Wo wird eine Blackbox häufig verwendet?

  3. Welche Operatoren (zum Rechnen) kennt der Arduino?

Antworten

  1. Dies ist vom jeweiligen Arduino abhängig. Ältere Modelle haben in der Regel 512 Speicherzellen, modernere, wie der verwendete Arduino Uno, 1024 ( einem Byte).

  2. Eine Blackbox wird in Flugzeugen verwendet. Dort protokolliert (also speichert) diese sämtliche relevanten Informationen über die Flugzeugsysteme.

  3. Addition, Subtraktion, Division, Multiplikation sowie die Bool'schen Operatoren (beispielsweise Bitverschiebung)

Anhang A: Das Installieren der IDE

Die IDE ist eines deiner wichtigsten Werkzeuge (nach dem Arduino natürlich). Ohne sie kannst du nicht arbeiten und programmieren. Deswegen hier eine Anleitung zur Installation:

Dies ist die Übersicht der Punkte, die man zum Installieren beachten muss.

Installation

Zuerst musst du die Software hier herunterladen: http://arduino.cc/en/Main/Software

Aktuell ist die Version 1.8.5. Das Archiv, das du dann herunterlädst, entpackst du bitte mit deiner Archivsoftware (beispielsweise Winrar oder 7Zip). Den Ordner kannst du dann zum Beispiel auf dem Desktop speichern. Darin enthalten ist die sogenannte IDE, ein Programm, um einen Quellcode zu entwickeln und diesen dann in »Maschinensprache« zu übersetzen. Im Grunde genommen ist eine IDE eine Textbearbeitung, die Programmierbefehle farbig markiert.

Nun zu dem wirklich schweren Teil der Installation, das Installieren der Treiber. Wenn du Windows benutzt, bist du leider darauf angewiesen, Treiber zu installieren, damit du den Arduino programmieren kannst. Stecke den Arduino (Uno) an und warte. Es sollte sich nach kurzer Zeit ein Fenster öffnen, in dem nach Treibern/Updates gesucht wird. Ignoriere dies und öffne die Systemsteuerung. Gehe dann auf System & Sicherheit. Dort wählst du den Menüpunkt System|Gerätemanager. In dem sich neu öffnenden Fenster musst du den ersten Punkt (Anschlüsse) entfalten. Nun sollte dort ein Eintrag mit Arduino sein. Gehe mit einem Rechtsklick darauf, wähle Treibersoftware aktualisieren und im sich öffnenden Fenster Auf dem Computer nach Treibersoftware suchen. Nun musst du den Ordner auf dem Desktop suchen, in den du vorhin die IDE entpackt hast. Im Unterordner Drivers (Desktop|Arduino|Drivers) findest du eine Datei mit dem Namen ArduinoUno.inf. Wähle sie aus und die Treiberinstallation ist abgeschlossen. Solltest du ein anderes Board verwenden, musst du dann natürlich einen anderen Treiber (aus dem gleichen Ordner) auswählen.

(Aber ehrlich, da kann man ja schneller ein Linux-Betriebssystem installieren, ehe Windows einen Treiber installiert hat.)

Hiermit ist die Installation schon fertig. Nun kannst du deinen Arduino über USB-Kabel mit dem Computer verbinden und gleich programmieren. Zuerst musst du deiner IDE den richtigen Arduino einstellen. Wenn du den empfohlenen Arduino Uno benutzt, muss du unter Tools|Board den Arduino Uno auswählen, ansonsten den von dir gekauften Arduino.

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