Arduino
Was oder wer bitte schön ist Arduino? Arduino ist eine open-source Plattform zum Entwickeln von von komplexeren Schaltungen. Arduino ist ein vollständiger Kleinstrechner, aber nicht mit Bildschirm, Maus und Tastatur, sondern nur mit grundlegenden Ein- und Ausgängen, die man selbst programmieren kann. Arduino lässt sich zwar mittels des PCs über eine USB-Schittstelle programmieren, ist aber danach unabhängig und kann ein beliebige Hardware eingebaut werden.
Das Tolle an Arduino ist, dass die Bausteine weder teuer noch kompliziert sind, sodass ich schon in weniger als einer Stunde mein erstes eigenes Progamm geschrieben hatte, die elektonische Schaltung aufgesteckt, "entwickelt" hatte und alles in Betrieb nahm.
Arduino ist ein Schwesterprojekt von Processing, einer open-source Programmiersprache insb. für Künstler/innen und Programmieranfänger/innen, die schnell visuell ansprechende Programme schreiben wollen.
Arduino bietet eine eigene Entwickleroberfläche, also eine Texteditor, der die Syntax hervorhebt und mit nur 2 Knopfdrücken das Programm kompiliert und zur Hardware überträgt. Diese Umgebung ist für die Betriebsysteme Linux, Mac und sogar für Windows verfügbar. Unix-Nutzer sollten sich aber entweder zu Mitgliedern der Gruppe Dialout machen oder aber folgende Udev-Regel in /etc/udev/rules.de z.b. als 00-arduino.rules einfügen, da sie sonst keinen Zugriff auf die Hardware bekommen:
kernel=="ttyUSB*", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6001", SYMLINK="Arduino", MODE="666"
Was man mit Arduino machen kann? Alles oder auch nicht, das hängt von euer Fantasie ab. Ich hätte da schon ein paar Ideen, die ich umsetzen werde und Mitstreiter/innen sind mir sehr willkommen.
Tja und hier ist mein erstes Programm, wer schafft es wohl zu verstehen, was es macht? Kommentare habe ich bewusst entfernt!
int ledPin[] = {8, 9, 10, 11, 12};
int inputPin = 13;
int val = 0;
long t = 0;
long c = 0;
long s = 20000;
int a_min = 2;
int a_max = 15;
int a = a_min;
int i = 0;
void setup() {
// Initialisierung
for (i=0;i pinMode(ledPin[i], OUTPUT);
}
pinMode(inputPin, INPUT);
}
void loop() {
t = t + a;
val = digitalRead(inputPin);
c=c+1;
if ( c == s ) {
if ( val == HIGH ) {
a = a + 1;
} else {
a = a -1;
}
a = max (a,a_min);
a = min (a,a_max);
c = 0;
}
for (i=0;i if ( t > i*s && t < i*s+s ) {
digitalWrite(ledPin[i], HIGH);
} else {
digitalWrite(ledPin[i], LOW);
}
}
if ( t > 6*s ) {
t=0;
}
}
Wer sich mit Arduino weiter auseinander setzen möchte, der findet mehr unter:
- http://www.arduino.cc/
- http://www.heise.de/ct/Arduino-Mikrocontroller-fuer-Einsteiger--/projekte/141694




Nach den doch recht schleppenden Beginn geht es nun doch vorwärts. Auf der Seite http://reactivision.sourceforge.net/ fand sich die benötigte Software und ich wagte...