Inhaltsverzeichnis
- 1 Was bedeutet „Arduino" oder "Arduino kompatibel“
- 2 In welcher Sprache programmiert man Arduino Boards
- 3 Arduino Boards unter Bascom programmieren
- 4 Das gleiche Programm als übliches C Sketch würde in etwa so aussehen
- 5 Portbelegung von Arduino Uno kompatiblen Boards
- 6 Autoren
- 7 Hinweis
- 8 Weblinks
- 9 Siehe auch
Was bedeutet „Arduino" oder "Arduino kompatibel“
Die Arduino-Plattform ist eine aus Soft- und Hardware bestehende Plattform. Beide Komponenten sind im Sinne von Open Source quelloffen. Die Hardware besteht aus einem I/O-Board mit einem Mikrocontroller (meisst der Serie Atmel AVR) und analogen und digitalen Ein- und Ausgängen. Die Entwicklungsumgebung IDE unterstützt die Programmiersprache C und und ist frei verfügbar. Sie soll insbesondere Bastlern und anderen Interessierten den Einstieg zur Programmierung und zu Mikrocontrollern erleichtern und stellt eine Alternative zu anderen, oft komplexeren Entwicklungsumgebungen wie Atmel Studio oder Bascom dar.
Ein Arduino oder Arduino kompatibles Board kann verwendet werden, um eigenständige interaktive Objekte zu steuern oder um mit Softwareanwendungen auf Computern zu interagieren (z. B. Adobe Flash, Processing, diversen Skriptsprachen). Arduino wird intensiv an Kunsthochschulen genutzt, um interaktive Installationen aufzubauen. Das Arduino-Projekt erhielt 2006 eine Anerkennung im Rahmen des Prix Ars Electronica in der Kategorie Digital Communities.
In welcher Sprache programmiert man Arduino Boards
Boards die Arduino kompatibel sind, können in den meisten Fällen auch mit Entwicklungsumgebungen/Programmiersprachen wie Atmel Studio oder Bascom Basic, WinAvr/GCC programmiert werden, für erste Versuche dürfte aber die Arduino IDE der schnellste und einfachste Weg sein. Bei komplexeren Anwendungen scheiden sich die Geister, hier werden von erfahreneren Programmierern oft eine der anderen Entwicklungsumgebungen/Programmiersprachen vorgezogen.
Der Anwender hat also die freie Wahl und kann natürlich auch jederzeit von der ein oder anderen Umgebung umsteigen.
Ich persönlich würde als Entwicklungsumgebung Bascom empfehlen. Für mich ist es die produktivste Entwicklungsumgebung mit einer vorbildlichen Library. In der Regel können dort komplexe Programme mit weniger Programmenzeilen in deutlich kürzerer Zeit umgesetzt werden, lassen Sie sich nicht von den Vorurteilen gegenüber dem Begriff „Basic“ abschrecken, Bascom hat mit dem ursprünglichen Basic von früher nicht mehr viel gemeinsam, außer das es fast genauso leicht erlernbar ist. Natürlich muss man beim programmieren unter Bascom auch nicht auf den Komfort der Programmierung per USB (ohne Programmer per Bootloader) verzichten.
Arduino Boards unter Bascom programmieren
Viele erfahrenere Programmierer bevorzugen bei der Programmierung den Bascom Compiler. Eine Version bis zu 4k Programmcode ist ebenfalls kostenfrei, empfehlenswerter ist natürlich die Vollversion.
Wenn Sie per ISP programmieren, ist hier nichts weiter zu beachten da alle Arduino Boards auch eine ISP Buchse besitzen. Sie wählen einfach unter Programmer den entsprechenden ISP-Programmer den Sie verwenden möchten, in der Regel wird das in der Programmer Dokumentation noch mal beschrieben. Empfehlen kann ich hier besonders den USB-ISP-Bascom Programmer. Falls man einen Programmer mit 10 poligen Anschluss besitzt, benötigt man noch einen Adapter von 10 auf 6.
Man kann aber auch in Bascom ohne Programmer per USB programmieren
Sie können also den ganz normalen „Bootloader“ nutzen, der bereits im Arduino kompatiblen Board ohnehin schon vorhanden ist. Dazu ist es lediglich notwendig, einmalig einige Einstellungen vorzunehmen.
Zunächst benötigen Sie das Programm avrdude. Auf der Robotikhardware.de-DVD ist das bereits fertig entpackt und mit der zugehörigen USB-DLL libusb0.dll zusammengestellt, man braucht also nur den Ordner kopieren! Ansonsten kann man es auch über das Internet laden, man muss da aber darauf achten das man auch die zugehörige libusb0.dll DLL nicht vergisst.
1. Kopieren Sie den Ordner „avrdude“ mit allen Dateien auf ihre Festplatte unter C:\ 2. Danach wählen Sie in Bascom unter Optionen/Programmer die Einstellung:
Extern Programmer
Unter Programm wählen Sie den Pfad, also:
C:\avrdude\avrdude.exe
Und unter Parameter geben Sie folgende Zeile an:
-C c:\avrdude\avrdude.conf -p m328p -P com9 -c arduino -b 115200 -U flash:w:{FILE}:i
Wenn ihr Arduino nicht an COM9 hängt, müssen Sie gegebenenfalls einen anderen COM-Port innerhalb dieser Zeile angeben. Ersetzen Sie dann COM9 durch z.B. COM3, COM4 usw. Das war es, ab nun können Sie auch unter Bascom die Arduino kompatiblen Boards genauso einfach programmieren wie aus der Arduino IDE. Der große Vorteil von Bascom ist die leistungsstärkere IDE mit mehr Möglichkeiten und die der umfangreiche Befehlssatz von Bascom. Zudem ist Bascom deutlich leicht programmierbar und man erreicht Ziele in der Regel deutlich schneller und mit meist wesentlich weniger Programmzeilen. Trotzdem sind Bascom Programme in der Regel genauso schnell, teils sogar schneller als C Programme, da die Funktionen zum großen teil in Assembler implementiert sind. Sie haben so die Vorteile von beiden Welten. Günstige Hardware und guten Compiler! Ein Bild veranschaulicht noch mal die Einstellungen unter Bascom! Getestet mit Windows 7 64 Bit!
Ein Bascom Beispielprogramm für Arduino Uno kompatible Boards
'############################################################## 'Blink.bas ' 'Ein Testprogramm für Arduino Uno kompatible Boards ' 'Das Programm stellt den Port PB5 (Pin 13) auf Ausgang und 'schaltet ihn im Sekundentakt zwischen Low und High um 'Die Led auf dem Board blinkt also ' 'Bascom- und ArduinoTM kompatible Boards sowie Bascom-Compiler 'erhältlich bei www.robotikhardware.de 'Weitere Beispiele auf DVD von RobotikHardware oder in den Portalen 'www.Roboternetz.de und rn-wissen.de '###################################################################### $regfile = "m328pdef.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 16000000 'Resonatorfrequenz $baud = 9800 'Baudrate (Übertragungsgeschwindigkeit) Baud = 9800 Config PortB.5 = Output Do PortB.5=1 wait 1 PortB.5=0 wait 1 Loop
Das gleiche Programm als übliches C Sketch würde in etwa so aussehen
/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Portbelegung von Arduino Uno kompatiblen Boards
Autoren
--Frank 14:51, 22. Nov 2013 (CET)
Hinweis
Arduino™ ist ein eingetragenes Markenzeichen von Arduino LLC und den damit verbundenen Firmen http://www.arduino.cc/ - Englische Projektseite
Weblinks
- Projektseite mit einer ausführlichen Einführung / Lizenzbedingen usw.
- Die C Entwicklungsumgebung und Beispielprogramme
- Deutsches Roboternetz Arduino-Forum
- Avrdude - notwendig wenn unter Bascom per USB Bootloader programmiert wird
Siehe auch
- Bücher zum Thema Mikrocontroller Schwerpunkt Arduino
- Arduino Tutorial
- Mit welchem Controllerboard fang ich an
- Bascom
- RN-Control - Alternatives Einstiegsboard mit mehr Ports
- GCC