Z-Lab/Arduino_Grundlagen/03_Externe_LED/readme.md

2.3 KiB

Z-Lab Arduino-Grundkurs Projekt 3: Externe LED und mehrere LEDs

In diesem Projekt lassen wir eine LED blinken.

Zuerst öffnen wir das Projekt über den gewohnten Weg. Der Name ist "03_Externe_LED"

Projekt öffnen

Wenn du dieses Projekt öffnest wunderst du dich bestimmt. Das sieht ja genau so aus wie beim letzten Mal.

Genau! Um mehrere LEDs und auch externe LEDs anzusteuern reicht unser C-Wissen aus den letzten beiden Projekten völlig aus. Wir müssen nur das gelernte neu kombinieren und schon können wir externe LEDs und auch mehrere LEDs anschließen und unterschiedlich blinken lassen.

Teileliste

Für dieses Projekt brauchst du:

  • 2 oder mehr (kommt drauf an, was du vor hast) LEDs mit 20ma Leistungsaufnahme
  • 2 oder mehr 220ohm -1kohm-Widerstände

Wenn wir wollen können wir also auch eine externe LED anschließen...

Das Ganze verkabeln wir mit dem Arduino so:

Also:

  • Die LED kommt in ein Breadboard
  • an die längere Seite der LED schließen wir den Widerstand an
  • das andere Ende des Widerstands verbinden wir mit dem Ausgang 12 des Arduino
  • Wie müssen wir den Code anpassen?
hier klicken für (zwei mögliche) Lösungen

Lösung mit "hart-Kodierter" Nummer

  void setup() {
      pinMode(12, OUTPUT);
  }

  void loop() {
      digitalWrite(12, HIGH);
      delay(1000);
      digitalWrite(12, LOW);
      delay(1000);
  }

Lösung mit #define

  #define LED1 12

  void setup() {
      pinMode(LED1, OUTPUT);
  }

  void loop() {
      digitalWrite(LED1, HIGH);
      delay(1000);
      digitalWrite(LED1, LOW);
      delay(1000);
  }

Und wie könnte es weiter gehen?

  • Was müssten wir denn tun, wenn wir beide LEDs (die interne und die externe) abwechselnd blinken lassen wollten?
  • Und wir müssten wir vorgehen, wenn wir 3 LEDs nacheinander blinken lassen wollen?
  • Welche Ideen habt ihr noch (Zeit im Auge behalten)
Hier klicken für Lösungsvorschläge - aber bitte erst selbst probieren!
Ja wirklich. Bitte erst selbst probieren. Nicht gleich nach der Lösung schauen.

Lösung mit #define


TODO: hier Lösungsvorschläge