MSI Dragons Dogma Anzeige
MSI Dragons Dogma MSI Dragons Dogma

Wissen: Arduino Mikrocontroller-Plattform im Überblick

Was ihr über Arduino Mikrocontroller wissen müsst

Wer in die Mikrocontrollerentwicklung einsteigen möchte, hatte bis vor ein paar Jahren noch mit relativ hohen Kosten und dann teilweise auch mit einer umständlichen Handhabung der Hardware zu kämpfen. Seit dem Arduino-Projekt ist vieles anders. Wir geben euch einen Überblick.

Mikrocontroller, bitte was?

Unter einem MiKrokontroller versteht man im weitesten Sinne einen Halbleiterchip, der neben einem Prozessor auch entsprechenden Arbeitsspeicher und Programmspeicher beherbergt. Zudem stellen moderne Mikroprozessoren diverse Schnittstellen bereit, um mit Peripheriegeräten kommunizieren zu können. Im Grunde handelt es sich also um einen Computer auf Fingernagelgröße.

Selbst einfachste Geräte des alltäglichen Lebens greifen in ihrer Funktion oft auf Mikrocontroller zurück, kostet entsprechende Chips heutzutage nur noch wenige Cent bis Euro – abhängig von der Ausstattung. Ein häufig im Zusammenhang mit Mikrocontrollern genannter Begrifft ist „System-on-a-Chip“ (kurz SoC), welcher nichts weiter als die Tatsache beschreibt, dass ein Mikrocontroller diverse Komponenten eines Computersystems auf einem physikalischen Bauteil vereint.

Ein Mikrocontroller ist ohne ein entsprechendes Software-Programm wertlos. Deshalb muss zur Inbetriebnahme, der entsprechend zu Problemstellung passende Softwarecode in den Speicher des Controllers geflasht werde. Umgangssprachlich ist hier auch oft von der „Firmware“ die Rede. Im Endeffekt handelt es sich dabei ganz einfach um das Programm, welches vom Mikrocontroller ausgeführt wird. Im weitesten Sinne könnte man das BIOS eines Computers ebenfalls als ein Programm bezeichnen, welches auf einem Mikrokontroller ausgeführt wird.

Der Flash-Vorgang ist, abhängig vom verwendeten Controller, mehr oder weniger aufwändig und basiert fast immer auf der Verwendung eines speziellen Programmiergerätes, dass den Computer mit dem Mikrokontroller verbindet.

Auch wenn man sich hauptsächlich mit Hardware befasst, lohnt es sich, näher auf die Software einzugehen. Software-Skills werden in vielen Unternehmen hoch geschätzt und können zum Beispiel bei der Jobsuche im Bereich der Hardware-Entwicklung ein entscheidender Vorteil sein.

Die Arduino Plattform

Hinter dem Namen Arduino versteckt sich eine mittlerweile ausgewachsene Entwicklungsumgebung, die Hardware- und Softwarekomponenten bereitstellt. Sowohl die Programmiersprache als auch die entsprechenden Mikrokontroller-Boards sind unter einer OpenSource-Lizenz verfügbar.

Der Softwareteil des Arduino Projekts ist die Arduino IDE. IDE (Integrated Development Environment) steht dabei für integrierte Entwicklungsumgebung. Diese Anwendung erlaubt das Schreiben von Programmcode, der anschließend auf den Mikrocontroller übertragen werden kann, damit dieser seine geplante Funktion ausführt.Arduino IDE Blink Example Code

Der gesamte Übertragungsvorgang zwischen Arduino IDE und den passenden Arduino Mikrocontroller-Boards wurde dabei so weit vereinfacht, dass sich die Arduino-Platine einfach per USB mit dem Computer verbinden lässt und die Software mit einem Knopfdruck kompiliert und auf den Controller gespielt werden kann. Die im Hintergrund nötigen Aktionen zum Flashen des Chips bleiben für den Anwender unsichtbar. Somit stellt Arduino das Entwickeln und Experimentieren an sich in den Vordergrund und nimmt Anfängern nicht die Motivation, wenn es um das grundsätzliche Überspielen von Programmen in einen Mikrocontroller geht.

Die Arduino IDE basiert auf der Processing Programmiersprache. Programmiert werden kann in C oder C++. Im Hintergrund kommt zudem der AVR-Assembler zum Einsatz, welcher sich um die Übersetzung des Programmcodes in für den Mikrokontroller verständlichen Code kümmert.

Anzeige:

Arduino Entwicklungsboards

Mikrokontrollerprogrammierung klingt zunächst einmal sehr abstrakt. Schaut man sich die zugrundeliegende Hardware jedoch einfach genauer an, wird einiges klarer. So besteht ein Arduino Board aus mehreren Komponenten. Gut zu erkennen ist der schwarze, längliche Mikrokontroller (Atmel ATmega328P), der die gesamte Rechenarbeit übernimmt. Zusätzlich verfügt beispielsweise das Arduino UNO Board über eine USB-Typ-B-Schnittstelle zur direkten Verbindung mit dem Computer. Außerdem ist ein Stromanschluss vorhanden, sollte der Arduino UNO später selbstständig und ohne USB-Verbindung seine Arbeit verrichten müssen.Arduino UNO Board

Quelle: arduino.cc // Creative Commons Attribution ShareAlike 3.0

Seitlich sind mehrere Anschlussmöglichkeiten definiert. Dabei bietet der Arduino UNO insgesamt 14 digitale Signalein- bzw. Ausgänge, die mit externen Geräten kommunizieren können. Zusätzlich stehen sechs analoge Eingänge bereit, um beispielsweise Spannungspegel von Sensoren an den Controller zu übergeben und in nutzbare Werte innerhalb des Programms umzurechnen.

Die folgende Tabelle stellt die technischen Daten der drei beliebtesten Arduino-Boards dar:

Name

Arduino UNO

Arduino MICRO

Arduino MEGA 2560

Mikroprozessor

ATmega328P

ATmega32U4

ATmega2560

Taktfrequenz

16 Mhz

16 Mhz

16 MHz

Digitale Ausgänge/Eingänge (IO)

14

20

54

Analoge Eingänge

6

12

16

Flashspeichergröße

32 KB

32 KB

256 KB

Spannungsbereich (Eingang)

7 – 12 V (gewandelt auf Betriebsspannung von 5)

7 – 12 V (gewandelt auf Betriebsspannung von 5)

7 – 12 V (gewandelt auf Betriebsspannung von 5)

Gewicht

25 g

13 g

37 g

Preis

20 € + Ust.

18 € + Ust.

35 € + Ust.

Signaleingänge? Ich versteh‘ nur Bahnhof!

Mikrokontroller sind als einzelnes Bauelement in den allermeisten Fällen wertlos. Sinnvoll werden die kleinen Computer erst, wenn sie als Teil in eine elektronische Schaltung integriert werden. Das kann zum Beispiel eine LED-Leuchte und ein einfacher Taster sein. Über die digitalen Ein- und Ausgänge können beide Komponenten mit dem Arduino-Board verbunden werden. Ein Port wird im Code definiert als Eingang und lauscht, ob der Taster gedrückt wird, der andere Port ist ein Ausgang und steuert bei Bedarf die LED an. Zusammen mit ein wenig Programmcode, kann nun beispielsweise die LED für 5 Sekunden zum Leuchten gebracht werden, sobald der Knopf gedrückt wird. Ermöglicht wird diese Aktion durch den Mikrokontroller, der das Programm entsprechende ausführt und so die definierten Ein- und Ausgänge anspricht.Arduino Blink Example

Quelle: arduino.cc // Creative Commons Attribution ShareAlike 3.0

Dieses Beispiel ist zugegebenermaßen eines der simpelsten Anwendungs-Szenarien, die man mit einem Arduino Board umsetzen kann. Je nach Anforderungen und Können lassen sich mit Arduino auch deutlich kompliziertere Aufgaben umsetzen. Ein Beispiel hierfür ist das MultiWii-Projekt, bei dem ein Arduino-Board zur Steuerung eines Multicopters (Drohne) eingesetzt wird.

Beispiele und Hilfe zu diversen Arduino-Sketches (so nennen sich die Arduino-Programme), gibt es im Arduino Playground, einer Sammlung vieler nützlicher Codezeilen, die das eigene Projekt auf das nächste Level befördern können.

Schlusswort

Wer sich ein wenig für elektrotechnische Zusammenhänge interessiert und sich zudem mit der strukturierten Denkweise der Programmierung anfreunden kann, der sollte sich Arduino definitiv einmal näher anschauen. Den Möglichkeiten, die eigenen Bastel- und DIY-Projekte eine ganz neue Dimension zu verleihen, sind quasi unbegrenzt.

Mit * markierte Links sind Affiliate-Links. Mit dem Kauf über diesen Link erhalten wir eine Verkaufsprovision, ohne dass du mehr bezahlst.

Nils Waldmann

...ist seit über 17 Jahren bei Allround-PC.com und als Redakteur und technischer Leiter tätig. In seiner Freizeit bastelt und konstruiert Nils gerne flugfähige Modelle und ist mit der Drohne unterwegs.

Aus Gründen der besseren Lesbarkeit wird auf die gleichzeitige Verwendung männlicher, weiblicher und diverser Sprachformen (m/w/d) verzichtet. Alle Personenbezeichnungen gelten gleichermaßen für alle Geschlechter.

^