====== Programmieren von Arduino-Mikrocontrollern======
//Arduino-Mikrocontroller zeichnen sich durch ihre einfache Programmierbarkeit aus, da nur ein USB-Kabel und die mitgelieferte Software //Arduino-IDE// benötigt werden. Dies macht sie besonders zugänglich für Anfänger, die sich erstmals mit Elektronikkomponenten und Mikrocontrollern auseinandersetzen möchten. //
====== Prinzip ======
==== Computer - USB - Arduino ====
{{ :inf:msr:arduino-prinzip.png?400 |}}
Ein Computer (USB-Kabel) und ein Arduino reichen aus, um mit der Arduino-Programmierung zu starten.
==== Arduino IDE und API ====
{{ :inf:msr:arduino-prinzip1.png?250 |}}
Die Programmierumgebung (Arduino-IDE) ist eine frei verfügbare Software, die auf dem Computer für die Programmierung vorhanden werden muss. Hilfe bekommt man von der Arduino-Sprachreferenz (API), die online zur Verfügung steht.
Programmieren heißt immer auch, dass man sich in irgendeiner API einarbeiten muss. Die **Arduino-Referenz** ist ein wichtiger Bestandteil für alle, die lernen wollen, wie man Mikrocontroller programmiert.
==== Steckbrett und Elektronikkomponenten ====
{{ :inf:msr:a-mit-steckbrett.png?250 |}}
Für einfache Versuche und die Prototypenentwicklung eignet sich ein Steckbrett besonders gut. Der Arduino Nano kann direkt auf das Steckbrett gesteckt werden. Weitere Elektronikkomponenten wie LEDs, Schalter, Motoren, etc., können dann hinzugefügt und mit Steckbrettkabeln verbunden werden.
====== Details ======
===== Arduino IDE =====
**IDE** (englisch für **"Integrated Development Environment"**) steht für **integrierte Entwicklungsumgebung** und ermöglicht es, den Mikrocontroller zu programmieren.
* Die Arduino-IDE verwaltet die Projekte (Quellcode) in sogenannte'' *.ino''-Dateien.
* Die Arduino-IDE beinhaltet auch eine Reihe von Beispielprogrammen. Diese sind recht nützlich für den fortgeschrittenen Anwender.
* Die Befehlsreferenz kann auch über den Menüpunkt Hilfe aufgerufen werden (alternativ siehe Abschnitt API)
===== Konfiguration ====
Wir beschreiben die Konfiguration anhand eines Beispiels für den Arduino-Nano (clone).
Damit ein Mikrocontroller mit der Arduino-IDE programmiert werden kann, sind die folgenden Schritte zu überprüfen.
- Arduino **Werkzeuge → Board -> Ardino-Nano** auswählen!
- USB **Werkzeuge → Port** hier die richtige USB-Verbindung wählen.
- Bootloader **Werkzeuge → Bootloader** hier den alten Bootloader für die Mikrocontroller (//Arduino-Nano Clone//) wählen.
Wenn etwas nicht funktioniert, müssen zuerst die oben aufgeführten Punkte überprüft werden. Insbesondere kann der **USB-Port wechseln**, falls der Arduino zwischenzeitlich nicht mit dem Computer verbunden war oder ein anderer USB-Eingang am PC gewählt wurde.
===== Programmieren mit der Arduino IDE =====
Unabhängig von der Hardware erfordert die Arduino-Programmierung die folgenden Schritte.
- **Entwicklung** Entwicklung des Quellcodes (engl. source-code)
- **Kompilieren**: Überprüfen Sie, ob der Quellcode fehlerfrei übersetzt werden kann.
- **Hochladen**: Das Programm wird auf dem Mikrocontroller hochgeladen. Es funktioniert jetzt unabhängig vom Computer!
- **Testen**: Falls das Programm Fehler enthält und verändert werden muss, fängt man wieder mit Schritt 1 an.
Kompilieren (überprüfen) und hochladen sind zwei unterschiedliche Schritte.
Ein fehlerhaftes Programm kann nicht auf den Mikrocontroller aufgespielt werden. Deshalb sollte man sich angewöhnen, __immer erst den Quellcode__ zu __überprüfen__ und erst danach das Programm auf dem Mikrocontroller mit dem ''Hochladen-Button'' zu übertragen.
==== Minimales Arduino Programm ====
Listing 1 zeigt den Aufbau, dem alle Arduino-Programme folgen müssen. Es enthält zwei Funktionen (''setup'' und ''loop''). Das Programm macht absolut nichts, aber es lässt sich übersetzen (kompilieren) und auf den Mikrocontroller hochladen.
void setup() {
// Hier wird programmiert!
}
void loop() {
// Hier wird programmiert!
}
*'' setup()'' Programmiert wird zwischen den Klammern! Diese Code wird nur einmal beim starten ausgeführt.
* ''loop() '' Diese Schleife (engl. loop) wird viele tausend Male pro Sekunde vom Mikrocontroller aufgerufen. Hier muss der eigentliche Quellcode des Programms entwickelt werden. Wie man Arduino Programme schreibt, darum geht es in den folgenden Abschnitten.