Das Programmieren von Mikrocontrollern war früher nur etwas für Ingenieure und Informatiker. Die
Arduino-Plattform ermöglicht dank übersichtlicher Hardware und einfach zu verstehender Software auf
einmal jedem den Einstieg in die Mikrocontrollertechnik.
Der Name Arduino
Der Arduino kommt aus Italien und wurde nach dem italienischen König Arduino benannt, der bis ins
Jahr 1005 in Ivrea, dem Firmensitz des Arduino-Herstellers, herrschte. König Arduino gab dort heute
auch der Lieblingsbar der Arduino-Entwickler Massimo Banzi und David Cuartielles seinen Namen
r Ar
Nano-kompatible Platine
Die Arduino-Plattform bietet mittlerweile eine große Vielfalt an Platinen für unterschiedliche Anwen
ungszwecke. Dieser Adventskalender enthält eine zum Arduino-Nano-Standard kompatible Platine, die
direkt auf ein Steckbrett gesteckt werden kann, um weitere Elektronik anzuschließen. Jeden Tag wird im
ventskalender ein Hardwareexperiment mit zugehörigem Programm vorgestellt
Die meisten Experimente in diesem Adventskalender werden mit Snap4Arduino programmiert. Diese
Programmiersprache basiert auf Scratch, einer der am leichtesten erlernbaren Programmiersprachen
überhaupt. Später wird auch die klassische Arduino-IDE zum Programmieren vorgestellt. Die verwendeten Programme gibt es hier zum Download: www.
olgen Sie den Anweisungen.
.
1
ein un
Steckbret
Für den schnellen Aufbau elektronischer Schaltungen, ohne dass man löten muss,
nthält der Adventskalender ein
in ein Lochraster gesteckt werden
. Hier können elektronische B
Bei diesem Steckbrett sind alle äußeren Längsreihen über Kontakte (X und Y) miteinander verbunden. Diese Kontaktreihen werden oft als Plus- und Minuspol zur Stromversorgung der Schaltungen genutzt. In den anderen Kontaktreihen sind jeweils fünf
Kontakte (A bis E und F bis J) quer miteinander verbunden, wobei in der Mitte der
Platine eine Lücke ist. So können hier größere Bauelemente eingesteckt und nach
außen hin verdrahtet werden.
Die Verbindungen auf dem Steckbrett.
LEDs (zu Deutsch: Leuchtdioden) leuchten, wenn Strom in Durchfl ussrichtung durch
sie fl ießt. LEDs werden in Schaltungen mit einem pfeilförmigen Dreieckssymbol dar
gestellt, das die Flussrichtung vom Pluspol zum Minuspol oder zur Masseleitung angibt. Eine LED lässt
in der Durchfl ussrichtung nahezu beliebig viel Strom durch, sie hat nur einen sehr geringen Widerstand.
Um den Durchfl ussstrom zu begrenzen und damit ein Durchbrennen der LED zu verhindern, wird üblicherweise zwischen dem verwendeten Anschlusspin und der Anode der LED oder zwischen Kathode und
Massepin ein 220-Ohm-Vorwiderstand eingebaut. Dieser Vorwiderstand schützt auch den Ausgang des
Nano vor zu hohen Stromstärken. Die LEDs im Adventskalender haben den Vorwiderstand bereits einge
aut und können daher direkt an die Pins angeschlossen werden.
Schaltplan einer LED mit Vorwiderstand.
LED in welcher Richtung anschließen?
Die beiden Anschlussdrähte einer LED sind unterschiedlich lang. Der längere ist der Pluspol, die
Anode, der kürzere die Kathode. Einfach zu merken: Das Pluszeichen hat einen Strich mehr als das
Minuszeichen und macht damit den Draht optisch etwas länger. Außerdem sind die meisten LEDs auf
der Minusseite abgefl acht, vergleichbar mit einem Minuszeichen. Auch leicht zu merken: Kathode =
kurz = Kante
Widerstände werden zur Strombegrenzung an empfi ndlichen elektronischen Bauteilen sowie als Vorwiderstände für LEDs verwendet. Die Maßeinheit für Widerstände ist Ohm. 1.000Ohm entsprechen einem
Kiloohm, abgekürzt kOhm. 1.000kOhm entsprechen einem Megaohm, abgekürzt MOhm. Oft wird für die
Einheit Ohm auch das Omega-Zeichen
verwendet.
Farbe
iderstandswert in Ohm
. Rin
Zehner
. Ring
Einer
il
Gold10
Schwarz
Braun
Rot2
Orange
10
10 = 1
10 = 1
10 = 1.
10 = 10.
r
Blau
Violet
Grau
10 = 1.
10 = 10.
10 = 100.
Wei
Vorsichtsmaßnahmen
Auf keinen Fall sollte man irgendwelche Arduino-Pins miteinander verbinden und abwarten, was pas-
rt.
icht alle Arduino-Pins lassen sich frei programmieren. Einige sind für die Stromversorgung und
andere Zwecke fest eingerichtet.
inige Arduino-Pins sind direkt mit Anschlüssen des Mikrocontrollers verbunden, ein Kurzschluss
ann den Arduino komplett zerstören – zumindest theoretisch. Die Arduino-Platinen sind erstaunlich
esistent gegen Schaltungsfehler. Verbindet man über eine LED zwei Pins miteinander, muss immer ein
Vorwiderstand dazwischengeschaltet werden.
ür Logiksignale benötigen einige Arduino-kompatible Platinen 3,3V, andere 5V. Der Nano in diesem
Adventskalender verwendet ein +5-V-Signal als logisch
. Ring
Multiplikator
= 0,01±10
= 0,
=
= 100.
= 1.
. Rin
Toleranz
±5
±1
±2
±0,5%
±0,25%
±0,1
±
ie farbigen Ringe auf den Widerständen geben
en Widerstandswert an. Mit etwas Übung sind sie
eutlich leichter zu erkennen als winzig kleine Zah
en, die man nur noch auf ganz alten Widerständen
n
ie meisten Widerstände haben vier solcher Far
inge. Die ersten beiden Farbringe stehen für die
iffern, der dritte bezeichnet einen Multiplikator
nd der vierte die Toleranz. Dieser Toleranzring ist
eistens gold- oder silberfarben – Farben, die auf
en ersten Ringen nicht vorkommen. Dadurch ist
ie Leserichtung immer eindeutig. Der Toleranzwert
elbst spielt in der Digitalelektronik kaum eine Rolle.
ie Tabelle zeigt die Bedeutung der farbigen Ringe
auf Widerständen
n welcher Richtung ein Widerstand eingebaut wird,
st egal. Bei LEDs dagegen spielt die Einbaurichtun
h nich
extra ein solches Kabel zu besorgen, fast alle modernen Smartphones verwenden diesen
Steckertyp. Das Kabel wird gleichzeitig zur Stromversorgung wie auch zur Datenübertragun
verwen
.
Schließen Sie das Kabel nach Möglichkeit an einen USB-2.0-Anschluss Ihres PCs an, da
es an USB-3.0-Anschlüssen eher zu Verbindungsproblemen kommen kann.
Softwareinstallation in Kürz
Hier die Treiberinstallation in vier Schritten
1. Laden Sie sich die Beispielprogramme und den Gerätetreiber bei
unter. Geben Sie dort den Code 15003-5 ein und folgen Sie den Anweisungen auf dem
Bi
irm.
2. Entpacken Sie das ZIP-Archiv in einen beliebigen Ordner unterhalb Ihres Windows
Benutzerordners.
ww.buch.cd her
. Tag
Installation des Gerätetreibers.
. Schli
H341SER.EXE die Treiberinstallation. Zur Installation müssen Sie eine Anfra
n Nano
B-K
nn mit der D
e der Win-
i
ows-Benutzerkontensteuerung bestätigen
4. Klicken Sie im Installationsdialog auf Install und warten Sie, bis die Bestätigung
Das Einstellungen-Menü in Snap4Arduino
erscheint, dass der Treiber installiert wurde.
LED
Für die meisten Projekte im Adventskalender verwenden wir die einfach zu erlernende
Programmiersprache Snap4Arduino. Sie ist in den Downloads zum Adventskalender
nthalten.
Klicken Sie in Snap4Arduino auf das Einstellungen-Symbol und wählen Sie im Menü
anguage.
Bevor Sie mit dem Programmieren beginnen können, muss eine Verbindung zwischen
PC und Nano hergestellt werden. Dazu ist auf dem im Adventskalender mitgelieferten
Nano die Software StandardFirmata vorinstalliert
Schalten Sie in Snap4Arduino oben links auf die Blockpalette Arduino und klicken Sie
auf Mit Arduino verbinden. Solange hier nur eine COM-Schnittstelle auftaucht, wählen
Sie diese aus. Werden zwei Schnittstellen angezeigt, ist in den meisten Fällen die untere
die richtige.
Bestätigen Sie die Meldung mit
Fehler beim Öffnen eines neuen Programms
Beim Öffnen eines neuen Programms in Snap4Arduino geht oft die Verbindung zum Arduino verloren.
Sollte ein Fehler auftreten, wenn Sie ein neues Programm starten, verbinden Sie den Nano mit einem
Klick erneut
In Snap4Arduino braucht man beim Programmieren keinen Programmcode einzutippen. Die Blöcke werden einfach nur per Drag-and-drop
aneinandergehängt. Die Blockpalette im linken Teil des Fensters enthält, nach Themen geordnet, die verfügbaren Blöcke.
ie Programme zum Adventskalende
Die Programme zum Adventskalender können Sie sich bei www.buch.cd herunterladen oder einfach jeden Tag anhand der Abbildung selbst
zusammenbauen. Entpacken Sie die ZIP-Datei aus dem Download in ein Verzeichnis auf der Festplatte. Klicken Sie dann oben links in
Snap4Arduino auf das Dateisymbol und wählen Sie
tieren. Einmal importierte Programme stehen danach in der eigenen Bibliothek, die über den Menüpunkt Öffnen erreichbar ist, zur Verfügung.
mportieren, um die Programme, die im XML-Format vorliegen, in Snap4Arduino zu impor
Das erste Programm
Wenn grünes Fähnchen
fortlaufend von der Pal
Setze digitalen Pin... auf... von der Pal
Block für Logikwerte ist auf der Palette Operatoren zu fi nden. Die beiden Wertewahrund
e
an Pin 13
1led
verwendet die wichtigsten Blöcke
von der Pal
teuerung bildet den Start für die meisten Programme
teuerungst eine Endlosschleife, die permanent wiederholt wird.
Arduino setzt einen der digitalen Pins des Nano auf einen Logikwert wahr
l
können direkt im Block umgeschaltet werden.
Für Statusanzeigen ohne Zusatzhardware hat der Nano eine eigene LED, die über Pin13 steuerbar ist.
arte... Sek von der Palette
teuerung
ässt das Programm bis zum nächsten Schritt eine bestimmte Zeit lang warten
So funktioniert das Program
as Programm startet, wenn der Benutzer oben rechts auf das grüne Fähnchen klickt
inertlaufend-Schleife sorgt dafür, dass die LED endlos blinkt, und zwar so lange, bis der
enutzer auf das rote Stoppsymbol oben rechts in Snap4Arduino klickt.
achdem die LED an Pin13 eingeschaltet ist, wird 0,01 Sekunden gewartet, solange leuchtet
die LED. Danach wird die LED an Pin13 wieder ausgeschaltet. Jetzt wartet das Programm
as Programm 0
linken.
ine halbe Sekunde. D
elativ lange Zeit ausgeschaltet. Anschließend wiederholt sich der Zyklus
l
LED
m Nano kurz
Hinweis: Dezimalpunkt
Snap4Arduino verwendet, wie viele amerikanische Programme, den Punkt als Dezima
rennzeichen, nicht das in Deutschland übliche Komma
linkt die LED immer nur kurz auf und ist danach für ein
chten Sie beim Aufbau der Schaltung darauf, dass die Kathode (kurzer Draht) der
LED mit dem GND-Pin verbunden ist, die Anode (langer Draht) mit dem D2-Pin.
Die Pins auf dem Nan
lle Pins mit D… sind digitale Ein- oder Ausgänge, die die Werte wahr
(ein oder aus) annehmen können. Die Pins mit A… sind analoge Eingänge. GNDPins sind Masseleitungen. Arduino-kompatible Platinen arbeiten mit unterschied
lichen Spannungen und haben dazu standardmäßig zwei verschiedene Pluspins.
n Pin 3.3 liegen +3,3V Spannung an. An Pin 5V liegen +5V Spannung an. Der
Nano im Adventskalender benötigt für ein logisches Wahr
anderen Platinen nur +3,3V.
lässt zwei LEDs abwechselnd blinken
r fal
Signal +5V, manche
Das Program
Das Programm
ne LED abwechselnd blinken.
2led
lässt die eingebaute LED auf dem Nano und die extern angeschlos
2. Tag
LED-Wechselblinklicht am Nano.
So funktioniert das Program
Einefortlaufend-Schleife sorgt dafür, dass die beiden LEDs abwechselnd endlos blinken,
und zwar so lange, bis der Benutzer auf das rote Stoppsymbol oben rechts in Snap4Arduino
klick
Nachdem die eingebaute LED an Pin13 eingeschaltet ist, wird 0,01 Sekunden gewartet,
damit StandardFirmata keinen Befehl „verschluckt“. Zwischen dem Setzen zweier Pins sollte
ei den meisten Arduino-kompatiblen Platinen immer eine minimale Wartezeit eingebaut
werden. Bei dem Nano im Adventskalender ist das nicht unbedingt nötig. Danach wird die
LED an Pin2 ausgeschaltet. Jetzt wartet das Programm eine halbe Sekunde.
nschließend wird auf die gleiche Weise die LED an Pin2 ein- und die an Pin13 ausgeschal
tet. Nach einer weiteren halben Sekunde beginnt der Zyklus von vorne.
eute ist Schaltdraht im Adventskalender enthalten. Damit stellen Sie kurze Ver
indungsbrücken her, mit denen Kontaktreihen auf der Steckplatine verbunden
werden. Schneiden Sie den Draht mit einem kleinen Seitenschneider je nach
xperiment auf die passenden Längen zu. Um die Drähte besser in die Steckplatine
tecken zu können, empfi ehlt es sich, sie leicht schräg abzuschneiden, sodass eine
rt Keil entsteht. Entfernen Sie an beiden Enden auf einer Länge von etwa einem
alben Zentimeter die Isolierung.
EDs blinken mit einste
as Experiment des 3. Tags lässt wieder zwei LEDs abwechselnd blinken. Allerdings
önnen Sie die Geschwindigkeit einstellen
B
ie Schaltung von heute zeigt den typischen Schaltungsaufbau auf dem Steckbrett.
ine der horizontalen Kontaktleisten wird als Masseleitung verwendet, die mit dem
ND-Pin auf dem Nano
bau der Schaltung darauf, dass die Kathode (kurzer Draht) der LED in der Masseleiste steckt,
die Anode (langer Draht) ist in dieser Schaltung mit Pin10 verbunden.
arer Geschwindigkei
:
Steckbrett, 1 LED rot mit Vorwiderstand, 1 Drahtbrück
Drahtbrücke verbunden ist. Achten Sie beim Auf
Das Programm
instellbarer Geschwindigkeit blinken
3led
l
zwei LEDs abwechselnd mit
Das Program
Das Programm
baute LED auf dem Nano und die diesmal an Pin10 angeschlossene externe LED abwechselnd blinken. Die Blinkfrequenz können Sie über einen Schieberegler auf dem Bildschirm
rn
3led
funktioniert ähnlich wie das von gestern und lässt wieder die einge-
So funktioniert das Program
e FortlaufendSchleife lässt auch hier die beiden LEDs abwechselnd endlos blinken.
nstelle einer vom Programm fest vorgegebenen Zeit zwischen dem Umschalten wird eine
ri
ariablen in Snap4Arduino
ariablen sind kleine Speicherplätze, in denen man sich während eines Programms eine
Zahl oder irgendetwas anderes merken kann. Wenn das Programm beendet wird, werden
iese Variablenspeicher automatisch wieder geleert. Variablen müssen in Snap4Arduino
uf der Befehlspalette Variablen mit dem B
erden, bevor man sie benutzen kann. Anschließend können Sie das Symbol der neu
ngelegten Variablen aus der Blockpalette in ein dafür vorgesehenes Feld eines Blocks im
rogramm ziehen. Auf der Blockpalette stehen zusätzlich verschiedene Blöcke zum Ausle
en und Verändern der Variablen zur Verfügung.
Wurde eine Variable angelegt, erscheint sie als orangefarbenes Symbol auf der Bühne. Hier wird jederzeit
der aktuelle Wert der Variablen angezeigt. Klicken Sie mit der rechten Maustaste auf dieses Symbol und
wählen Sie die Option Regle
Über die Optionen
kann mit den Schiebereglern nur ganze Zahlen einstellen, obwohl Variablen selbst jeden beliebigen Wert
nnehmen können
Im Programm wird der eingestellte Wert der Variablen
Sekunden zu erhalten. Auf der Blockpalette
eratoren gibt es Blöcke für die Grundrechenarten.
durch 10 geteilt, um Werte zwischen 0,1 und 1,0
4. Ta
g
d
.
m
led
-
.
tstehe
ufallszahle
m
e
.
-
.
-
fl
.
Heute im Adventskalender
• 1 LED grün mit eingebautem Vorwiderstan
LEDs blinken zufällig
Das Experiment des 4. Tags lässt drei LEDs in zufälliger Reihenfolge blinken. Die
beiden externen LEDs stecken sehr dicht nebeneinander auf dem Steckbrett, da das
Programm aufeinanderfolgende Pinnummern benötigt. Die dritte LED ist die auf der
Nano-Platine aufgelötete LED mit der Pinnummer 13
Bauteile: 1 Steckbrett, 1 LED rot mit Vorwiderstand, 1 LED grün mit Vorwiderstand,
1 Drahtbrücke
as Program
as Programm 04
in einer Endlosschleife nacheinander verschiedene digitale Pins ein- und ausge
schaltet. Die Pins werden diesmal zufällig ausgewählt
Wie en
Gemeinhin denkt man, in einem Programm könne nichts zufällig geschehen
– wie also kann ein Programm dann in der Lage sein, zufällige Zahlen zu
generieren? Teilt man eine große Primzahl durch irgendeinen Wert, ergeben
sich ab der x-ten Nachkommastelle Zahlen, die kaum noch vorhersehbar
sind. Sie ändern sich auch ohne jede Regelmäßigkeit, wenn man den Divisor
regelmäßig erhöht. Dieses Ergebnis ist zwar scheinbar zufällig, lässt sich aber
durch ein identisches Programm oder den mehrfachen Aufruf des gleichen
Programms jederzeit reproduzieren. Nimmt man aber eine aus einigen dieser
Ziffern zusammengebaute Zahl und teilt sie wiederum durch eine Zahl, die
sich aus der aktuellen Uhrzeitsekunde oder dem Inhalt einer beliebigen Speicherstelle des Computers ergibt, kommt ein Ergebnis heraus, das sich nicht
reproduzieren lässt und daher als Zufallszahl bezeichnet wird.
n Z
04
unktioniert ähnlich wie das von gestern. Auch hier werden
n?
4. Tag
Drei LEDs blinken zufällig.
So funktioniert das Program
m Anfang jedes Durchlaufs der Endlosschleife wird die Variable n auf ein
Zufallszahl zwischen 11 und 13 gesetzt. Diese gibt die Pinnummer der einzuschaltenden LED an. Deshalb benötigt die Schaltung drei aufeinanderfolgende
nnummern
Die Geschwindigkeit des Farbwechsels wird mithilfe einer Variablen
gesteuert, die über einen Schiebe
regler eingestellt wird und dann für jeden Schaltvorgang gilt
Die zufällig gewählte LED wird für die eingestellte Zeit eingeschaltet und danach genauso lange ausge
schaltet. Im nächsten Schleifendurchlauf wird wieder eine neue LED zufällig gewählt. Dabei kann es
durchaus passieren, dass mehrmals hintereinander dieselbe LED au
as Experiment des 5. Tags schaltet eine Ampel aus drei LEDs in ihrem typischen
yklus von Rot über Rot/Gelb nach Grün und über Gelb zurück nach Rot.
Bauteile:
tand, 1 LED grün mit Vorwiderstand, 1 Drahtbrücke
Steckbrett, 1 LED rot mit Vorwiderstand, 1 LED gelb mit Vorwider-
as Programm
as Programm 05ampe
ier werden in einer Endl
on LEDs ein- und ausgeschaltet. In den Zwischenphasen Rot/Gelb und Gelb leuch
et die Ampel jeweils 0,5 Sekunden, in den Phasen Rot und Grün je 3 Sekunden.
i
n l
So funktioniert das Program
Jeder Durchlauf der Endlosschleife startet mit der Rotphase der Ampel, bei der die
gelbe und die grüne LED ausgeschaltet sind. Nach 3 Sekunden wird die gelbe LED
usätzlich eingeschaltet. Nach einer kurzen Rot/Gelb-Phase von 0,5 Sekunden werden die rote und die gelbe LED aus- und die grüne eingeschaltet. Die Grünphase
dauert 3 Sekunden, darauf folgt eine kurze Gelbphase von 0,5 Sekunden, und die
ndl
funktioniert ähnlich wie das Programm des 3. Tags. Auch
Digitale Pins können nicht nur Daten ausgeben, zum Beispiel über LEDs, sondern
auch zur Dateneingabe eingesetzt werden. Zur Eingabe verwenden wir im heutigen
Projekt einen Taster, der direkt auf die Steckplatine gesteckt wird. Der Taster hat vier
nschlusspins, wobei je zwei gegenüberliegende (großer Abstand) miteinander ver
bunden sind. Solange die Taste gedrückt ist, sind alle vier Anschlüsse miteinander
verbunden. Im Gegensatz zu einem Schalter rastet ein Taster nicht ein. Die Verbin
dung wird beim Loslassen sofort wieder getrennt.
Liegt auf einem digitalen Eingang ein +5-V-Signal an,
wird es als logisch wahr ausgewertet
Bei offenem Taster hätte der Eingang keinen eindeutig
defi nierten Zustand. Wenn ein Programm diesen Pin
abfragt, kann es zu zufälligen Ergebnissen kommen.
Um das zu verhindern, schließt man einen ver
gleichsweise sehr hohen Widerstand – üblicherweise
10kOhm – gegen Masse. Dieser sogenannte Pu
own-Widerstand zieht den Status des Eingangspins
bei geöffnetem Taster wieder nach unten auf 0V. Da
er Widerstand sehr hoch ist, besteht, solange der
Taster gedrückt ist, auch keine Kurzschlussgefahr. Ist
der Taster gedrückt, sind +5V und die Masseleitung
ir
: 1 Steckbrett, 1 LED rot mit Vorwiderstand, 1 LED grün mit Vorwiderstand,
Schaltschema eines Tasters mit Pull-down-Widerstan
n Wider
Ein T
6. Tag
zwei LEDs um
as Program
as Programm 06
LED an Pin8 ein und die rote an Pin12 aus. Solange der Taster nicht
gedrückt ist, leuchtet nur die rote LED
schaltet, wenn der Taster gedrückt ist, die grüne
So funktioniert das Program
Ein
alls…sonst…-Block von der Blockpalette
innerhalb der oberen Klammer dann aus, wenn die Abfrage den Wert
ergibt. Andernfalls werden die Blöcke innerhalb der unteren Klam
wa
mer ausgeführt.
Die Abfra
e liest über einen Block von der Blockpalette
Wert des digitalen Pins3 aus und prüft, ob er wahr ist. Digitale Eingänge
können nur die Wertewahr undfalsch annehmen
Ist der Wert wahr, ist der Taster gedrückt. In diesem Fall wird die LED an
Pin8 ein- und die an Pin12 ausgeschaltet. Ist der Taster nicht gedrückt,
hat Pin3 den Wert falsch, und die LEDs werden genau umgekehrt
geschaltet