Beginne deine Reise in die Welt des Mikrocontrollings mit unserem Starterkurs! In vielen praktischen Übungen lernst du die wichtigsten Bauteile kennen, baust eigene Schaltungen auf und programmierst alles selbst.
Um eine LED zu programmieren, brauchen wir 2 Befehle: Wo (an welchem Pin) ist die Hardware angeschlossen und wie ist der Zustand am Pin (HIGH/LOW)? Achte dabei auf die Schreibweise und das Semikolon ;
Mit dem Befehl „pinMode“ teilen wir dem Mikrocontroller mit, welche Bauteile wir angeschlossen haben: Dieses Mal dreht sich alles um LEDs, sie brauchen Strom (zum Leuchten) und bekommen deshalb das Argument „OUTPUT“.
USB-Port
Wird dein Arduino nicht erkannt, fehlt oft der richtige USB- Treiber: CH340
Digitaler Pin 13
Der Pin ist mit der onBoard-LED verbunden: Wenn du diesen Pin programmierst, programmierst du automatisch die onBoard-LED mit und kannst so überprüfen, ob du externe Bauelemente richtig angeschlossen hast.
onBoard-LED
Die onBoard-LED ist mit "L" gekennzeichnet und wird über Pin 13 programmiert.
GND
Auf dem Arduino befinden sich mehrere (hier 3) GND-Anschlüsse. Welchen GND-Pin du verwendest, spielt keine Rolle!
In unseren Programmen unterscheiden wir zwischen 3 Elementen: Funktionen, Befehlen und Kommentaren.
Tipp: Klicke den Code an, um die Bilder zu vergrößern.
Kannst du alle Begriffe zuordnen? Ziehe die Begriffe auf die (richtigen) Pfeile.
Schreibe deine eigenen Programme, schließe Bauteile an baue deine eigenen Hardware-Projekte. Wo/Wie möchtest du den Arduino programmieren?
In einem Starter-Set findest du viele Bauteile, mit denen du eigene Schaltungen aufbauen und programmieren kannst: Jumperkabel und Breadboard zum Anschließen ohne Löten, Widerstände, LEDs, Taster und mehr.
In TinkerCAD (einem Simulationstool) kannst du die Hardware virtuell bewegen und programmieren. Vor allem am Anfang ist das eine gute Alternative – du brauchst keine Hardware und kannst sofort starten.
Hinweis: Bevor du weitermachst, musst du deine Programmierumgebung (siehe oben) vorbereiten.
Programmiere doe onBoard-LED über Pin 13
Die LED ist fest auf dem Mikrocontroller verlötet (angebracht), du erkennst sie an dem Buchstaben „L“. Sie ist bei fast allen Boards (Arduinos) mit dem Pin 13 verbunden und wird genau so programmiert, wie die „externen Bauteile“ (LEDs), die wir später anschließen.
Die onBoard-LED hat auch einen eigenen Befehl/Pin: LED_BUILTIN
digitalWrite(LED_BUILTIN, HIGH);
Wenn du einen neuen Arduino anschließt (egal ob mit der echten Hardware oder im Simulationstool), ist schon ein kleines Programm darauf, dass die onBoard-LED mit dem Befehl von oben blinken lässt.
Wir verwenden stattdessen: Den digitalen Pin 13
digitalWrite(13, HIGH);
Wir gehen direkt einen Schritt weiter: Wir programmieren die LED direkt mit dem Pin 13. Danach können wir direkt (zusätzliche) externe Bauteile anschließen und sie genau so programmieren, wie wir es jetzt lernen.
Aufgabe 3: Leuchten
Der Code unten lässt die onBoard-LED (dauerhaft) leuchten. Probier’s aus.
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
}
Erweitere deinen Code so, dass die onBoard-LED blinkt (lange an, kurz aus). Nutze dafür den delay-Befehl.
Tipp: Du kannst die Bilder (unten) anklicken, um sie zu vergrößern.
Manchmal müssen wir „warten“, weil unser Mikrocontroller die Zustände zu schnell ändert
Mit dem Befehl digitalWrite machst du die LED an oder aus
// LED einschalten
digitalWrite(13, HIGH);
// LED ausschalten
digitalWrite(13, HIGH);
Mit dem Befehl delay wartest du, so dass du siehst, dass die LED an oder aus ist
//warten (hier 1 Sekunde)
delay(1000);
Wir schreiben alle Befehle in die loop-Funktion: Nach dem letzten Befehl geht’s also von oben wieder los (loop = Schleife)
void loop(){
...
...
...
...
}
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(500);
}
Wir unterscheiden zwischen 2 Arten von Widerständen: Kohleschicht (braun mit 4 Ringen) und Metallschicht (blau mit 5 Ringen). Welche Art von Widerstand wir verwenden, ist egal. Die Werte (Größe der Widerstände) können wir mithilfe der farbigen Ringe unterscheiden. Der letzte Ring beschreibt dabei die Toleranz und kann vernachlässigt werden.
Es gibt tausende Bauteile, die man anschließen und programmieren kann. Alle diese Bauteile haben eins gemeinsam: Du musst sie erst mit dem Arduino verbinden!
Die Widerstände schützen nicht nur die Bauteile, sondern auch deinen Mikrocontroller vor zu hohen Strömen. In deinem Set hast du Widerstände mit unterschiedlichen Werten: 100Ω, 220Ω und 10kΩ.
Es sind immer mehrere Widerstände mit einem Papierstreifen zusammen.
Um eine elektrisch leitende Verbindung herzustellen, gibt es mehrere Möglichkeiten: Wir nutzen Jumper-Kabel und ein Breadboard, um unsere Bauteile mit dem Mikrocontroller zu verbinden.
Wir unterscheiden zwischen 2 Anschlusstypen: SMA-Stecker & Buchse
Das Ende mit dem SMA-Stecker wird als männlich bezeichnet.
Das Ende mit der Buchse wird als weiblich bezeichnet.
Da jedes Kabel 2 Enden und damit 2 Anschlüsse besitzt, können sie in M-M, M-W, W-W unterteilt werden. Die Anschlüsse sind genormt und besitzen ein Durchmesser (Raster) von 2,54mm.
Wichtig: Die Farbe spielt keine Rolle!
Im Inneren der Jumper-Kabel befindet sich ein Kupferdraht. Während der Strom durch den Draht im Inneren fließt, soll die bunte Schicht außen das Kabel lediglich isolieren.
In Aufgabe 3 und 4 (blinken & leuchten) hast du die onBoard-LED mit Pin 13 programmiert. Schließt du an diesen Pin jetzt eine (externe) LED an, macht sie genau dasselbe, was die onBoard-LED macht.
Leuchtdioden (kurz LEDs) sind polarisiert, es ist wichtig, wie du sie anschließt:
Kurzes Bein an GND
Langes Bein an Pin 13
Zum Vergleich: Ein Widerstand ist nicht polarisiert. Du kannst ihn auch herumdrehen (andersherum anschließen) und er funktioniert trotzdem. Wenn du die LED falsch herum anschließt, leuchtet sie hingegen nicht!
Achte beim Steckbrett auf die grünen Punkte im Bild. Ein oft gemachter Fehler ist, dass die Kabel in die falsche Reihe gesteckt werden! Klicke das Bild an, um es zu vergrößern.
Mithilfe der Seitenleiste des Breadboards können wir jetzt auch problemlos mehrere LEDs anschließen. Wichtig ist, dass der Aufbau zum Code passt: Jedes Bauteil muss im Code einzeln angesteuert werden (braucht einen eigenen Befehl).
Beim Arduino kannst (und musst) du jeden Pin einzeln steuern: Im Beispiel sind 2 LEDs an die Pins 12 und 13 angeschlossen, die beide gleichzeitig leuchten.
void setup(){
pinMode(13, OUTPUT); // Pin 13 konfigurieren
pinMode(12, OUTPUT); // Pin 12 konfigurieren
}
void loop(){
digitalWrite(13, HIGH); // LED an Pin 13 an
digitalWrite(12, HIGH); // LED an Pin 12 an
}
Baue eine Schaltung mit 2 LEDs auf und erweitere den Code so, dass die LEDs abwechselnd blinken.
void setup(){
pinMode(13, OUTPUT); // Pin 13 konfigurieren
pinMode(12, OUTPUT); // Pin 12 konfigurieren
}
void loop(){
digitalWrite(13, HIGH); // LED an Pin 13 an
digitalWrite(12, LOW); // LED an Pin 12 aus
delay(500); // Warten
digitalWrite(13, LOW); // LED an Pin 13 aus
digitalWrite(12, HIGH); // LED an Pin 12 an
delay(500); // Warten
}
Ein einfaches Starter-Projekt: Bauer mit 3 LEDs eine Ampel und programmiere die Schaltung so, dass die Ampelphasen (ROT – ROT/GELB – GELB – GRÜN – GELB – ROT) nacheinander angezeigt werden.
Du kannst deinen Arduino wahlweise mit Text (textuelle Programmierung) oder mit Codeblöcken (grafische Programmierung) ansteuern:
Wir haben das Projekt in TinkerCAD für euch aufgebaut und hier (im Video) mit Text programmiert. Der Code ist so einfach wie möglich aufgebaut, passend zum Grundlagenmodul (Kurspaket Arduino Starter).
Wir haben das Projekt in TinkerCAD für euch aufgebaut und hier (im Video) mit Codeblöcken programmiert. Der Code ist so einfach wie möglich aufgebaut, passend zum Grundlagenmodul (Kurspaket Arduino Starter for Kids).
Die Kursreihe begleitet dich durch die spannende Welt des Mikrocontrollings. Jedes Kurspaket behandelt einen anderen Schwerpunkt, dauert 1 Monat und besteht aus mehreren Live-Kursen (3x 1,5h) sowie zusätzlichen Hardware-Projekten aus dem Projekt-Space. Die nächsten Projekte warten schon auf dich!
Zum Projekt-Spaße (die Projekte der Kurspakete)
Zur Kursreihe (die Themen der Kurspakete)