Grundlagen

Der Einstieg ins Mikrocontrolling
Entwickle deinen eigenen Coce (textuelle Programmierung)

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.

LEDs LEDs LEDs programmieren

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 ;

pinMode

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“.

digitalWrite

Mit dem Befehl digitalWrite schalten wir den Strom ein oder aus. Der digitalWrite-Befehl steht meist in der loop-Funktion und wird immer wieder ausgeführt, beispielsweise um eine LED blinken zu lassen.

Programmieren

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!

Grundlagen der Informatik Informatik Informatik

In unseren Programmen unterscheiden wir zwischen 3 Elementen: Funktionen, Befehlen und Kommentaren.
Tipp: Klicke den Code an, um die Bilder zu vergrößern.

Funktionen

Funktionen erkennst du an dem void und den geschweiften Klammern. Alle Befehle stehen im Anweisungsblock.

Befehle

Befehle erkennst du an dem Semikolon ; Alle Befehle müssen zwischen die geschweiften Klammern der Funktionen

Kommentare

Kommentare sind für den Menschen, um beispielsweise Codeabschnitte zu erklären oder sich Notizen zu machen.

Aufgabe 2: Zuordnung

Kannst du alle Begriffe zuordnen? Ziehe die Begriffe auf die (richtigen) Pfeile.

Programmierumgebung Programmierumgebung Programmierumgebung

Schreibe deine eigenen Programme, schließe Bauteile an baue deine eigenen Hardware-Projekte. Wo/Wie möchtest du den Arduino programmieren?

Mit Hardware

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.

Ohne Hardware

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.

Die onBoard-LED

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);
}
				
			

Die blinkende LED

Aufgabe 4: Lass die onBoard-LED blinken

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.

Der delay-Befehl

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);
}
				
			

Leuchtdioden Leuchtdioden Leuchtdioden

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.

Schaltungen Schaltungen Schaltungen aufbauen

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!

Widerstände

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.

Jumper-Kabel

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.

Breadboard

In der Steckplatine (eng. breadboard) sind sogenannte Federkontakte, in die die Bauteile gesteckt werden.

Externe Externe Externe Bauelemente

Aufgabe 5: Bau die Schaltung auf

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.

LEDs

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!

Breadboard

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.

Syntax mehrere LEDs mehrere LEDs mehrere LEDs

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).

Ein Befehl für jedes Bauteil

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
}
				
			

Aufgabe 6: Wechselblinker

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
}
				
			

Hardware-Projekte Hardware-Projekte Hardware-Projekte

Blaulicht

Beschreibung

4 LEDs werden so Programmiert, dass ein Blaulicht simuliert wird. Wie lange kann/muss die Pause zwischen den aufblitzenden Lichtern sein?

Lauflicht

Beschreibung

Bis zu 10 LEDs, in Reihe geschaltet und so programmiert, dass das Licht von einer zur nächsten springt: Ein perfektes Projekt für Einsteiger!

Die zeitgesteuerte Ampel

Beschreibung

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.

Erweiterungen zum Projekt (aus späteren Kursen):
Wissenswert:

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 große Arduino Kursreihe Kursreihe Kursreihe

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)

Newsletter
Mit dem Newsletter keinen Kurs verpassen und exklusive Rabatte sichern: