Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

Sie befinden sich in: Unterrichtsangebote Fächer Fachbereich III Informatik Arduino Bauteile und Sensoren Leuchtdiode-dreifarbig RGB

Leuchtdiode-dreifarbig RGB


Aussehen
rgb.jpg

rgb.jpg

oberes Bild: RGB Quelle: www.ebay.de

unteres Bild: RGB von oben und unten Quelle:www.arduino.alhin.de

 

Eine RGB(rot,grün,blau) ist eine Lichtquelle, die 3 LED's zusammenfasst und somit es ermöglicht Farben zu mischen.

 

Funktionsweise und Anschlussmöglichkeit


Das Gerät besteht aus einem Groundanschluss und 3 Anschlüsse mit bereits eingebauten Vorwiderständen.  Durch die einzelnen Anschlüsse(rot,gruen,blau) kann man nun steuern welche Farbe die RGB ausgeben soll. Hierfür kann man beispielsweise die rote -und blaue Led anschalten. Dabei erhält man violett. Somit lassen sich sich alle Farben(abgesehen von Farben die unterschiedliche starke Grundfarben benötigen) herstellen.
Einbindung in (Arduino)Programm

Aufbau des Schaltkreises mit RGB


Jeder einzelne Stecker der RGB (3 Stecker unten) werden mit einem kabel an einen beliebigen Anschluss angeschlossen (Bspw. Pin13, Pin12, Pin11). Außerdem muss natürlich eine Verbindung mit einem Minus-und Pluspol gewährleistet werden (Bspw. 5V, Ground) Dafür muss auch eine Verbindung zum Groundstecker vorhanden sein. Letztendlich ist auch zu beachten, dass Vorwiderstände manchmal eingebaut werden müssen. Im Fall dieser RGB sind Vorwiderstände allerdings schon bei jeder einzelnen LED eingebaut.

Einbindung in Programm

Letztendlich ist auch die Einbindung ins Programm bei der RGB genau wie bei der Led. Deswegen werden je nach Belieben verschiedene einzelne Led's der RGB aktiviert und somit gegebenfalls vermischt.

In diesem Beispiel werden mit einer RGB die Grundfarben durchgeschaltet und abschließend ein violettes "Signal" gegeben.

int rot = 13;
int blau = 12;
int gruen =11;
int ledState = 0;
int previousMillis = 0;
int Millis = 0;

void setup() {                
  pinMode(rot, OUTPUT);
  pinMode(blau, OUTPUT);
  pinMode(gruen, OUTPUT);
 
}

void loop() {
  if (millis() - previousMillis < 5000){
    digitalWrite(rot, HIGH)
  }
  else{
    if (millis() - previousMillis < 6000){
      digitalWrite(blau, HIGH)
      digitalWrite(rot, LOW)
    }
    else{
      if (millis() - previousMillis < 11000){
        digitalWrite(blau, LOW)
        digitalWrite(gruen, HIGH)
      }
      else{
        if (millis() - previousMillis < 13000){
          digitalWrite(gruen,LOW)
        }
        else{
          digitalWrite(rot, HIGH)
          digitalWrite(blau, HIGH)

         previousMillis = Millis
        }
 
      }
    }
}
}

Erstellt: Julian Sterf (30.12.2013) Letzte Änderung: Andreas Hecker (27.03.2014)