Arduino für Kids - mitp-Verlag · 9 Einleitung Du wolltest schon immer programmieren oder mit den...

24

Transcript of Arduino für Kids - mitp-Verlag · 9 Einleitung Du wolltest schon immer programmieren oder mit den...

5

Inhalt

Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Was ist ein Mikrochip? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Wie programmiert man? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Materialien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Der erste Anfang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1Blinke, blinke, kleine LED . . . . . . . . . . . . . . . . . . . . . 19Die Software installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Unser erstes Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Unser zweites Programm: Lichtspiel mit LEDs . . . . . . . . . . . . . . 26Unser drittes Programm: Morsen . . . . . . . . . . . . . . . . . . . . . . . . 35Unser viertes Programm: Der heiße Draht . . . . . . . . . . . . . . . . . 38Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Inhalt

6

2 Der Arduino spricht . . . . . . . . . . . . . . . . . . . . . . . . . 49Einen ersten Text senden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Eine Frage ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58... und eine Aufgabe für heute: . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3 Sensoren – Schnittstellen zur Welt . . . . . . . . . . . . . 59Ein Sensor, was ist das eigentlich? . . . . . . . . . . . . . . . . . . . . . . . 59LEDs leuchten lassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4 Motoren – Bewegung mit dem Arduino . . . . . . . . . . 71DC-Motor – Spaß mit Umdrehungen . . . . . . . . . . . . . . . . . . . . . 72Den Motor effizient steuern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Servos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5 Quellcode anderer Entwickler lesen . . . . . . . . . . . . . 83Die Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Der mysteriöse Quellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87... und eine Aufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6 LCD – Infos direkt am Arduino . . . . . . . . . . . . . . . . . 89Was bedeutet eigentlich LCD? . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Inhalt

7

7Der Arduino und das Multimeter . . . . . . . . . . . . . . . 95Zum Anfang eine Anekdote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Welche Anzeige möchten wir haben? . . . . . . . . . . . . . . . . . . . . . 96Wir untersuchen das Poti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Durchgangsmessung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8Arduino online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107HTML – Das Tor zum Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . 107»Netz, wir brauchen Netz« . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

9Tastatur mit dem Arduino Leonardo . . . . . . . . . . . . . 115Erste Schritte mit dem Leonardo . . . . . . . . . . . . . . . . . . . . . . . . . 116Die erste kleine Tastatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Ein Sicherheitstoken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

10Ein Blick hinter die IDE . . . . . . . . . . . . . . . . . . . . . . 125C++, das Herz des Arduinos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Ein Programm auf den Arduino übertragen . . . . . . . . . . . . . . . . 131AVR-Programmieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Inhalt

8

11 Vergiss mein nicht – Nutzung des EEPROM . . . . . . . 139Allgemeines zum EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Was könnte man mit dem EEPROM programmieren? . . . . . . . . 141Projekt: Blackbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Ein paar Fragen ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150... und ein paar Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

A Das Installieren der IDE . . . . . . . . . . . . . . . . . . . . . . 151Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

B Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Kapitel 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Kapitel 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Kapitel 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Kapitel 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Kapitel 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155Kapitel 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155Kapitel 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156Kapitel 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156Kapitel 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Kapitel 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Kapitel 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

C Die Materialliste . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Materialien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . 161

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

9

Einleitung

Du wolltest schon immer programmieren oder mit den Bestandteilen einesComputers arbeiten? Du wirst zwar nach diesem Buch keinen Computerbauen können, aber die Einleitung erklärt einiges, was du später machenkannst:

Dies erfährst du in der Einleitung:

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

$ Wie programmiert man?

$ Was brauchst du an Materialien 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 demMainboard deines Computers, angebracht ist. Der Mikrochip, den du pro-grammieren wirst, sieht etwas anders aus als ein Chip, den du kennenkönntest. Er ist rechteckig, nicht quadratisch und besitzt wesentlichweniger Pins (die Metallbeine, die an der Seite herausragen). Außerdemsind diese Pins wesentlich größer, als du sie von »normalen« Mikrochipskennen könntest.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Einleitung

10

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 einMikrochip. Du kannst es erneut mit dem Mainboard eines Computer ver-gleichen! Dann wäre das Mainboard der Mikrocontroller, und der Arbeits-speicher wäre dann ein Teil des Zubehörs. Der Arbeitsspeicher ist ebenfallsin dem Mikrocontroller integriert.

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 esfertige Platinen mit dem Mikrocontroller und eigener Software zum Pro-grammieren. Die Platine wird dabei einfach als Arduino bezeichnet. Indiesem Buch geht es, wie der Titel schon verrät, um die Programmierungeines Mikrochips auf der Arduino-Platine.

Das Besondere ist dabei, dass das Arduino-Projekt eine fertige Platine mitder passenden Entwicklungsumgebung für einen PC bereitstellt. FrühereEntwickler mussten sich teilweise sogar die Boards selber basteln, damitsie überhaupt lernen konnten, wie man programmiert.

Wie programmiert man?Programmieren kann man leider nicht durch Reden, sondern nur überTexte am Computer. Diese Texte werden zudem nicht in Deutsch verfasst,sondern die wenigen Wörter sind auch auf Englisch. Das sollte dich abernicht abhalten, programmieren zu lernen! Du lernst programmieren mitder Programmiersprache C++, einer sehr systemnahen und systemati-schen, aber auch komplexen Programmiersprache. Um es am Anfang nichtviel zu schwer zu machen, haben die Arduino-Macher einen einfacherenDialekt (= eine Variation der Programmiersprache) entwickelt. C++ basiertauf wenigen Wörtern, dafür auf vielen teilweise sehr kryptisch wirkendenZeichen. In den Klammern steht jeweils, wie man dieses Zeichen »ausspre-chen« würde: zum Beispiel ++ (Inkrement), % (Modulo Division).

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

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Materialien

11

Wenn du erst einmal weißt, was die einzelnen Symbole bedeuten, wirstdu sie fehlerfrei anwenden können. Mit folgendem Quelltext zeige ich dir,was mit C++ möglich ist. Diesen Quellcode habe ich für einen selbstgebauten Terrariencomputer entwickelt, der leider noch im Anfangssta-dium ist:

Zum Programmieren brauchst du allerdings noch Software für den PC,die du unter arduino.cc im Internet findest. Zur genauen Installationschau bitte in den Anhang oder in das nächste Kapitel.

Nun sollst du aber etwas über das Gerät lernen, das wir für das Buch be-nötigen, den Arduino. Der Arduino, den du vermutlich vor dir hast, ist einArduino Uno. Du solltest den Arduino erst einmal über USB mit dem Com-puter verbinden. Du kannst ihn zwar noch nicht programmieren, aber dukannst ihn schon als Stromquelle für die nächsten Schaltungen benutzen.

MaterialienUm jetzt in der Einführung weiterzumachen, brauchst du bereits einigeMaterialien. Dazu gehören eine LED (eine Leuchtdiode, also ein Bauteil,das Licht abstrahlt), ein schwarzes und ein graues Kabel (oft werden vonArduino-Nutzern schwarz-rote Kabel als Farbkombination benutzt, imBuch benutzen wir wegen der schwarz-weißen Schaltpläne schwarz-grauzur besseren Erkennbarkeit), der Arduino und ein sogenanntes Breadboard.

#include "dimmen.h"#include "kern_temperatur.h"#include "terra_temperatur_class.h"#include "class_cool.h"void setup() { pinMode(13, OUTPUT); pinMode(12,OUTPUT); Serial.begin(9600); ADMUX = 0xC8; delay(10);}

void loop() { Cooler cooler(13); delay(100); bool hot = kern_temp(17); if (hot) cooler.start(); else{ cooler.stop(); } delay(500); }

Sämtliche benötigten Materialen sind übrigens im Anhang C am Endedes Buches aufgelistet.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Einleitung

12

Der erste AnfangNun wollen wir aber zum ersten Mal irgendetwas mit dem Arduinomachen. Ich schlage vor, zuerst lassen wir einfach eine LED leuchten. Dieskönnen wir auf zwei Arten machen: Entweder wir benutzen den Arduinoals Stromquelle oder eine Batterie. Damit du dich gleich mit dem Arduinovertraut machst, baue einmal die Schaltung auf dem ersten Bild in die-sem Buch nach. Dabei musst du Folgendes beachten: Das rote Kabelkommt an den Pin des Arduino mit der Beschriftung VCC, das schwarzean das Kabel mit GND, also an Plus und Minus. Und zuletzt: Das roteKabel (der Pluspol) wird an die lange Seite der LED angeschlossen, daskurze Ende an das schwarze Kabel (Minuspol).

Verwende in diesem Beispiel nur (!) die rote LED, für andere LEDs bräuch-test du definitiv einen Widerstand (siehe weiter unten).

Alle Schaltpläne kannst du dir unter www.mitp.de/580 herunter-laden. Dort sind die Kabel auch farbig – im Gegensatz zu den Schalt-plänen im Buch.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Der erste Anfang

13

Hiermit hast du gleich vier wichtige Bestandteile für eine Schaltung, dieimmer wieder im Buch vorkommen. Drei davon werden sogar in jederSchaltung verwendet: der Arduino, das Breadboard, die LED und zuletztdas Kabel.

WiderständeLeider geht das obige Beispiel nur mit roten LEDs. Andere würden wegender Stromstärke durchbrennen. Deswegen braucht man ein weiteres Bau-teil, den Widerstand.

Widerstände sind relativ günstig (ungefähr 1 Cent das Stück), sodass du100 für einen Euro bekommen kannst.

Wenn du jetzt die nächste Schaltung nachbaust, wirst du sehen, dass dieLED mit Widerstand schwächer leuchtet, eben weil der Strom reduziert/geschwächt wird.

Im unteren Beispiel wird ein 130-Ohm-Widerstand gefordert.

Auch wenn das letzte Bauteil eigentlich das einfachste ist, wirst duohne dieses kaum eine Schaltung so wie im Buch beschrieben nach-bauen können. Lediglich beim Löten kann man auf Kabel verzichten,aber auch hier gibt es Ausnahmen, bei denen man ein Kabel braucht.

Ein Widerstand ist ein kleines Bauteil, das dazu dient, den Strom zureduzieren, damit empfindlichere Bauteile nicht beschädigt werden.Hierbei ist es egal, wie herum ein Widerstand angeschlossen ist. Ersieht im Prinzip wie eine recht kleine Röhre aus, auf der mehrerefarbige Streifen zu finden sind.

Ein wichtiger Tipp: Du musst im Buch immer lesen, welchen Wider-stand man einfügen soll, denn die Abbildungen enthalten nur einenallgemeinen Platzhalter für den Widerstand.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Einleitung

14

In diesem Beispiel ist es so, dass die linke LED heller leuchtet als dierechte. Es ist übrigens egal, auf welcher Seite man den Widerstandanschließt. Jetzt aber die entscheidende Frage: Wie bestimmt man denWert eines Widerstandes, denn es gibt ja verschiedene Stärken?

Wenn du genau hinsiehst, hat jeder Widerstand einen Farbcode, alsomehrere verschiedenfarbige Ringe. Je nach Farbe hat das Bauteil eineandere Eigenschaft. Die Stärke des Widerstands wird übrigens in der Ein-heit Ohm gemessen. Mit der folgenden Tabelle kannst du den Wert einesWiderstands bestimmen.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Der erste Anfang

15

Mit dieser Tabelle kannst du Widerstandswerte nachschlagen. Überall,wo ein »K« steht, musst du dir drei Nullen denken. Denn K steht für Kilo,also Tausend (1K entspricht 1.000, 10K entsprechen 10.000). M(ega) undG(iga) stehen für 1.000.000 bzw. 1.000.000.000.

Die Toleranz steht dafür, wie sehr der Wert abweichen darf. Dieser Ringist meistens goldenfarbig.

Beispielrechnung:

Wenn wir nun den Widerstand 130 Ohm brauchen, hat er folgende Far-ben: (1. Ring = Braun, 2. Ring = Orange und 3. Ring = Braun), denn 13 (1.und 2. Ring) + 10 (Multiplikator) gleich (=) 130 (Ohm).

Ein Tipp: Der goldene oder silberne Ring ist immer rechts, wenn duden Widerstand richtig hältst.

Farbe 1. Ring 2. Ring Multiplikator Toleranz

Silber 0.01 10%

Gold 0.1 5%

Schwarz - 0 1

Braun 1 1 10

Rot 2 2 100

Orange 3 3 1K = 1000

Gelb 4 4 10K

Grün 5 5 100K

Blau 6 6 1M

Violett 7 7 10M

Grau 8 8 100M

Weiß 9 9 1G

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Einleitung

16

Eine Schaltung mit einer mehrfarbigen LEDBaue einmal die nächste Schaltung nach.

Dies ist eine Schaltung mit einer mehrfarbigen LED. Das heißt, dass eineLED in drei Farben leuchten kann (in der Regel Rot, Grün und Blau). In derobigen Schaltung brauchst du wieder einen 130-Ohm-Widerstand. Wenndu nun das orangefarbene Kabel nimmst und an einen der freien(LED-)Pins hältst, leuchtet die spezielle LED in einer der drei Farben.

Dabei gibt es einen gemeinsamen Pluspol und für jede Farbe der LEDeinen Minuspol. Um dieses Kapitel gut abzuschließen, baue einfach dienächste Schaltung nach und sieh, was passiert. Das neue Bauteil ist einFotowiderstand, den ich aber erst in einem späteren Kapitel beschreibe.

Statt einer Batterie kannst du auch den Arduino benutzen (VCC->Rot,GND->Schwarz), du musst dann aber eventuell den Widerstandeinbauen. Bei 3 V kann man ihn auch teilweise auslassen.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Zusammenfassung

17

ZusammenfassungDu weißt nun, ...

0 wie man LEDs anschließt

0 was ein Widerstand ist

0 wie man mehrfarbige LEDs anschließt

Und du weißt ...

0 Wie man eine LED zerstören könnte

Ein paar Aufgaben1. Schalte drei LEDs in eine Reihe (+ 3 * 330-Ohm-Widerstände).

2. Ersetze den Arduino als Stromquelle durch eine Zungenbatterie undbeobachte, wie sich die Lichtstärke der LEDs verändert.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Einleitung

18

3. Verwende mehrere Dioden, um eine LED leuchten zu lassen, egal wiesie an die Pole angeschlossen ist.

4. Wenn du die obere Aufgabe nicht schaffst, recherchiere nach demGraetz-Gleichrichter.

Und damit hast du das erste Kapitel dieses Buches geschafft. In dennächsten Kapiteln werden wir noch wesentlich interessantere Schaltun-gen bauen und anwenden. Also noch viel Spaß!

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

19

1Blinke, blinke, kleine LED

In diesem Kapitel wirst du lernen, wie du den Arduino programmierst, wieman LEDs (das sind kleine Lampen) zum Leuchten bekommt. Zusätzlichlernst du das Benutzen von Buttons (Tasten) und wie du sie mit demArduino verwenden kannst.

Genau lernst du Folgendes:

$ Installieren der Software, Anschließen des Arduinos

$ Wie du LEDs an- und ausschaltest

$ Wie du den Arduino pausierst

$ Auslesen eines Buttons

$ Wie du ein eigenes Projekt planst

Am Ende des Kapitels werden wir ein kleines Projekt planen und pro-grammieren: 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.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Blinke, blinke, kleine LED

1Kapitel

20

Die Software installierenDas Installieren der Software ist relativ einfach. Zuerst musst du die Soft-ware hier herunterladen: http://arduino.cc/en/Main/Software.

Nun zu dem wirklich schwierigen Teil der Installation, das Installieren derTreiber. Wenn du Windows benutzt, bist du leider darauf angewiesen,Treiber zu installieren, damit du den Arduino programmieren kannst. Ste-cke den Arduino (Uno) an und warte. Es sollte sich nach kurzer Zeit einFenster öffnen, in dem nach Treibern/Updates gesucht wird. Ignorieredies und öffne die Systemsteuerung. Gehe dann auf SYSTEM & SICHERHEIT.Dort wählst du den Menüpunkt SYSTEM|GERÄTE-MANAGER.

In dem sich neu öffnenden Fenster musst du den ersten Punkt (An-schlüsse) entfalten. Nun sollte dort ein Eintrag mit Arduino sein. Gehe

Aktuell ist die Version 1.8.5. Das Archiv, das du herunterlädst, ent-packst du bitte mit deiner Archivsoftware (beispielsweise Winrar oder7Zip). Den Ordner kannst du dann zum Beispiel auf dem Desktop spei-chern. Darin enthalten ist die sogenannte IDE, ein Programm, umeinen Quellcode zu entwickeln und diesen dann in »Maschinenspra-che« zu übersetzen. Im Grunde genommen ist eine IDE eine Textbear-beitung, die Programmierbefehle farbig markiert.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Die Software installieren

21

mit einem Rechtsklick darauf, wähle TREIBERSOFTWARE AKTUALISIEREN und imsich öffnenden Fenster AUF DEM COMPUTER NACH TREIBERSOFTWARE SUCHEN.Nun musst du den Ordner auf dem Desktop suchen, in den du vorhin dieIDE entpackt hast. Im Subordner Drivers (DESKTOP|ARDUINO|DRIVERS) fin-dest du eine Datei mit dem Namen ArduinoUno.inf. Wähle diese aus unddie Treiberinstallation ist abgeschlossen. Solltest du ein anderes Boardverwenden, musst du dann natürlich einen anderen Treiber (aus demgleichen Ordner) auswählen.

Hiermit ist die Installation schon fertig. Nun 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 duden empfohlenen Arduino Uno benutzt, musst du unter TOOLS|BOARD denArduino auswählen, siehe dazu folgende Abbildung.

Danach musst du noch den richtigen Port einstellen: Ziehe den ArduinoUno ab (falls du ihn bereits angeschlossen hattest) und schau dir unterTOOLS|SERIAL PORT die Ports an und notiere sie dir. Danach steckst du denArduino Uno ein. Den Port, der neu hinzugekommen ist, musst du aus-wählen. Jetzt kannst du endlich programmieren.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Blinke, blinke, kleine LED

1Kapitel

22

Unser erstes ProgrammUnser erstes Programm soll lediglich zeigen, dass der Arduino korrektverbunden ist.

Diesen Code (den Quellcode) musst du in der IDE eingeben und dann aufden Pfeil oben links klicken. Wenn dann in der schwarzen Textbox Done(schwarzes Feld im unteren Bereich der IDE) steht, ist der Arduino korrekteingestellt, ansonsten muss du die Anleitung oben wiederholen oder imAnhang A nachsehen.

Ein Programm für den Arduino, der sogenannte Sketch, besteht immeraus zwei Teilen, dem »Setup« und der »Loop«. Der Code, der im Setupsteht, wird einmal beim Starten beziehungsweise beim Resetten des Con-trollers ausgeführt. Der Code in der Loop wird dagegen in einer Endlos-schleife ausgeführt. Der Quellcode, den du selber schreibst, kommt dabeiin die geschweiften Klammern. Warum das so ist, kannst du später in die-sem Kapitel im Bereich »Wie Funktionen funktionieren« nachlesen.

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

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

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

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

void setup() {pinMode(13,OUTPUT); //Pin 13 auf AusgangdigitalWrite(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 zurbesseren Lesbarkeit dient.

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Unser erstes Programm

23

Neben jedem Pin ist eine Nummer, über die du den Pin ansteuern kannst.In dem Beispiel verwende ich Pin 13, da an diesem bereits eine LED ver-baut ist. Diesen Code musst du wie beim Beispiel auf den Arduino ladenund schon leuchtet die LED grün. Oben im Code kannst du erkennen, dassder Befehl pinMode eine Funktion ist. In den Klammern werden der Funk-tion Parameter übergeben. Parameter kann man als Informationen anse-hen, die die Funktion zum Arbeiten benötigt. Hier ist der erste Parameterder Pin, der zweite der Zustand. Dies kann Output (Ausgang) sein oderInput (Eingang), den wir aber erst im Abschnitt »Das Lesen von Eingän-gen« benötigen.

Ausgänge schalten immer etwas, beispielsweise LEDs, Eingänge lesenimmer 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 inMaschinensprache, also in das Dualsystem (dies sind die Einsen und Nul-len, mit denen der Computer arbeiteten und von denen du vielleichtschon einmal gehört hast), damit es der Mikrocontroller verstehen kann.Der Befehl pinMode() ist notwendig, damit der Arduino weiß, wie der Pinzu benutzen ist. Der zweite Befehl, digitalWrite(), schaltet dann denPin an. Bei dem Arduino Uno liegen 5 Volt an. Bei digitalWrite() kannstdu bei dem zweiten Parameter entweder HIGH angeben, der PIN führt alsoStrom, oder LOW, der PIN ist ausgeschaltet.

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

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

161

Stichwortverzeichnis

0-Sekunden-Timer 79

AAlgebra

boolesche 136Ampere 98Analoge Anzeige 96Analoge Ausgabe 63analogRead() 145Arduino Leonardo 116Arduino Uno 116Arduino-Projekt 10Ausgabe

analoge 63Ausgang 23avrdude 131, 133avr-gcc 131AVR-Programmieren 133

Bbaud 51Baumstruktur 40Bitverschiebung 136Blackbox 141bool 26Boolesche Algebra 136break 44

Buttonverkabeln 31

CC+ 10case 44char 26, 55Chip

FTDI-Chip 116Compiler 23Com-Port 50

DDarlington-Kaskade 68DC-Motor 72Debugger 51default 44define 93Dekrement 56Der heiße Draht 38Dialekt 126digitalWrite() 137digitalWrite()-Aufruf 144Display

testen 92Dokumentation 83Durchgangsmessung 103

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Stichwortverzeichnis

162

EEEPROM

Nachteile 140Vorteile 140

EEPROM-Speicherbaustein 139Eingang 23

analoger 62lesen 30

else 33Emulation 117Endlosschleife 22, 130Ergebnis

ausgeben 43Ethernet-Anschluss 109

FFallunterscheidung 38Fehler

syntaktischer 51Firmata 53Flag 132Fluss-Diagramm 33Flussdiagramm 131Fotowiderstand 60Frequenz

initialisieren 50Funktion 23, 28

GGleichstrom 72, 97Gültigkeitsbereich 30

HH-Brücke 74Hintergrundhelligkeit 91HTML 107Hypertext Markup Language 107

Iif 32If-Else-Abfrage 32Inkrement 56

Input 30Integer-Variable 25

KKabel 13Komma 26Kommandozeile 128Kommentar 22Konstante

durch Wert ersetzen 93

LLautsprecher 37LCD 90LED

blinken lassen 24Leonardo 116Lichtspiel 26

Library 130Library EEPROM.h 140Lichtspiel 26Linken 132long-Variable 43Loop 22

Mmain() 127Maschinencode 131Menge an Speicherzellen 145Mikrochip 9Mikrocontroller 10Morsen 35Motor 72Motortreiber 74Multimeter 96

NNetzwerkfunktion 109

OObjekt-Datei 132Ohm 14Output 30

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Stichwortverzeichnis

163

PParameter 23Passwort

Sicherheitstoken 121Pin 22

analoger 61digitaler 61

Port 133, 135einstellen 21

Potenziometer 73Poti 73println

Bedeutung 51Programm

uploaden 133Programmieren 10

AVR 133strukturiertes 28

Programmiersprache 10C 126C++ 126

Protokolle 141Pseudocode 32Pulse-Width-Modulation 64Pulsweitenmodulation 64PWM 64

QQuellcode 11Quelltext 11

RReset des Arduino 142Resetten 116

SSchleife

Endlosschleife 22Loop 22while 46

Schnittstelleauf Frequenz initialisieren 50serielle 55

Sensor 59

Serielle Schnittstelle 55Servo 76Setup 22Shell 128Shield 109Sicherheitstoken 121Sketch 22Software

installieren 20Spannung 97

messen 97Spannungsabfall 97Spiel

Der heiße Draht 38String 51Strom

verstärken 68Stromstärke

messen 98Strukturiertes Programmieren 28switch 38, 44Syntaktischer Fehler 51Syntax 126

TTag 108Tastatur-Emulation 117Terminal 50, 128Text

ausgeben 51senden 50

Timer 79Toleranzwert

Multimeter 100Ton

ausgeben 37Transistor 67

Verpolung 68Treiber

installieren 20

UÜbersetzer 23Upload 133

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580

Stichwortverzeichnis

164

VVariable 25

char 55initialisieren 25Integer-Variable 25long 43organisieren 26Typen 25

Ventilator 72Verpolung

Transistor 68Volt 97

Wwhile 46Widerstand 13

lichtabhängiger 60messen 102Wert bestimmen 14

Widerstandsmessung 100

ZZeichen

lesen und ausgeben 54Zeilenumbruch 55Zeit

messen 42

© des Titels »Arduino für Kids« (ISBN 9783958455801) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/580