Jeder, der sich für Elektronik interessiert, wird früher oder später mal auf den Begriff „Arduino“ stoßen. Für viele Menschen ist Arduino noch ein völlig fremdes Wort. Sie können sich nicht vorstellen, was sich dahinter verbirgt. Dazu mehr an dieser Stelle.
Arduino ist eine Plattform zur Entwicklung und Umsetzung von elektronischen Anwendungen mit Mikrocontrollern, bestehend aus Hardware und Software. Ebenfalls oft als Arduino wird eine kleine Platine, die unter anderem einen Mikrocontroller enthält, in dem ein Programmcode geladen wird, der dem Chip erst für seine vorgesehene Funktion vorbereitet. Vielleicht wissen Sie schon, was ein Mikrocontroller ist. Falls nicht, hier eine kurze Erklärung:
Ein Mikrocontroller ist ein spezieller Halbleiterchip, der einen Mikroprozessor zur Durchführung von Programmen enthält. Weiterhin enthält ein Mikrocontroller verschiedene Peripheriefunktionen, also zusätzliche Komponenten, die auch Computer enthalten. Dazu gehört zum Beispiel ein Speicher, in dem die auszuführenden Programme abgespeichert werden können. Außerdem sind mehrere Eingänge vorhanden, über die Informationen zum Mikrocontroller gelangen können und Ausgänge, mit denen externe Komponenten angesteuert werden können. Eingänge können zum Beispiel Sensoren sein (Kontakte, Licht- oder Temperatursensoren) oder auch Schalter, Taster und Regler. An den Ausgängen können verschiedene Komponenten angeschlossen sein wie beispielsweise LEDs, Displays sowie Schallwandler (Lautsprecher). Auch andere Komponenten wie Stellmotoren, Relais oder sonstige Bauteile können mit einem Mikrocontroller auf dem Arduino angesteuert werden. Mikrocontroller können analoge und/oder digitale Ein- und Ausgänge besitzen.
Wie gesagt, enthält ein Arduino einen solchen Mikrocontroller. Es handelt sich um eine kleine Platine, die noch zusätzliche Bauteile und Komponenten enthält. Dazu gehört bei den meisten Modellen des Arduino auch eine einfache Schnittstelle mit USB-Anschluss, über den sich der auf dem Board befindliche Mikrocontroller mit einem Programmcode zur Ausführung versehen lässt. Wo diese USB-Schnittstelle fehlt, ist ein zusätzliches Programmiergerät notwendig, das als Pegelwandler zwischen Computer und Arduino fungiert. Außerdem enthält ein Arduino noch einen Spannungsregler, mit denen sich sowohl der Mikrocontroller als auch andere Komponenten mit einer stabilen Versorgungsspannung betreiben lassen. Viele Arduinos lassen sich zum Beispiel zur Stromversorgung direkt an einen 9-Volt-Block anschließen. Weiterhin enthält die kleine Platine eine Resettaste sowie mehrere Eingänge und Ausgänge, an die sich die Ein- und Ausgabeelemente wie Sensoren, LEDs, Motoren oder Displays anschließen lassen.
Es ist die geschickte Kombination verschiedener Komponenten auf einer einzigen Platine, die den Arduino so praktisch und beliebt macht. So wird beispielsweise bei vielen der Arduinos kein zusätzliches Programmiergerät benötigt, um den eingebauten Mikrocontroller mit einem Programmcode zu versehen. Ein einfacher USB-Anschluss, den heute jeder Computer mitbringt, tut es genauso. Weiterhin benötigt wird ein kleines USB-Kabel, über das die Verbindung zum Computer erfolgt. Außerdem ist natürlich noch eine entsprechende Software (Link dazu weiter unten) notwendig, um den Arduino mit dem Programmcode zu versehen. Die Software gibt es kostenlos im Internet herunterzuladen. Außerdem gibt es zahlreiche Internetseiten, auf denen fertige Programmcodes für den Arduino zu finden sind. In der Software selbst sind übrigens auch einige Beispielprogramme enthalten. Der Nutzer eines Arduino erhält also alles, was er zur Entwicklung eigener Programmcodes für den Mikrocontroller benötigt.
Es gibt verschiedene Versionen vom Arduino. Einige Bezeichnungen lauten zum Beispiel Arduino Uno, Micro, Mini, Nano oder Pro. Die Boards unterscheiden sich im Aussehen sowie in der Größe und durch verschiedene Ausstattungsvarianten. Nachfolgend gehe ich auf den Arduino Nano ein, weil dieser sehr klein und preisgünstig erhältlich ist. Außerdem enthält der Arduino Nano den USB-Anschluss zur Programmierung (über den auch die Stromversorgung erfolgen kann), einen Resettaster sowie ein paar LEDs und damit alle Komponenten, die für den Anfang benötigt werden.
Anhand des Arduino Nano sollen Ihnen die einzelnen Eingänge und Ausgänge sowie die Spannungsversorgung des Arduino Nano aufgezeigt werden. Der Arduino Nano ist eine sehr kleine Version des Arduino. Er kann auf mehrere Art und Weise mit Strom versorgt werden. Am einfachsten ist es, wenn er über den USB-Anschluss mit einem Computer verbunden wird. Auf diese Weise lässt sich der Mikrocontroller mit einem Programmcode versehen. Eine zweite Möglichkeit besteht aus einer externen Stromversorgung. Der Arduino besitzt einen eingebauten Spannungswandler. Über den Anschluss „Vin“ kann eine externe Spannungsversorgung angeschlossen werden. Dies kann zum Beispiel ein einfaches Netzteil oder eine 9-Volt-Batterie sein. Der integrierte Spannungswandler setzt die höhere Eingangsspannung auf die vom Mikrocontroller benötigte Versorgungsspannung herunter.
Die Eingänge und Ausgänge des Mikrocontrollers sind leicht zugänglich, sodass der Arduino Nano ganz einfach auch auf einem Steckboard betrieben werden kann. Auf diese Weise ist es mithilfe von einfachen Verbindungsleitungen möglich, zusätzliche Komponenten mit den Eingängen und Ausgängen des Arduino Nano zu verbinden.
Hier ist die Unterseite des Arduino Nano zu sehen. Links befindet sich der integrierte Spannungsregler. Rechts zu sehen ist der Controllerbaustein, der für die USB-Schnittstelle benötigt wird. Bevor der Arduino über den Computer programmiert werden kann, müssen für diesen Controllerbaustein passende Treiber auf dem Computer installiert werden. Der Baustein auf diesem Arduino trägt die Bezeichnung CH340G. Passende Treiber für diesen Baustein können im Internet (siehe Links am Ende dieses Artikels) heruntergeladen werden.
Dies ist der Arduino Uno, ein etwas größeres Board. Der Mikrocontroller ist der gleiche wie auf dm Nano. Die Anschlüsse sind ebenfalls die gleichen, nur deren Anordnung unterscheidet sich etwas von der auf dem Arduino Nano. Dieses Board enthält neben dem USB-Anschluss, über den auch die Stromversorgung erfolgen kann, einen Eingang für eine externe Spannungsquelle.
Der Anschluss an den Computer kann mit einem handelsüblichen USB-Kabel erfolgen. Um den Arduino mit dem Programmcode zu versehen, muss erst der auf dem Board integrierte Signalwandler erkannt und der passende Treiber installiert werden. Passiert das nicht automatisch, kann der Treiber für den Signalwandler (CH340) heruntergeladen und manuell installiert werden. Es wird im Gerätemanager eine weitere serielle Schnittstelle eingerichtet (siehe Abbildung). Diese Schnittstelle ist später in der Programmiersoftware einzustellen, außerdem muss in der Software der richtige Typ des Arduino ausgewählt werden. Sind diese Hürden genommen, kann die Übertragung eines ersten Programms in den Arduino erfolgen
Ein einfaches Programm ist im Arduino-Softwarepaket bereits enthalten. Es lässt eine LED auf dem Board im Sekundentakt blinken. Das Programm ist zu finden in den Beispielen (unter Datei > Beispiele > 01.Basics > Blink). Nachdem das Programm geladen wurde, erscheint dessen Programmcode. Bevor es in den Speicher des Arduino geladen und schließlich ausgeführt werden kann, sollte in der Software der richtige Boardtyp (z.B. Arduino Uno) und der korrekte serielle Port eingestellt werden, falls noch nicht geschehen. Die entsprechenden Einstellmöglichkeiten sind unter dem Menüpunkt Werkzeuge zu finden. Anschließend kann der Programmcode mit dem Button (>) in den Speicher des Arduino übertragen werden. Die Umwandlung des Codes vor der Datenübertragung erfolgt automatisch. Nach einigen Sekunden sollte der Arduino programmiert sein. Eine der LEDs auf dem Board müsste nun im Sekundentakt blinken.
Das Blinksignal wird auch über den Digitalpin 13 ausgegeben. Dies kann mit einer LED mit Vorwiderstand leicht überprüft werden. Der entsprechende Testaufbau ist in der Abbildung zu sehen.
In diesem Abschnitt geht es um die Ansteuerung einer LED-Matrix. Mit einer solchen Matrix lassen sich alle möglichen Buchstaben, Symbole oder Grafiken darstellen. Es wird nur ein relativ einfacher Programmcode benötigt, um mithilfe einer oder mehrerer solchen Matrizen Laufschrift umzusetzen. Um im Bild zu sehen ist eine Matrix, die einen integrierten Baustein zur Ansteuerung der LEDs enthält. Es handelt sich um die integrierte Schaltung mit der Bezeichnung MAX7219. Diese integrierte Schaltung kann neben der Steuerung einer LED-Matrix auch zum ansteuern von sieben Segmentanzeigen verwendet werden. Doch hier geht es zunächst um die LED-Matrix und deren Ansteuerung. Deutlich zu sehen sind die verschiedenen Anschlüsse des Bausteins. Die Anschlüsse mit den Bezeichnungen VCC und GND dienen zur Stromversorgung des Bausteins. Über die weiteren Anschlüsse erhält der MAX7219 Informationen über die Zeichen, die dargestellt werden sollen sowie über andere Parameter wie beispielsweise die Laufgeschwindigkeit, wenn der Baustein für eine Laufschrift eingesetzt wird. Es sind Anschlüsse auf beiden Seiten zu sehen, durch die es ermöglicht wird, mehrere dieser Matrizen hintereinander zu schalten.
Hier wurde der Arduino mit einem Programmcode für eine Laufschrift programmiert. Die Programmierung erfolgte über den USB-Anschluss, über den der Baustein sowie die LED-Matrix nun auch ihre Stromversorgung erhalten.
In diesem Aufbau wurden zwei LED-Matrizen hintereinander geschaltet. Werden sie genau nebeneinander gelegt, so entsteht eine Laufschrift über 8 × 16 LEDs. Es handelt sich also um insgesamt 128 LEDs, die mithilfe des Arduino über einen Lauflicht angesteuert werden. Die Verdrahtung ist relativ einfach. Zur Verbindung der LED-Matrix mit dem Arduino selbst sowie für weitere Verbindungen von mehreren LED-Matrizen untereinander werden jeweils lediglich fünf Verbindungsleitungen benötigt.
Hier wurden zwei LED-Matrizen nebeneinander gehalten. Durch diese Darstellung lassen sich deutlich besser lesbare Laufschriften erzeugen. Man könnte tatsächlich noch mehrere dieser Matrizen verwenden, um auch längere Wörter problemlos darzustellen.
Links:
Arduino-Software zur Programmierung
Link zum CH340-Treiber für Windows, falls dieser nicht automatisch installiert wird
Bibliothek LED-Control herunterladen zum Ansteuern einer LED-Matrix