Elektronik-Dachbude |
Jeder der sich, auch wenn vielleicht
nur oberflächlich, mit
der Mikrokontroller -Programmierung befasst, wird einem Schlagwort
nicht mehr ausweichen
können: Arduino. Die
Frage ob der Hype
um dieses System wirklich berechtigt ist steht natürlich im Raum. Für
ausgefuchste Programmierer ist dies vielleicht nicht mehr als ein
lustiges
Spielzeug. Für den Ottonormal-Menschen aber eine Möglichkeit auch große
Projekte auf schnellem Wege zu realisieren. Man kann sicher Tage damit
verbringen die vielen ausgefallenen und spannenden Projekte im Internet
zu
erforschen und kommt auch nicht drum herum sich selbst so seine
Gedanken zu
machen. Deshalb soll es an dieser Stelle mal einen kleinen Einstieg für
diejenigen unter Ihnen geben, die sich noch nicht so intensiv mit der
Mikrocontroller Programmierung befasst haben.
Der Leonardo weist dabei noch eine
herausragende
Besonderheit auf. Im
Gegensatz zu den
gängigen Arduino-Boards hat unser Arduino nämlich keinen externen
FTDI-Chip,
der früher benötigt wurde um über den USB-Anschluss eine Serielle
Schnittstelle
zu simulieren. Dadurch spart man zum einen eine Menge Hardware, zum
anderen
wird die Palette von Möglichkeiten dadurch enorm erweitert. Es ist z.B.
ein
leichtes mit dem Board eine USB-Tastatur zu simulieren. Beispiele dazu
werden
sogar per Software mitgeliefert. Aber jetzt erst mal die Basics.
Für meinen ersten Test habe ich den
erwähnten Arduino
Leonardo benutzt. Es handelt sich um ein kleines, schickes Board mit
microUSB-Anschluss.
Bei dem Controller selbst handelt es
sich um einen
ATmega32u4. Wen’s interessiert: Flash 32 Kb, 44 Pins, 16 MHz, CPU:
8-bit AVR,
13 externe Interrupts, USB on board! Es
gibt 7 PWM-Kanäle, 12 ADCs und insgesamt 20 Input/Output Pins, also
genug
Anschlüsse für alle erdenklichen Projekte.
Bevor wir uns aber völlig in der
Ideenwelt verlieren schnell
noch die Anleitung zur Installation der benötigten Software am Beispiel
eines
Win7 PCs.
Die Software-Installation ist denkbar
unkompliziert. Die aktuelle
Version findet man unter: http://www.arduino.cc/en/Main/software.
Es handelt sich dabei um einen Zip-Ordner, den man an beliebiger Stelle
entpackt.
In dem entpackten Ordner findet man eine Exe. Ich empfehle direkt eine
Verknüpfung
auf dem Desktop zu erstellen. Am leichtesten geht das mit: Rechtsklick
– SendenAn
- Desktop (Verknüpfung erstellen). Das Programm zu starten würde jetzt
aber
noch nicht viel bringen, denn wir müssen erst die Treiber des Boards
installieren.
Als ich mein Board per USB mit dem PC
verbunden habe, hat
mein Rechner versucht den Treiber selber zu finden und zu Installieren.
Das ist
allerdings gescheitert. Also musste ich unter
Start-Systemsteuerung-System-Gerätemanager das Board suchen und dort
auf „Treiber
Aktualisieren“ klicken. Daraufhin konnte ich unter „auf dem Rechner
nach
Treibersoftware suchen“ eine Quelle angeben. Diese Quelle ist der Order
in dem ich
vorher das Arduino- Zip entpackt habe, genauer gesagt dessen Unterorder
Drivers.
Nach einer Warnung, dass der Treiber aus einer unbekannten Quelle
stammt (die ich
aber ignoriere), installiert sich der Treiber und das Board wird im
Geräte-Manger
unter Anschlüsse angezeigt.
Hinter dem
Board steht noch eine COM-Nummer. Diese sollte man sich merken.
Nachdem die Installation hoffentlich
reibungslos über die
Bühne gegangen ist, kann man nun das Programm starten.
Oben in der Leiste muss man unter
Tools zuerst einmal das
Board und den seriellen Port auswählen. Der serielle Port entspricht
der COM-Nummer,
die man sich gerade gemerkt hat, bei mir COM6.
Jetzt kommt der spannende Moment in
dem ich mein erstes
Programm uploade. Am
einfachsten ist
immer ein Blinker. Besonders einfach geht das, indem ich unter Datei –
Beispiele
- 01.Basics - Blink auswähle. Es öffnet sich ein neues Fenster mit
einem der zahlreichen
und hilfreichen Beispiele. In diesem Fall der gewünschte Blinker. Mit
dem Klick
auf den Haken wird das Programm überprüft. Fehler würden im unteren
Fenster rot
mit Fehlermeldung angezeigt. Wenn alles OK ist steht dort „Kompilierung
Abgeschlossen“. Mit
dem Pfeil nach
rechts, neben dem Haken kann man das Programm nun auf unseren
Controller
„Uploaden“. Unten wird ein Ladebalken und danach hoffentlich eine
Erfolgsmeldung angezeigt.
In meinem Fall gab es hier beim
ersten Versuch eine
Fehlermeldung. Ich musste den Arduino abziehen und das Programm neu
starten.
Ich glaube aber nicht, dass das der Regelfall ist.
Das Programm ist nun auf dem
Controller und man sieht auch
schon das Ergebnis. Die LED mit der Beschriftung „L“ auf dem Board
blinkt
nämlich. Das liegt daran, dass die im Programm angegebene LED13 (Erste
Zeile
#define LED 13) dieser LED entspricht. Alternativ kann man auch eine
LED
zwischen dem Port 13 und GND anschließen (Ja, es funktioniert ohne
Vorwiderstand, nur die Polung muss man beachten).
Das war mein erstes Programm. Ich
habe es zwar nicht selbst
geschrieben, aber ein Erfolg ist es trotzdem. Man kann nun an dem
Programm ein
wenig rumbasteln um die Arduino-Entwicklungsumgebung besser zu
verstehen.
Was den gerade den Leonardo als erste
Wahl Boards
auszeichnet, sind die herausragenden Möglichkeiten, die aus dem
Controller
eigenen USB ergeben. So ist es z.B. ohne Schwierigkeiten möglich das
Board als
HID zu benutzen (Human Interface Device, Sammelbegriff für Tastatur,
Maus
u.A.). Unter den Beispielen findet man unter 09.USB – Keyboard das Programm
KeyboardMessage. Mit diesem
Programm ist es recht leicht möglich Texte an den PC zu schicken, und
so z.B.
einen Editor zu füllen. Dazu kann man entweder einen Taster an den Pin
2
Anschließen, oder die Entsprechenden IF-Abfragen rausnehmen. Der zweite
weg ist
dabei der extreme Quick and Dirty Way, den bei mir war es danach nicht
mehr so
leicht möglich ein anderes Programm reinzuladen, da der Controller
Permanent
Texte in meine Programmierumgebung gehauen haut und deswegen ein
Kompilieren
unmöglich war. Die Lösung war dabei, die Reset Taste gedrückt zu
halten, den
Controller Anschließen und erst kurz vor dem Programmieren wieder
loszulasse.