www.kappmeier.net


Elektronik-Basteleien

17. Juni 2025



ARDUINO - was ist das und warum?


Vorgeplänkel

Wenn wir elektronische Geräte benutzen ist in der Regel ein Computer am Werk. Auch wenn dies nur ein Toaster ist, oder in unserem Falle des DEALERs ein Audio-Vorverstärker, kann dort ein kleiner Mikrocontroller beteiligt sein. Beim DEALER gilt es die Relais zu schalten, das Display zu bedienen, das Infrarot-Signal auszulesen, den Dreh- Drücktaster abzufragen und die Lautstärke zu stellen. Da im Rahmen des Projektes mehrfach die Nachfragen nach dem Programm kamen beschloss ich dazu etwas in dem nachfolgenden Rahmen zu veröffentlichen.


Warum Arduino?   

ARDUINO ist die Bezeichnung für ein Gesamtpaket. Ursprünglich bedeutete "Arduino" den Verbund aus der Arduino IDE und dem Arduino UNO Board. Dieses Board enthält den ATmega 328P Mikrocontroller von AVR, samt Arduino-Bootloader und u.a. eine serielle Schnittstelle welche über USB am Rechner angeschlossen wird. Arduino ist mittlerweile ein Gattungsbegriff für den Bereich Mikrocontroller. Neben dem ATmega 328P sind mittlerweile auch andere Controller hinzugekommen.

Der erwähnte Bootloader macht aus dem 328P erst einen "Arduino", womit wir beim "warum" sind, zumindest einem Grund. Üblicherweise werden Mikrocontroller über eine ISP Schnittstelle programmiert. ISP steht für "In-System-Programming".

Dafür wird i.d.R. ein spezielles Gerät benötigt. Einige Controller brauchen noch andere zus. Schritte (wie z.b. das auf GND legen bestimmter Pins) um Programme zu empfangen.

Im "echten" Arduino Umfeld enthält ein Mikrocontroller einen Bootloader. Mit diesem kleinen Programm, welches direkt beim Start des µC ausgeführt wird, wartet  dieser an seiner seriellen Schnittstelle auf bestimmte Daten. Dies ist dann i.d.R. der neue Programmcode. Bekommt er nichts springt er nach kurzer Zeit in sein vorhandenes Programm und führt dies aus.

Als Beispiel wie es umständlicher geht zeigen die Controller der Expressif Serie (ESP32 oder 8266). Diese müssen zum Programmieren aus sein, dann wird eine Taste gedrückt gehalten, Kabel gesteckt und mit Strom versorgt. Während den Entwicklungsarbeiten ist dies ein durchaus lästiger Vorgang. Nach jeder kleinen Programm-Änderung, die getestet werden soll, heißt es : Kabel ziehen > Taste drücken >  Kabel stecken > in der IDE Programmieren klicken > wieder Kabel ziehen > neu stecken um dann fest stellen das es noch nicht klappt und wieder Kabel ziehen....     ein Teufelskreis ;-)

Beim original Arduino-System ist die anders. Arduino UNO Platine per USB verbinden, in der Arduino IDE einmal korrekt einstellen. Dann das Programm schreiben/laden, zum Programmieren heißt es nun :  auf den Übertragungsknopf klicken >  kurz warten > fertig.

Einen Fehler gefunden?  Programm ändern > Knopf drücken > warten > fertig. 

Unter der Haube führt die IDE einen Reset des µC aus, sendet das HEX File und macht wieder einen Reset. Fertig. Das Ganze vereinfacht die Entwicklung ungemein.

Zusätzlich hat die serielle Schnittstelle den Vorteil das der µC darüber auch andere Daten empfangen oder Daten zurück an die IDE senden kann, welche diese dann im "Seriellen Monitor" anzeigt, also brauchen wir keinen Bildschirm am µC.

Womit wir bei der IDE sind. IDE steht für " Intigrated Develepment Environment ", zu deutsch " Integrierte Entwicklungsumgebung ". Dieses ist die Oberfläche für die vielen, zum Programmieren notwendigen Werkzeuge. Dies sind u.a. Compiler, Linker, der Texteditor mit "Syntax-Highlighting", einige Bibliotheken, Beispielprogramme sowie Werkzeugen zum Übertragen auf den Controller. Ich verwende die aktuelle Version 2.3.4 (Stand 05.2025). Immer noch verbreitet und von vielen favorisiert ist die 1.8

Ein weiterer Grund für einen Arduino ist die Offenheit der Plattform und die große Verbreitung. Es gibt quasi zu jedem Bereich eine Bibliothek, den sogenannten "Librarys", oder zumindest Beispiel-Programme. Natürlich bleibt einem weiterhin der klassische Weg der Programmierung offen, mit den "Librarys" ist zumindest der Einstieg einfacher.

Kleiner Tipp:  In der IDE gibt es oben links zwei Button. Links der Kompilier-Button, rechts davon der Kompilier UND Übertragungsbutton. Als Anfänger sollte man häufig von dem linken Kompilier-Button Gebrauch machen, damit kleinere Schreib oder Flüchtigkeitsfehler sofort gezeigt werden. Schreibt man stumpf erst mal alles zusammen, ist man zunächst fleißig dabei und korrigiert einen Riesen Haufen Fehler.  Allerdings macht das kompilieren erst Sinn wenn die Programmteile komplett sind, es führt natürlich zu Fehlern wenn man einen Funktionsaufruf eingetippt hat, die dazugehörige Funktion noch gar nicht vorhanden ist ;-)

Hausprogrammiersprache beim Arduino ist "C" bzw. "C++".     Wie dies funktioniert gibt es im nächsten Teil :  ARDUINO - Hallo Welt




















zurück   -   Startseite   -   Impressum