Ein Arduino ist eine preiswerte Mikrocontroller-Plattform, die von ihren Entwicklern und Anhängern als “Open Source Project” entwickelt wurde und weiterhin aktiv weiterentwickelt wird. Ein solcher Mikrocontroller liest Daten von Sensoren ein und steuert andere Geräte an oder gibt die Daten aufbereitet weiter.
Das Herzstück meiner “Arduino Uno”-Platine ist der eigentliche Mikrocontroller (bei mir ein ATMEGA 328-P), ein Computerchip von ein paar Zentimetern Kantenlänge mit vielen Beinchen. Die Platine führt diese Beinchen in richtige Steckverbindungen, versorgt das ganze Ding mit Strom und hat noch einige nützlich Zusatzfunktionen. Es gibt 14 Pins für digitale Ein- und Ausgangssignale und 6 Pins für analoge Eingangssignale. Das ganze System läuft mit 5V und einigen 100 mA und wird über USB oder über einen 9V-Block mit Energie versorgt.
Die Digitalen PINs verstehen in der Ein- und Ausgabe LOW und HIGH, die analogen PINS rastern den Bereich zwischen 0 und 5 Volt in 1024 Schritte (nur Eingabe). Negative Spannungen sind nicht vorgesehen. Einige der digitalen Pins können zusätzlich eine steuerbare Pulsmodulation, die Pins 0 und 1 verstehen ein einfaches serielles Protokoll, welches auch auf dem USB-Port zur Verfügung steht. Zu diesen PINs gehören auch zwei winzige LED-Lämpchen. Ein zusätzliches Lämpchen ist für den Pin 13 geschaltet. Und natürlich ein LED-Lämpchen für Power-ON.
Das Board ist nach einer festen Norm aufgebaut und man findet Module (shields), die genau darauf passen. So kann man seine eigenen Erweiterungen kompakt mit der Grundplatine verbinden. Die Auswahl an Sensoren ist riesig. Manche liefern einfach Signale, andere senden schon fertige Nachrichtenstrings zum Controller.
Die Entwicklung der dazugehörigen Software erfolgt auf einem PC in einer angepassten Entwicklungsumgebung in C und wird über ein USB-Kabel auf den Controller übertragen. Dort läuft dann das Programm ohne zu fragen an. Es stoppt, wenn der Strom unterbrochen wird, läuft aber bei nächster Gelegenheit wieder neu an. Es gibt einen Reset-Knopf, der einen Neustart erzwingt. Für die Abfrage der PINs und das Setzen der PINS gíbt es eigene C-Befehle, komplexere Sensoren werden meist über vorhandene Bibliotheken angesprochen.
Als eigenes Projekt will ich einen Dämmerungsschalter mit Zeitfunktion bauen, der dann via Funk (RF 433) eine Schaltsteckdose bedienen kann. Da sollte ich mit 20 Euro auskommen, vielleicht reicht das auch noch für einen guten Temperaturfühler.
Meine Literaturempfehlung: “Arduino Praxiseinstieg” von Thomas Brühlmann (ISBN 978-3-95845-070-7