Über den Kurs
Dieser Kurs soll als praktischer Einblick in die Welt der Mikrocontrollertechnik dienen. Er erläutert die Programmierung von Mikrocontrollern (µC) mit Hilfe von Anwendungsbeispielen. Der Kurs befindet sich in der Entwicklung und wird fortlaufend erweitert.
Um einen einfachen Einstieg zu finden, wird als Hardware vornehmlich das Arduino Uno-Board verwendet. Dieses stellt ein kostengünstiges Entwicklungsboard dar und hat weltweit eine hohe Verbreitung gefunden. Kernstück ist ein µC der Firma Microchip (ATmega328P). Zusätzlich gibt es jedoch auch Beispiele für die Programmierung weiterer Boards aus derselben Board-Familie wie dem Arduino Nano sowie auf dem µC ESP8266 basierende Boards.
Zu den Arduino-Boards ist eine Entwicklungsumgebung (Arduino IDE) erhältlich, die eine Vielzahl spezieller Funktionen enthält, die eine vergleichsweise einfache Programmierung von Anwendungen ermöglichen. Zur Programmierung der Arduino-Boards mit Hilfe dieser IDE existieren eine Vielzahl von Büchern und Informationen im Internet. Auch technisch weniger versierten Personen ist es möglich, mikrocontrollerbasierte Projekte zu verwirklichen, indem die Boards mit der jeweiligen Peripherie verbunden werden und entsprechende Code-Zeilen aus den Vorlagen (Bücher, Internet-Quellen) übernommen und angepasst werden. Auch der vorliegende Kurs wird auf die Programmierung mit der Arduino IDE eingehen.
Darüberhinaus soll ein Ziel für Lernende der
Elektrotechnik darin bestehen, die Nutzungsmöglichkeiten (und
-beschränkungen) und Vorgänge im Mikrocontroller besser zu verstehen, um
die Kenntnisse auch auf andere Mikrocontroller und
Programmierumgebungen anwenden zu können. Fragestellungen dazu sind
beispielsweise: wie kommuniziert der µC mit seinen digitalen Ein- und
Ausgängen, wie erfolgt eine Analog-Umsetzung, was ist ein Interrupt,
welche Einsatz- und Konfigurationsmöglichkeiten habe ich mit den
Timer-Modulen der µC, etc. Die Antworten auf diese Fragen bleiben bei
der Programmierung mit Hilfe der mächtigen Bibliotheken der Arduino
IDE im Allgemeinen weitestgehend verborgen. Zur Beantwortung dieser
Fragestellungen muss man sich insbesondere mit dem Aufbau des jeweiligen
µC und seinen Registern auseinandersetzen. Letzteres wird ein
bedeutender Teil des vorliegenden Kurses sein. Die Umsetzung dazu
erfolgt mit der Entwicklungsumgebung Atmel Studio. Ein Vorteil bei der direkten Ansprache der µC-internen Register mit der Programmiersprache C besteht darin, dass der Programmierer in der Lage ist, zeit- und ressourceneffizientere Programme zu schreiben, da die Umsetzung näher an der Hardware erfolgt und weniger stark von der Effizienz des Compilers (im Vergleich zur Arduino IDE) abhängt.