Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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