» » X1 – 04.0 RGB LED

X1 – 04.0 RGB LED

eingetragen in: X1 | 0

 

RGBLED

In dieser Lektion werden wir die RGB-LED programmieren. Mit einer RGB-LED kann man Theoretisch alle Farben mischen, wir werden für den X1 jedoch nur die einzelnen LEDs ein und aus schalten. also haben wir 3 Farben und 3 Mischfarben. Dieser Lernkurs ist auch eine super Wiederholung für die LED und wie wir digitale Pins beschreiben.

Viceo-Beispiel:

 

Code-Beispiel:

void ledTest(){
//alle Farben nacheinander Ein/Aus
digitalWrite(frontRLedPin, HIGH);
delay(300);
digitalWrite(frontRLedPin, LOW);
delay(300);

digitalWrite(frontGLedPin, HIGH);
delay(300);
digitalWrite(frontGLedPin, LOW);
delay(300);

digitalWrite(frontBLedPin, HIGH);
delay(300);
digitalWrite(frontBLedPin, LOW);
delay(300);

digitalWrite(systemLedPin, HIGH);
delay(300);
digitalWrite(systemLedPin, LOW);
delay(300);
}

 

 

 

#define frontRLedPin 0
#define frontGLedPin 1
#define frontBLedPin 2

 

 

 

 
 
 

Step 1

Zuerst definieren wir die Pins an denen die LED angeschlossen ist. Für jede der 3 Farben RGB (Rot, Grün, Blau) brauchen wir einen Pin des Arduino. Wie schon für die Servos machen wir das über den #define Befehl. Achte darauf sie vor dem Servo zu definieren. Das machen wir damit wir die Pins in der richtigen Reihenfolge von 0-13 haben.

 

 

 

void setup() {
   pinMode(frontRLedPin, OUTPUT);
   pinMode(frontGLedPin, OUTPUT);
   pinMode(frontBLedPin, OUTPUT);
}

 

 

 

 
 
 

Step 2

Im void setup() müssen wir nun mit den pinMode Befehl die 3 RGB-LED Pins als Ausgänge definieren. Hier kannst du anstatt OUTPUT auch 1 benutzen. Probier es einfach einmal aus. Für bessere Übersichtlichkeit werden wir jedoch alles mit OUTPUT und INPUT beschreiben.

 

 

 

void ledTest(){
   digitalWrite(frontRLedPin, HIGH);
   delay(300);
   digitalWrite(frontRLedPin, LOW);
   delay(300);

  ...
}

 

 

 

 
 
 

Step 3

Nun erstellen wir wieder eine Funktion mit void ledTest(). In die geschweiften Klammern kommt jetzt wieder der Code um die LEDs ein und aus zu schalten. digitalWrite() schickt 5V auf den LED Pin. Das delay lässt die LED 300ms an. Danach Schalten wir die LED wieder aus. Darauf schreiben wir wieder ein delay damit die nächste LED nicht sofort an geht. Jetzt wiederholen wir das ganze für alle anderen LEDs.

 

 

 

void loop() {
   ledTest();
}

 

 

 

 
 
 

Step 4

Jetzt können wir im void loop(), falls noch vorhanden die laufVor Funktion entfernen und die ledTest() Funktion einfügen. Hier zeigt sich der Vorteil von Funktionen da wir keinen Code auskommentieren oder gar löschen müssen. Wenn wir jetzt möchten, dass unser X1 diesen ledTest nur einmal beim Start macht können wir die Funktion auch an das Ende von void setup() schreiben. Probiere einfach ein wenig herum.

 

Fazit

Wir haben in dieser Lektionen unsere RGBLED und systemLED getestet. Außerdem haben wir einen großen Vorteil von Funktionen kennengelernt. In der nächsten Lektionen werden wir einen ganz neuen Möglichkeit lernen wie wir mit dem Arduino kommunizieren können, oder besser der Arduino mit uns.
 
 
 

 

Bitte hinterlasse eine Antwort