Dienstag, 12. Mai 2015

Der erste Sketch

Heute wollen wir eine normale LED wie es sie in vielen technischen Geräten gibt zum leuchten bringen. So kann sie beispielsweise den Betriebszustand oder die Aktivität eines Geräts anzeigen.

Die Verkabelung

Da die LED ein elektronisches Bauteil ist, fließt Strom durch sie. Der Strom also die Elektronen fließen von einem Minuspol(Ground), wo es zu viele Elektronen gibt, zu einem Pluspol, wo es zu wenige Elektronen gibt. Bei einer Led ist die Richtung des Stromflusses vorgegeben, die Elektronen müssen von dem kurzen Bein her durch die eigentliche "Lampe" fließen, d.h. das kurze Bein muss an den Ground angeschlossen werden.
Der Arduino besitzt diverse Pins. 13 digitale Pins und 6 analoge Eingänge. Doch was ist eigentlich der Unterschied zwischen einem analogen und einem digitalen Signal?
Ein digitales Signal hat entweder Strom oder keinen Strom, wobei schon eine etwas geringere Spannung als die "Norm-Spannung" als an gewertet wird wohingegen bei einem analogen Signal das Signal eine gewisse Spannung hat und die Spannungen unterschieden wird. Daraus resultiert der Vorteil von digitalen gegenüber analogen Signalen den wenn ein kleiner Teil der Spannung "verloren" geht hat das keine Auswirkung auf ein digitales Signal aber Störungen auf ein analoges Signal.
Also 13 digital Pins bedeuten, dass man 13 Pins mit digitaler Informationsweitergabe hat. Diese Pins kann man als Eingang oder Ausgang schalten(dazu später mehr). Für eine Led muss ein Pin als Ausgang geschaltet werden, in unserem Beispiel ist das Pin 13.

Das Programm

Was sofort auffällt ist, dass ein Arduino Sketch in zwei Abschnitte geteilt ist void setup() und void loop(). Alles was in den geschweiten Klammern von void setup() steht wird nur am Anfang einmalig ausgeführt, beispielsweise Definitionen von Pins, dagegen wird der Inhalt der geschweiften Klammern von void loop() ständig wiederholt. Zusätzlich braucht man nach jedem Befehl ein Strichpunkt, auch Semikolon. Eine Led besitzt ja zwei Beine. Das kurze Bein wird an den Minuspol also den Ground angeschlossen, dieser muss im Porgramm nicht weiter beachtet werden. Das lange Bein wird an einen der 13 digital Pins angeschlossen, im Beispiel 13. Dieser muss als Ausgang definiert werden, da er Spannung "gibt" und nicht schaut ob Spannung anliegt (Eingang). Danach muss man einstellen ob an Pin 13 die Spannung HIGH also 3.3V oder LOW also 0V sein soll. Insgesamt sieht das dann so aus:
Jetzt muss man nur noch auf Datei > Speichern drücken einen geeigneten Namen vergeben und zum Hochladen auf den Arduino auf Datei > Hochladen klicken.  Das Ergebnis sollte dann in etwa so aussehen:
Nun leuchtet die Led bis man ein neues Programm auf den Arduino spielt oder den Arduino ausschaltet. Jetzt wollen wir, dass die LED blinkt. Doch was ist eine blinkende LED? Eine LED die blinkt geht letzten Endes die ganze Zeit in einem regelmäßigen Rhythmus an und aus. Da das eine sich wiederholende Aktion ist, kommt der Programmteil zum An- und Ausschalten in void loop(). Da das Ausführen des Anschalten der LED nur sehr kurz dauert würde man bei ständigem An- und Ausschalten der LED ohne Pause kein Blinken sehen. Also muss das Programm warten, was die Funktion delay(zeit in ms); übernimmt. Das ganze Programm zum Blinken sieht dann so aus:
Wie ihr seht muss man zum Steuern einer LED nur den Pin als Ausgang festlegen und die Spannung hoch oder niedrig setzen. Viel Spaß beim ausprobieren und bis zum nächsten Mal,
Michael

Keine Kommentare:

Kommentar veröffentlichen