
Arduino Leonardo
Von Fabian Kainka
Elektronik-Labor Projekte AVR
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 empfehledirekt 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 ichvorher das Arduino- Zip entpackt habe, genauer gesagtdessen 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 dasErgebnis. 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 denn gerade den Leonardo als erste Wahl auszeichnet,
sind die herausragenden Möglichkeiten, die sich 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, denn bei mir war es danach nicht
mehr so
leicht möglich ein anderes Programm reinzuladen, da der Controller
permanent
Texte in meine Programmierumgebung gehauen hat 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 loszulassen.
Elektronik-Labor Projekte AVR