Arduino Teil 1 Grundlange

Arduino ist eine Entwicklungs-Plattform bestehend aus einem Programmierbaren Mikrocontroller und den elektronischen Komponenten um diesen zu programmieren und in Projekten einzubinden.

Was heißt das jetzt verständlich ausgedrückt?

Ganz einfach, der Arduino ist ein Chip, der sich der leicht programmieren lässt. Dadurch können mehrere elektronische Signale (Pins) ausgelesen und gesteuert werden. Der Arduino kann also z.B. an einen seiner Pins darauf warten, das ein Schalter betätigt wird, um dann auf beliebig vielen seiner weiteren Pins LEDs ein zu schalten.

Ein Arduino, oder der Arduino?

 Der Name Arduino stammt von der Firma, die diese Platine entwickelt hat, es gibt mittlerweile viele verschiedene Varianten des Arduinos (Mega, Uno, Mini, Nano, Micro, …) die sich sowohl in Größe als auch in Leistung unterscheiden. Hier mal eine kleine Auswahl an Modellen:

Je nachdem was man mit dem Arduino anstellen will eignen sich einige Modelle besser als andere. Die einzelnen Unterschiede zu beschreiben würde hier zu weit gehen, lassen sich aber auf der offiziellen Arduino Seite sehr übersichtlich ausfindig machen.

Was hat das nun mit LightPainting zu tun?

Die Frage ist leicht zu beantworten: es ist ein super Werkzeug selbst die ausgefallensten Tools zu realisieren. Wohl eines der bekanntesten Anwendungen ist der Pixelstick. Es lässt sich allerdings noch für sehr viele andere Dinge einsetzen.

Der Arduino Uno, eines der verbreitetsten Modelle, hat z.B. 14 digitale Ein- oder Ausgänge und 6 analoge Eingänge.

Digitale Ein-/Ausgänge bedeutet, das hier ein Signal als an oder aus gelesen oder geschaltet werden kann. Also ist Schalter an, dann auf anderen LED einschalten.

Analoge Eingänge bedeutet, das an diesen Pins eine Spannung gelesen werden kann, also nicht nur ein oder aus sondern auch wie stark ein.

6 der digitalen Pins des Unos sind dazu auch noch PWM (Pulse Width Modulation) fähig. Dabei wird der Pin in einer sehr schnellen folge ein und aus geschaltet (weit schneller als das menschliche Auge es mitkriegt). Dies wird häufig dazu benutzt eine LED zu dimmen.

Für LightPainting Tools benutze ich sehr gerne den Arduino Nano. Er ist etwas kleiner als eine Feuerzeug (zweite von links unten im Bild), hat 14 digitale und 8 analoge Pins. Das ist mehr als ausreichend für die meisten Projekte und Tools, dabei ist er aber so klein, das man ihn sehr einfach im Griff eines Tools verstecken kann (Hier ist z.B. eine Anleitung für ein Tool damit aber Vorsicht, die das Tool ist schon etwas umfangreicher als diese Einleitung!).

Aber das ist doch sicher furchtbar kompliziert und nur was für Technik-Freaks?

Aber nein! Das ist ja das schöne. Der Arduino ist sehr einfach zu programmieren und zu benutzen. Für die meisten Anwendungen im Bereich LightPainting sind die Grundlagen in ein paar Tagen gelernt.

Beispielswiese die Programmierung:

Diese besteht normalerweise aus zwei Blöcken

Code:

void setup() {
 // put your setup code here, to run once:
}

void loop() {
 // put your main code here, to run repeatedly:
}

Der Setup Bereich beinhaltet alles, was der Arduino beim Einschalten machen soll. Also z.B. wird hier festgelegt wie die Pins zu benutzen sind (Ein- oder Ausgang). oder das auf bestimmten Pins erst mal kein Signal liegt (eine LED vom Tool soll beim Einschalten erst mal aus sein).

Im Loop Bereich steht das, was im Betrieb immer wieder passieren soll. Hierbei ist zu beachten, das der Loop Bereich immer und immer wieder durchlaufen wird. Sobald hier der Verlauf am Ende angekommen ist fängt es wieder mit der Ersten Zeile dieses Blockes an.

Das wohl einfachste Beispiel ist es eine LED blinken zu lassen.

Dazu legt man im Setup Bereich fest an welchem Pin die PED angeschlossen ist, und im Loop Bereich schaltet man diese dann abwechselnd an und aus:

void setup() {                
 pinMode(6, OUTPUT);     
}

void loop() {
 digitalWrite(6, HIGH);
 delay(1000); 
 digitalWrite(6, LOW);
 delay(1000); 
}

Hier wird also im Setup Bereich mit dem Befehl “pinMode” dem Arduino gesagt, das der Pin 6 ein “OUTPUT” also Ausgang ist. Dies ist wichtig, weil sonst ggf. die Spannung an diesem pin undefiniert ist, die LED also anfangs flackern könnte. Außerdem regelt es noch intern im Mikrocontroller ein paar Dinge, auf die ich hier aber nicht eingehen muss.

Im Loop Bereich werden zwei Befehle benutzt, der “digitalWrite” Befehl dient dazu einen Pin ein oder aus zu schalten, der “delay” Befehl lässt den Programmablauf eine bestimmte Zeit in Millisekunden warten. Es wird also der Pin 6 auf “HIGH” also ein geschaltet, dann 1000 Millisekunden (= eine Sekunde) gewartet, der Pin 6 auf “LOW” also aus geschaltet und dann wieder 1000 Millisekunden gewartet. Das letzte Warten ist wichtig, weil nach dieser Zeile der Loop Block wieder von vorne beginnt, also der Pin 6 direkt wieder ein geschaltet wird.

Wie ihr seht ist die Programmierung recht einfach, sobald man erst mal die richtigen Befehle kennt.

Beachtet dabei das ein Arduino mit (meistens) 5V arbeitet. Eine normale 5mm LED verträgt meistens nur um die 3V, daher muss hier die Spannung mit einem Vorwiderstand (ca 100 Ohm) geregelt werden.

Auch sollte man beachten das die Pins eines Arduinos zum Steuern gedacht sind. Der Strom, den eine 5mm LED benötigt kann von so einem Pin geliefert werden (sollte man aber auch nicht machen), für eine Hochleistungs 1W LED ist der pin aber bei weitem nicht ausgelegt, und es würde den Arduino beschädigen! Dafür werden Transistoren oder Mosfets benutzt, dazu aber zu einem anderen Zeitpunkt mehr.

Ich hoffe euch hat diese kleine Einleitung in Arduinos gefallen, demnächst wird das Thema hier weiter vertieft.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.