In letzter Zeit habe ich angefangen mit Arduino zu spielen. Arduino bezeichnet eine Menge verschiedener Mikrocontroller. Das Anfängerboard ist der Arduino-Uno. Das ist ein einfaches Board mit dem man einige Pins ansteuern kann und den Mikrocontroller einfach über USB flashen kann. Das gibt es aber schon öfter. Das eigentlich tolle am Arduino ist die gute Untestützung für Anfänger und die nähe zu Open Source und Open Hardware. Dardurch werden viele Dinge erstaunlich einfach. An Leser die Windows nutzen: Ich schreibe zwar hier und da Linux-Terminaleingaben hin- Das ist aber nichts tiefes und Arduino kann man auch sehr gut mit Windows benutzen.
Besonders gefallen hat mir das anfangen: Auf meinem Debian musste ich einfach nur
sudo apt-get install arduino
eingeben und schon konnte ich den Arduino-Uno über USB ansprechen. Die Energieversorgung läuft praktischer Weise auch gleich über USB. Also einfach nur mit dem USB-Kabel anschließen und die Arduino-IDE starten. Schon kann man einfache Testprogramme nutzen. Die Programme werden in C++ geschrieben.
Als nächstes hab ich mir dann Fritzing installiert.
sudo apt-get install fritzing
Fritzing ist ein Programm mit dem man einfach Schaltpläne entwerfen kann. Es ist vor allem geeignet um sich über seine Arduino-Projekte auszutauschen. Auch hier wieder Open-Source (sogar GPL).
Da die Arduino-IDE nun sehr schlicht gehalten ist wünscht man sich bei größeren Projekten vielleicht eine umfangreichere IDE. Ich hab Eclipse genommen (weil ich das schon kenne und weil es freie Software ist). Für Eclipse(CDT) installiert man sich einfach dieses Plugin. Die weitere Installation ist auf der verlinkten Seite beschrieben. Das klappt eigentlich ganz gut.
Weil ich aber dazu noch einen USB-zu-MIDI Stecker genutzt habe hat der Zugriff auf den Seriellen Port nicht so toll geklappt. Ich habe aber nicht so richtig verstanden warum. Egal, man kann den seriellen Port auch einfach direkt vom Terminal aus sehen:
cu -l /dev/ttyUSB0 -s 31250
cu ist das Programm Call up. Damit kann man Serielle Ports also die Signale vom Arduino auslesen. /dev/ttyUSB0 ist das Gerät von dem die Ausgaben ausgelesen werden können. Wie es heißt kann man z.B. herausbekommen indem man schaut auf welches Gerät die Arduino-IDE nutzt. Hinter der Option -s kommt die Geschwindikeit. Die geht aus dem Programmcode selber hervor (hier 31250):
void setup() {
// Set baud rate:
Serial.begin(31250);
}
Nunja, man kann natürlich auch alles mit dem Terminal machen. Das Programm avrdude wird hier nützlich sein. Mir hat jemand erzählt er Programmiert grundsätzlich nur mit VIM. Kann man natürlich auch machen. :-)