LED-Modul welche eine rote, blaue und grüne LED beinhaltet. Diese sind mittels gemeinsamer Kathode miteinander verbunden.

Technische Daten

Vf [Rot] 1,8V
Vf [Grün, Blau] 2,8V
If 20mA

Die Bezeichnungen (Vf und If) beziehen sich auf die Forward-Voltage und die Forward-Current der Leuchtdiode.

Vorwiderstände:

Je nach Eingangsspannung, werden Vorwiderstände benötigt.

Die Bezeichnung (Rf) bezieht sich hier auf den benötigten Vorwiederstand vor der Leuchtdiode basierend auf der anliegenden Spannung.

Rf (3,3V) [Rot] 180Ω
Rf (3,3V) [Grün] 100Ω
Rf (3,3V) [Blau] 100Ω

[z.B. beim Einsatz mit ARM CPU-Kern basierten Mikrokontrollern wie Raspberry-Pi]

Rf (5V) [Rot] 180Ω
Rf (5V) [Grün] 100Ω
Rf (5V) [Blau] 100Ω

[z.B. beim Einsatz mit Atmel Atmega basierten Mikrokontrollern wie Arduino]

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino

Arduino Sensor
Pin 10 LED Rot
Pin 11 LED Grün
Pin 12 LED Blau
Masse GND

Codebeispiel ON/OFF

Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in 3 Sekunden Takt, gewechselt werden können.

int Led_Rot = 10;
int Led_Gruen = 11;
int Led_Blau = 12;
  
void setup ()
{
  // Initialisierung Ausgangspins für die LEDs
  pinMode (Led_Rot, OUTPUT); 
  pinMode (Led_Gruen, OUTPUT);
  pinMode (Led_Blau, OUTPUT); 
}
  
void loop () //Hauptprogrammschleife
{
  digitalWrite (Led_Rot, HIGH); // LED wird eingeschaltet
  digitalWrite (Led_Gruen, LOW); // LED wird eingeschaltet
  digitalWrite (Led_Blau, LOW); // LED wird eingeschaltet
  delay (3000); // Wartemodus für 3 Sekunden
  
  digitalWrite (Led_Rot, LOW); // LED wird eingeschaltet
  digitalWrite (Led_Gruen, HIGH); // LED wird eingeschaltet
  digitalWrite (Led_Blau, LOW); // LED wird eingeschaltet
  delay (3000); // Wartemodus für weitere drei Sekunden in denen die LEDs dann umgeschaltet werden
   
  digitalWrite (Led_Rot, LOW); // LED wird eingeschaltet
  digitalWrite (Led_Gruen, LOW); // LED wird eingeschaltet
  digitalWrite (Led_Blau, HIGH); // LED wird eingeschaltet
  delay (3000); // Wartemodus für weitere drei Sekunden in denen die LEDs dann umgeschaltet werden
}

Beispielprogramm ON/OFF Download:

KY016-Arduino-ON-OFF.zip

Codebeispiel PWM

Mittels Puls-Weiten-Modulation [PWM] lässt sich die Helligkeit einer LED regulieren - dabei wird die LED in bestimmten Zeitintervallen ein und ausgeschaltet, wobei das Verhältnis der Einschalt- und Ausschaltzeit einer relativen Helligkeit entspricht - aufgrund der Trägheit des menschlichen Sehvermögens, interpretieren die menschlichen Augen ein solches Ein-/Ausschaltverhalten als Helligkeitsänderung. Nähere Informationen zu diesem Thema finden Sie in diesem Artikel von mikrokontroller.net.

In diesem Modul sind mehrere LEDs integriert - durch die Überlagerung von unterschiedlichen Helligkeitsstufen lassen sich somit verschiedene Farben kreieren. Dieses wird im folgenden Codebeispiel gezeigt.

int Led_Rot = 10;
int Led_Gruen = 11;
int Led_Blau = 12;
 
int val;
 
void setup () {
  // Initialisierung Ausgangspins für die LEDs
  pinMode (Led_Rot, OUTPUT); 
  pinMode (Led_Gruen, OUTPUT); 
  pinMode (Led_Blau, OUTPUT); 
}
void loop () {
   // Innerhalb einer For-Schleife werden den drei LEDs verschiedene PWM-Werte uebergeben
   // Dadurch entsteht ein Farbverlauf, in dem sich durch das Vermischen unterschiedlicher 
   // Helligkeitstufen der beiden integrierten LEDs, unterschiedliche Farben entstehen
   for (val = 255; val> 0; val--)
      {
       analogWrite (Led_Blau, val);
       analogWrite (Led_Gruen, 255-val);
       analogWrite (Led_Rot, 128-val);
       delay (1);
   }
   // In der zweiten For-Schleife wird der Farbverlauf rückwärts durchgegangen
   for (val = 0; val <255; val++)
      {
      analogWrite (Led_Blau, val);
      analogWrite (Led_Gruen, 255-val);
      analogWrite (Led_Rot, 128-val);
      delay (1);
   }
}

Beispielprogramm Download

KY016-Arduino-PWM.zip

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

Raspberry Pi Sensor
GPIO 25 [Pin 22] LED Rot
GPIO 24 [Pin 18] LED Grün
GPIO 23 [Pin 16] LED Blau
Masse [Pin 20] GND

Codebeispiel ON/OFF

Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in 3 Sekunden Takt, gewechselt werden können.

# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
   
GPIO.setmode(GPIO.BCM)
   
# Hier werden die Ausgangs-Pin deklariert, an dem die LEDs angeschlossen sind.
LED_ROT = 25
LED_GRUEN = 24
LED_BLAU = 23
 
GPIO.setup(LED_ROT, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_GRUEN, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_BLAU, GPIO.OUT, initial= GPIO.LOW)
   
print("LED-Test [druecken Sie STRG+C, um den Test zu beenden]")
  
# Hauptprogrammschleife
try:
    while True:
        print("LED ROT 3 Sekunden an")
        GPIO.output(LED_ROT,GPIO.HIGH) #LED wird eingeschaltet
        GPIO.output(LED_GRUEN,GPIO.LOW) #LED wird eingeschaltet
        GPIO.output(LED_BLAU,GPIO.LOW) #LED wird eingeschaltet
        time.sleep(3) # Wartemodus fuer 4 Sekunden
        print("LED GRUEN 3 Sekunden an") 
        GPIO.output(LED_ROT,GPIO.LOW) #LED wird eingeschaltet
        GPIO.output(LED_GRUEN,GPIO.HIGH) #LED wird eingeschaltet
        GPIO.output(LED_BLAU,GPIO.LOW) #LED wird eingeschaltet
        time.sleep(3) #Wartemodus fuer 3 Sekunden
        print("LED BLAU 3 Sekunden an") 
        GPIO.output(LED_ROT,GPIO.LOW) #LED wird eingeschaltet
        GPIO.output(LED_GRUEN,GPIO.LOW) #LED wird eingeschaltet
        GPIO.output(LED_BLAU,GPIO.HIGH) #LED wird eingeschaltet
        time.sleep(3) #Wartemodus fuer 3 Sekunden
   
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Beispielprogramm ON/OFF Download

KY016-RPi-ON-OFF.zip

Zu starten mit dem Befehl:

sudo python KY016-RPi.py

Codebeispiel PWM

Mittels Puls-Weiten-Modulation [PWM] lässt sich die Helligkeit einer LED regulieren - dabei wird die LED in bestimmten Zeitintervallen ein und ausgeschaltet, wobei das Verhältnis der Einschalt- und Ausschaltzeit einer relativen Helligkeit entspricht - aufgrund der Trägheit des menschlichen Sehvermögens, interpretieren die menschlichen Augen ein solches Ein-/Ausschaltverhalten als Helligkeitsänderung. Nähere Informationen zu diesem Thema finden Sie in diesem Artikel von mikrokontroller.net.

In diesem Modul sind mehrere LEDs integriert - durch die Überlagerung von unterschiedlichen Helligkeitsstufen lassen sich somit verschiedene Farben kreieren. Dieses wird im folgenden Codebeispiel gezeigt. Im Raspberry Pi ist nur ein Hardware-PWM Channel uneingeschränkt auf die GPIO-Pins hinausgeführt, weswegen im vorliegenden Beispiel auf Software-PWM zurückgegriffen wird.

# Benoetigte Module werden importiert und eingerichtet
import random, time 
import RPi.GPIO as GPIO
   
GPIO.setmode(GPIO.BCM) 
  
# Hier werden die Ausgangs-Pin deklariert, an dem die LEDs angeschlossen sind.
LED_Rot = 25
LED_Gruen = 24
LED_Blau = 23
   
# Set pins to output mode
GPIO.setup(LED_Rot, GPIO.OUT) 
GPIO.setup(LED_Gruen, GPIO.OUT)
GPIO.setup(LED_Blau, GPIO.OUT)
   
Freq = 100 #Hz
   
# Die jeweiligen Farben werden initialisiert.
ROT = GPIO.PWM(LED_Rot, Freq) 
GRUEN = GPIO.PWM(LED_Gruen, Freq)
BLAU = GPIO.PWM(LED_Blau, Freq)
ROT.start(0)  
GRUEN.start(0)
BLAU.start(0)
   
# Diese Funktion generiert die eigentliche Farbe
# Mittels der jeweiligen Farbvariable, kann die Farbintensitaet geaendert werden
# Nachdem die Farbe eingestellt wurde, wird mittels "time.sleep" die Zeit definiert,
# wie lang die besagte Farbe angezeigt werden soll
  
def LED_Farbe(Rot, Gruen,Blau, pause):
    ROT.ChangeDutyCycle(Rot)
    GRUEN.ChangeDutyCycle(Gruen)
    BLAU.ChangeDutyCycle(Blau)
    time.sleep(pause)
  
    ROT.ChangeDutyCycle(0)
    GRUEN.ChangeDutyCycle(0)
    
print ("LED-Test [druecken Sie STRG+C, um den Test zu beenden]")
   
# Hauptprogrammschleife:
# Diese hat die Aufgabe fuer jede einzelne Farbe eine eigene Variable zu erstellen
# und mittels einer For-Schleife die Farbintensitaet jeder einzelnen Farbe von 0-100% zu druchlaufen
# Durch die Mischungen der verschiedenen Helligkeitsstufen der jeweiligen Farben
# entsteht somit ein Farbverlauf
try:
    while True:
        for x in range(0,2):
            for y in range(0,2):
                for z in range(0,2):
                    print (x,y,z)
                    for i in range(0,101):
                        LED_Farbe((x*i),(y*i),(z*i),.02)
   
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Beispielprogramm Download

KY016-RPi-PWM.zip

Zu starten mit dem Befehl:

sudo python3 KY016-PWM.py

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

Micro:Bit Sensor
Pin 0 LED Rot
Pin 1 LED Grün
Pin 2 LED Blau
Masse GND

Hierbei handelt es sich um ein MakeCode Beispiel für Micro:Bit welches essenziel das gleiche macht wie die Beispiele der anderen beiden Varianten. Jedoch ist dieses Beispiel eher näher an das Beispiel des Raspberry Pi angelehnt als an das Beispiel des Arduino.

Dieses Beispiel schaltet die LEDs an je nachdem welcher knopf gedrückt wird.

Beispielprogramm Download

microbit-KY-016.zip