Hinweis für die mündliche Prüfung
Erklärungen direkt anhand der Arduino IDE
Was sind die grundsätzlichen Aufgabenbereiche dieser Anwendung?
Die Arduino IDE (Integrated Development Enviroment) ist eine vollständige Entwicklungsumgebung zum Erstellen von Programmen für Mikrocontroller.
- Erstellen und Verwalten von Dateien und Ordnern eines Projekts
- Code-Editor zum Schreiben von Source-Code in der Programmiersprache C
- Compiler zum Übersetzen des Source-Codes in Programmcode für Mikrocontroller
- Schnittstelle zum Übertragen von Programmcode auf einen Mikrocontroller
Wie sieht der vollständige Workflow beim Erstellen eines Programms für einen Mikrocontroller mit der Arduino IDE aus?
- Erstellen eines neuen Arduino Sketch
- Auswahl des Mikrocontrollers
- Auswahl der virtuellen COM-Schnittstelle
- Schreiben des C-Codes
- Kompilieren des C-Codes
- Übertragen des Programmcodes auf den Mikrocontroller
Was versteht man unter Compilieren, was geschieht dabei?
Ein Compiler ist eine Software, die Source-Code, der in einer Hochsprache wie z. B. C geschrieben ist, in den Programmcode für den Prozessor in einem Mikrocontroller oder in einem PC / Laptop übersetzt. Das Ergebnis dieses Vorgangs ist eine ausführbare Datei für den jeweiligen Prozessor, für den der Source-Code compiliert wurde.
Wozu dienen die beiden Funktionen setup() und loop()?
Ein Arduino Programm wird als sketch bezeichnet und besteht grundsätzlich aus zwei Funktionen – der Funktion setup() und der Funktion loop(). Der Programmcode in der Funktion setup() wird zu Beginn des Programms einmal ausgeführt. Im Anschluss daran wird der Code, der in der Funktion loop() steht, in einer Endlosschleife wiederholt ausgeführt.
Wie erfolgt die Auswahl des jeweiligen Mikrocontrollers, weshalb muss dieser ausgewählt werden?
Die Auswahl des Mikrocontollers für den der Source-Code kompiliert werden soll, erfolgt über die Auswahl des Mikrocontroller-Boards mit Tools > Board.
Aus dem Source-Code, der für alle Mikrocontroller gleich ist, muss der Compiler einen Programmcode für den jeweiligen Mikrocontroller erzeugen, den der gewählte Prozessor in diesem Mikrocontroller "versteht".
Wie erfolgt die Übertragung des Programmcodes auf einen Mikrocontroller, was muss dazu in der IDE ausgewählt werden?
Die Übertragung erfolgt über eine virtuelle serielle Schnittstelle. Da die meisten PCs / Laptops nicht mehr über serielle Schnittstellen verfügen, wird eine serielle Datenübertragung über USB zwischen einem Computer und dem Mikrocontroller virtualisiert. Diese virtuellen Schnittstelen werden nach wie vor mit der historischen Bezeichnung COM1, COM2, ... für serielle Schnittstellen benannt.
Die jeweilige Schnittstelle, über die das verwendete Mikrocontroller-Board mit einem Computer verbunden ist, wird über Tools > Port ausgewählt. In den neueren Versionen der Arduino IDE können diese auch direkt in einem Auswahlfeld der Programmoberfläche gewählt werden, wie in der folgenden Abbildung zu sehen ist:
Was ist der Serial Monitor und wozu kann dieser verwendet werden?
Mit dem Serial Monitor kann man Informationen aus dem am Mikrocontroller laufenden Programm auf einem Computer anzeigen lassen. Somit können z. B. die Werte einer großen Anzahl von Variablen und deren Änderungen mitglesen werden, um den Programmcode und dessen Aufgaben zu testen oder Fehler zu finden.
Wie werden in der Arduino IDE fertige Bibliotheken installiert?
In der Arduino IDE kann man sehr einfach Softwarebibliotheken installieren, die z. B. von Herstellern von Sensoren oder anderen Entwicklern frei zur Verfügung gestellt werden. Dies geschieht wie folgt:
- Tools > Manage Libraries ...
- Eingabe eines Suchbegriffs, hier z.B. VL53L0X für einen ToF Abstandssensor
- Klick auf den Button INSTALL bei der gewünschten Biblithek der aufgelisteten Suchergebnissen
Nun wird die installierte Bibliothek zu Beginn des eigenen Programms eingebunden, um den Funktionsumfang dieser im eigenen Code zur Verfügung zu haben. Der Name der Header-Datei muss dazu in spitzen Klammern angegeben werden.
Wie bindet man in der Arduino IDE eigene Bibliotheken in der Form von Header-Dateien ein und wo müssen diese liegen?
Möchte man eigene Softwarebibliotheken in ein Programm einbinden, die nicht über den Library Manager der Arduino IDE weltweit allen Usern zur Verfügung gestellt werden, so erfolgt dies über #include "MeineBibliothek.h" zu Beginn des Programmcodes. Dabei ist darauf zu achten, dass sich die eingebundene Datei im gleichen Verzeichnis wie die Arduino-Sketch-Datei (.ino) befindet und der Dateiname innerhalb von zweifachen Anführungszeichen steht.