Arduino-GenuinoDas Arduino/Genuino Uno R3 ist ein Open-Source-Mikrocontroller-Board, das auf dem ATmega328 Chip basiert. Das Board hat:

  • eine USB-Anschlussbuchse für die Kabel-Verbindung zum Computer
  • eine Gleichstrombuchse zum Anschließen einer Batterie oder eines Netzteils
  • 14 digitale Ein- bzw. Ausgangs-Pins
  • 6 analoge Eingangs-Pins
  • einen keramischen 16 MHz Resonator
  • Programmierschnittstellen (ICSP-Header) zum USB-Interface und zum ATmega328 Chip
  • Reset-Taste

Das Board wird zum Programmieren über ein USB-Kabel mit dem Computer verbunden. Die StromversorgungUNO-Pinout erfolgt dann über den USB-Anschluss (5V). Alternativ kann es auch über die Buchse für einen 2.1 x 5.5 mm Normstecker oder die Pins GND und Vin versorgt werden. In diesem Fall sollten Stromquellen verwendet werden, die Spannungen zwischen 7 und 12 Volt bereitstellen können. Bei weniger als 7V liefert der 5V- Pin nicht die angegebene Spannung und das Board kann auch sonst instabil sein. Wenn mehr als 12V verwendet werden, kann der Spannungsregler überhitzen und die Platine beschädigen.

Diese und weitere Details sind in der Grafik zusammengefasst. Zum Vergrößern auf das Bild klicken. 

Es ist sicher klug, die Lernenden nicht gleich mit allen Einzelheiten des Boards zu konfrontieren, sondern ihnen ausgewählte Details in kleinen, gut verdaulichen Portionen nahe zu bringen.

So hat es sich bewährt, zu Beginn das Arduino-Board in Augenschein zu nehmen und zu klären, welchem Zweck bestimmte Anschlüsse (Pins) dienen. Dabei sollte nicht ins Detail gegangen werden und beispielsweise nur die mit GND bezeichneten Pins als Minuspole herausgestellt und von den Pluspolen (5V, 3.3V) unterschieden werden. Besondere Aufmerksamkeit bekommen die mit den Zahlen 0 – 13 gekennzeichneten Pins. Deren Funktion wird – wie in dem Kapitel Blinklicht ausgeführt – erst durch eine entsprechende Programmierung hergestellt. 

Wie das programmiertechnisch gelingt, zeig sich im Blink-Sketch: Im Setup wird Pin 13 als OUTPUT (Ausgang, Gegensatz INPUT (Eingang)) festgelegt „pinMode(13, OUTPUT);“ Nach Überspielen des Programms auf das Board wird so Pin 13 zum Minuspol. Damit die LED, die mit dem kürzeren Beinchen in GND und dem längeren in Pin 13 steckt, auch leuchten kann, muss Pin 13 auf HIGH „digitalWrite(13, HIGH);“ gesetzt werden. So wird Pin 13 zum Pluspol.

Dass eine funktionierende Lampe mit dem Plus- und Minuspol verbunden sein muss, kann wohl als bekannt vorausgesetzt werden. Neu dürfte dagegen sein, dass eine LED nur dann aufleuchtet, wenn am längeren Beinchen Plus und am kürzeren Minus anliegt. Damit gibt es 4 Gründe, warum eine LED nicht leuchtet: Kein Strom an einem oder beiden Beinchen (1), an beiden Beinchen Plus (2), an beiden Beinchen Minus (3), Plus am kürzeren, Minus am längeren Beinchen (4). So etwas muss bei einer Fehlersuche bedacht werden.

Schließlich sollte am Blink-Sketch erklärt werden, dass die Setup-Funktion „void setup() { … }“ nur einmal, die Loop-Funktion“void loop() { … }“ dagegen endlos oft abgearbeitet wird. Um einen Pin dauerhaft als OUTPUT festzulegen, genügt eine Befehlszeile im Setup. Anders ist das, wenn die LED blinken soll. Hier muss in einer Schleife (Loop) Pin 13 endlos zwischen HIGH und LOW umgeschaltet werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.