Mikrocontroller sind in unserer modernen Welt überall etwas versteckt zu finden. Sie steuern Kaffeemaschinen, Lichtschalter, Staubsauger, Kühlschränke, Waschmaschinen bis hin zu Rasenmähern. Sie bewässern automatisch unsere Pflanzen und prüfen den Kalkgehalt unseres Wassers. Dieser Workshop gibt einen Einblick in die Funktion eines Mikrocontrollers am Beispiel der Plattform Arduino.
Was als Experimentierprojekt für Elektronikbegeisterte begann, ist mittlerweile zur professionellen Lösung für industrielle Anwendungen geworden – der Microcontroller Arduino. In praktischen Versuchen erlernst Du das Programmieren des beliebten Microcontrollers. Vorkenntnisse sind nicht notwendig – Schritt für Schritt erklären wir Dir den Arduino und seine Komponenten – und warum Programmierung kein Hexenwerk ist.
Software
Der Arduino lässt sich mir viele Entwicklungsumgebungen programmieren. Die einfachste Umgebung stellt das Open Roberta Lab bereit.
Vorbereitung im PC-Pool
Pro zweier Team einen PC mit USB-Eingang und Internetzugang
Die Seite Open Roberta Lab muss erreichbar sein, da wir mit dieser programmieren wollen.
Dozenten-PC und Beamer für die visuelle Anleitung müssen verfügbar sein.
Funktionstest: Hallo Welt!
Open Roberta Lab starten.
Nepo4Arduino wählen.
Arduino via USB anschließen.
Open Roberta Connector starten.
Verbindung herstellen.
Token kopieren und unter Roboter→Verbinden eingeben (STRG+V).
Programm in Abb. 2 schreiben und mit ▶ übertragen.
Arduino Uno→Serieller Monitor im Open Roberta Connector öffnen.
Erscheint dort Hallo Welt? - Gratulation!!
Aufgabe 1: Blinkende LED
Auf dem Arduino ist an Pin 13 bereits eine LED eingebaut (siehe Abb. 3). Häufig blinkt diese Lampe schon, wenn man ein neues Arduino-Board anschließt, da das Blink-Programm zum Testen des Boards je nach Hersteller bereits vorab installiert ist. Wir werden dieses Blinken jetzt selbst programmieren.
Roboterkonfiguration (LED an D13)
In einer Schleife - LED einschalten, 1 s warten, LED ausschalten, 1 s warten,usw.
Programm auf Arduino übertragen
Einführung: Steckbrett
Musterlösung
Aufgabe 2: Wechselblinker
Zwei Leuchtdioden sollen abwechselnd blinken. Blinkende Leuchten werden im Verkehr als Warnsignal an Fußgängerüberwegen und an Bahnübergängen eingesetzt (vgl. Abb. 6).
Schalte eine LED mit Vorwiderstand über D8 gegen GND.
Schalte eine LED mit Vorwiderstand über D7 gegen GND.
Passe die Roboterkonfiguration entsprechend an.
Schalte im Sekundentakt wechselnd eine LED an und die andere aus.
Übertrage das Programm auf den Arduino.
Frage: Wieso hat die LED unterschiedlich lange Beine (vgl. Abb. 4)?
Stückliste
Tabelle 2: Stückliste für den Wechselblinker
Anzahl
Bauteil
Abbildung
2
blaue LED
2
100 Ω Widerstand (braun - schwarz - braun)
Schaltplan
Musterlösung
Aufgabe 3: LED pulsieren lassen
Eine LED soll pulsierend heller und dunkler werden (engl. faden).
Schalte eine LED mit Vorwiderstand über D6 gegen GND.
Passe die Roboterkonfiguration entsprechend an (s. Abb. 12).
Schicke Werte von 0..255 an die LED.
Übertrage das Programm auf den Arduino.
Bonus: Erweitern Sie Ihr Programm, so dass die LED abwechselnd heller und wieder dunkler wird.
Stückliste
Tabelle 3: Stückliste für die pulsierende LED
Anzahl
Bauteil
Abbildung
1
blaue LED
1
100 Ω Widerstand (braun - schwarz - braun)
Schaltplan
Tipp 1
Die LED benötigt einen 100 Ω Vorwiderstand, damit Sie nicht kaputt geht (Farbcode: Braun-Schwarz-Braun).
Das lange Beinchen der Diode ist Plus (+) und das Kurze Minus (-, GND).
Mit einer Pulsweitenmodulation (s. Abb. 10) lässt sich eine LED dimmen.
Die PWM-fähigen Ports sind mit ~ markiert. Wir nehmen Digitalport ~6.
Musterlösung
Aufgabe 4: LED mit Potentiometer dimmen
Eine LED soll gedimmt werden. Die Helligkeit soll mit einem Drehregler (Potentiometer) eingestellt werden.
Lerninhalt: Spannung eines Drehreglers auslesen, Sensorwerte mathematisch verarbeiten und für eine Ausgabe verwenden.
Ein Drehregler hat drei Anschlüsse. Außen wird rechts + und links – angeschlossen. Von dem mittleren Pin geht ein Kabel zu einem analogen Eingangspin am Mikrocontroller-Board. Wenn man den Drehregler dreht, dann gibt der mittlere Pin eine Spannung zwischen 0 und 5 Volt aus. Drehregler ganz links: 0 V und Drehregler ganz rechts: 5 V, bzw. seitenverkehrt, je nach Verkabelung. Der 10-Bit Analog-Digital-Wandler wandelt die gemessene Spannung in einen Wertebereich um.
Schalte eine LED mit Vorwiderstand über D6 gegen GND.
Schließe das Potentiometer an A0 an und Versorge es mit 5V.
Passe die Roboterkonfiguration entsprechend an (s. Abb. 15).
Messe die Eingangswerte des Potentiometers. Welchen Wertebereich hat A0?
Rechne die Eingangswerte in die Ausgangswerte um.
Schicke Werte von 0..255 an die LED.
Übertrage das Programm auf den Arduino.
Stückliste
Tabelle 4: Stückliste für die gedimmte LED
Anzahl
Bauteil
Abbildung
1
blaue LED
1
100 Ω Widerstand (braun - schwarz - braun)
1
10 kΩ Potentiometer
Schaltplan
Tipp 1
Die LED benötigt einen 100 Ω Vorwiderstand, damit Sie nicht kaputt geht (Farbcode: Braun-Schwarz-Braun).
Das lange Beinchen der Diode ist Plus (+) und das Kurze Minus (-, GND).
Mit einer Pulsweitenmodulation (s. Abb. 9) lässt sich eine LED dimmen.
Die PWM-fähigen Ports sind mit ~ markiert. Wir nehmen Digitalport ~6 (vgl. Abb. 134).
Das Potentiometer hat drei Beinchen: rechts (5 V), mitte (A0), links (GND) (vgl. Abb. 14).
Tipp 2
Am Analogeingang A0 ist ein 10-Bit Analog-Digital-Wandler verbaut. 0 V wird zum Digitalwert 0 und 5 V zum Digitalwert 1023 ().
0..1023 wird über die Division durch 4 ungefähr zum Wertebereich 0..255 für die PWM.