Der Arduino Uno (R3 – Revision 3) stellt eine Programmiermöglichkeit für den Mikrocontroller von ATMEL mit der Bezeichnung ATmega328 dar. Über das Board kann man einfach und komfortabel Perepherie anschließen und testen. Wenn man möchte, kann später der Mikrocontroller in eigenen Schaltungen bzw. Platinen verwendet werden. Dabei sind nur einige Regeln zu beachten, wie wir sie auf der Seite Arduino Uno Standalone (eigenständig) beschreiben.
Mit welcher Methodik oder Software der Mikrocontroller programmiert wurde, z.B. mit C, BASCOM, Assembler, … spielt in einer fertigen Schaltung für den Ablauf keine Rolle. Am Ende wird der Code mit jedem System in Maschinencode umgewandelt und der Prozessor tut, was er eben soll. Er steuert die Logik einer Schaltung und verarbeitet Input/Output (I/O).
Der Controller ATmega328 im Arduino Uno
Um die Anschlüsse des Controllers zu kennen, bietet ATMEL in den Datenblättern zu den Controllern Schaubilder:
Der Mikrocontroller verfügt über 14 I/O-Pins, 6 davon können als PMW-Kanäle verwendet werden, z.B. um LEDs zu dimmen oder aber um Servos anzusteuern etc., 6 analoge Eingänge und eine Betriebsspannung von 5V.
Das nachstehende Schema zeigt den Mikrocontroller mit seinen Anschlüssen und den Funktionen im Arduino.
Software zum Arduino Uno programmieren
Um den Arduino zu programmieren gibt es eine eigene Software – sie ist über die Seite https://www.arduino.cc/ zu beziehen und steht unter einer OpenSource Lizenz.
Die Software-Pakete, die später auf den Arduino übertragen werden nennt man „Sketch“ (auf deutsch: Skizzen, Entwürfe). Sie bestehen aus einem Setup („void setup“) und einer Hauptschleife („void loop“), in der das Hauptprogramm des Mikrocontrollers abläuft.
Grafische Programmierung des Arduino Uno (z.B. in der Schule)
Gerade für Schüler bietet es sich an, um schnelle Erfolge zu erzielen, auf komplexe Syntax zu verzichten und lieber die Logik zu vermitteln, gerade wenn es um eine „Hochsprache“ wie C geht. Dafür eignet sich z.B. das auf JAVA basierende Programm „ArduBlock„. Mit diesem Programm ist es möglich, Sets und Abläufe über „Bausteine“ zusammenzuklicken und auf den Arduino Uno zu übertragen. Somit kann den Schülern auch komplexe Programmstrukturen vermittelt werden wie Schleifen, Abfragen, … ohne eine Zeile Code und deren Syntax kennen zu müssen. Es erinnert eher an ein Struktogramm – nur dass das geschriebene „Programm“ gleich Abläufe auf dem Arduino Uno ausführt. So kann sich z.B. ein Motor in Bewegung setzen oder eine LED blinken. In einfachen Anwendungen kann dies bereits sogar in unteren Klassenstufen benutzt werden, um erste elektronische Berührungen zu bekommen und zu erklären, was ein „Prozessor“ oder ein „Computer“ ist und das „erste Programm“ zu „schreiben“. Neben „ArduBlock“ gibt es noch weitere Programme, die in der Lage sind, grafische Befehle in Code umzuwandeln, aber das ist nicht Gegenstand dieser Seite.
Fritzing
Um kleinere Schaltungen verständlich abzubilden, gerade für Schulen, bietet das Tool „Fritzing“ eine gute Hilfestellung. Es ist kostenlos über die Seite http://fritzing.org/ erhältlich.