Zum Hauptinhalt springen

Aufgabe: LEDs steuern

Dein Shuttle hat mehrere LEDs:

  • Eine Beacon-LED
  • Zwei Navigationslichter (port = links, starboard = rechts)
  • Eine Arduino LED (auf dem Arduino selbst)

In dieser Aufgabe lernst du, wie man LEDs ein- und ausschaltet – und was Begriffe wie pinMode, digitalWrite und analogWrite bedeuten.


🛠️ Ziel

  1. Schalte die Beacon-LED ein und aus.
  2. Schalte die Navigationslichter dauerhaft ein.

🧠 Grundlagen: Wie steuert man eine LED?

Damit eine LED funktioniert, musst du dem Mikrocontroller sagen:

  1. Was für ein Anschluss es ist: Eingang oder Ausgang? → pinMode(PIN, INPUT/OUTPUT)
  2. Was an diesem Pin passieren soll: Strom an oder aus? → digitalWrite(PIN, HIGH/LOW)
  3. Wie stark der Strom sein soll (optional): Helligkeit regeln → analogWrite(PIN, VALUE)

🔌 pinMode(pin, mode)

Damit sagst du: „Hey Arduino, dieser Pin ist ein Ausgang, ich will da Strom rausschicken!“

Beispiel:

pinMode(3, OUTPUT);

→ Pin 3 ist jetzt ein Ausgang, z.B. für eine LED.


💡 digitalWrite(pin, value)

Damit machst du den Pin an oder aus.

Beispiel:

digitalWrite(3, HIGH);  // LED an
digitalWrite(3, LOW); // LED aus

🌗 analogWrite(pin, value)

Hier kannst du die Helligkeit regeln. value ist eine Zahl zwischen 0 und 255:

  • 0 = ganz aus
  • 255 = volle Helligkeit
  • 127 = halb hell

Beispiel:

analogWrite(5, 200); // ziemlich hell

🧪 Aufgabe: LEDs ein- und ausschalten

Zwar können wir immer direkt die Nummer des Pins hinschreiben, jedoch macht das die Entwicklung viel schwieriger. Deshalb vergeben wir echte Namen dafür, dies nennen wir eine Konstante.

Eine Konstante wird durch const erzeugt. Danach folgt der Typ, wir wollen eine Ganzzahl speichern, im Computer heißt das "integer" und wird hier als int angezeigt. Dann folgt noch der Name und die Zuweisung des Wertes.

1. Pin-Nummern festlegen

const int beaconLedPin = 3;
const int portLedPin = 5;
const int starboardLedPin = 6;

Hier haben wir jetzt also dem Pin #3 den Namen "beaconLedPin" gegeben, Pin #5 hört auf portLedPin und Pin 6 auf starboardLedPin. Port und Starboard sind englisch für Backbord und Steuerbord.


2. Pins als Ausgänge festlegen

Schreib das in die setup()-Funktion:

void setup() {
pinMode(beaconLedPin, OUTPUT);
pinMode(portLedPin, OUTPUT);
pinMode(starboardLedPin, OUTPUT);
}

3. LEDs einschalten

Schalte sie in der loop() ein:

void loop() {
digitalWrite(beaconLedPin, HIGH); // Beacon-LED an
analogWrite(portLedPin, 255); // Navigation links an
analogWrite(starboardLedPin, 255); // Navigation rechts an
}

✅ Checkliste

  • Du hast alle Pins richtig benannt
  • Alle Pins sind als OUTPUT gesetzt
  • Die LEDs leuchten dauerhaft
  • Du verwendest digitalWrite und analogWrite richtig

🧠 Bonus

  • Probiere aus: LOW statt HIGH → was passiert?
  • Setze analogWrite(portLedPin, 50) – wie verändert sich die Helligkeit?
  • Versuche innerhalb der loop()-Funktion beaconLedPin auf 10 zu setzen - was passiert?