• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

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

Technische Daten

Durchlassspannung [Rot] 1,8 V
Durchlassspannung [Grün, Blau] 2,8 V
Durchlassstrom 20 mA

Vorwiderstände:

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

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

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino:

Arduino Sensor
Pin 10 LED ROT
Pin 11 LED GRÜN
Pin 12 LED BLAU
GND GND

Codebeispiel ON/OFF

Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, im 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:

KY009-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. Dies 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 PWM Download:

KY009-Arduino-PWM.zip

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

Technische Daten

Durchlassspannung [Rot] 1,8 V
Durchlassspannung [Grün, Blau] 2,8 V
Durchlassstrom 20 mA

Vorwiderstände:

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

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

Pin-Belegung

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
GND [Pin 6] GND

Codebeispiel ON/OFF

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

from gpiozero import LED
import time

# Deklaration der LEDs an ihren entsprechenden GPIO-Pins
led_rot = LED(25)
led_gruen = LED(24)
led_blau = LED(23)

print("LED-Test [drücken Sie STRG+C, um den Test zu beenden]")

# Hauptprogrammschleife
try:
    while True:
        print("LED ROT 3 Sekunden an")
        led_rot.on()
        led_gruen.off()
        led_blau.off()
        time.sleep(3)  # Wartemodus für 3 Sekunden

        print("LED GRUEN 3 Sekunden an")
        led_rot.off()
        led_gruen.on()
        led_blau.off()
        time.sleep(3)  # Wartemodus für 3 Sekunden

        print("LED BLAU 3 Sekunden an")
        led_rot.off()
        led_gruen.off()
        led_blau.on()
        time.sleep(3)  # Wartemodus für 3 Sekunden

# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
    print("Programm beendet durch Benutzer")
    # gpiozero kümmert sich automatisch um die Bereinigung beim Programmende

Beispielprogramm ON/OFF Download

KY009-RPi-ON-OFF.zip

Zu starten mit dem Befehl:

sudo python3 KY009-RPi.py

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.

from gpiozero import PWMLED
import time
import random

# Definition der PWMLEDs für jede Farbe
led_rot = PWMLED(25)
led_gruen = PWMLED(24)
led_blau = PWMLED(23)

# Diese Funktion generiert die eigentliche Farbe
# Mittels der jeweiligen Farbvariable kann die Farbintensität geändert 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):
    led_rot.value = rot
    led_gruen.value = gruen
    led_blau.value = blau
    time.sleep(pause)

    # Zurücksetzen auf Null nach dem Durchlauf
    led_rot.value = 0
    led_gruen.value = 0
    led_blau.value = 0

print("LED-Test [drücken Sie STRG+C, um den Test zu beenden]")

# Hauptprogrammschleife:
# Diese hat die Aufgabe für jede einzelne Farbe eine eigene Variable zu erstellen
# und mittels einer For-Schleife die Farbintensität jeder einzelnen Farbe von 0-100% zu durchlaufen
# 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):
                        # Einstellen der LED Farbe basierend auf dem aktuellen Schleifendurchlauf
                        led_farbe(x * i / 100, y * i / 100, z * i / 100, 0.02)

# Aufräumarbeiten, nachdem das Programm beendet wurde
except KeyboardInterrupt:
    print("Programm beendet durch Benutzer")

Beispielprogramm PWM Download

KY009-RPi-PWM.zip

Zu starten mit dem Befehl:

sudo python3 KY009-PWM.py

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

Technische Daten

Durchlassspannung [Rot] 1,8 V
Durchlassspannung [Grün, Blau] 2,8 V
Durchlassstrom 20 mA

Vorwiderstände:

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

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

Pin-Belegung

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

Micro:Bit Sensor
Pin 1 LED ROT
Pin 2 LED GRÜN
Pin 0 LED BLAU
GND GND

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

Beispielprogramm Download

microbit-KY-009.zip

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

Technische Daten

Durchlassspannung [Rot] 1,8 V
Durchlassspannung [Grün, Blau] 2,8 V
Durchlassstrom 20 mA

Vorwiderstände:

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

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

Pin-Belegung

Codebeispiel Raspberry Pi Pico

Anschlussbelegung Raspberry Pi Pico :

Raspberry Pi Pico Sensor
GPIO27 LED ROT
GPIO28 LED GRÜN
GPIO26 LED BLAU
GND GND

Codebeispiel ON/OFF

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

# Bibliotheken laden
from machine import Pin, PWM
from time import sleep

# Initialisierung von GPIO26, GPIO27 und GPIO28 als Ausgang
Green = Pin(28, Pin.OUT)
Red = Pin(27, Pin.OUT)
Blue = Pin(26, Pin.OUT)

# Funktion: Die einzelnen verfügbaren Farben der LED werden nacheinander ein und ausgeschaltet
def solo():
    Green.value(1)
    Red.value(0)
    Blue.value(0)
    sleep(3)
    Green.value(0)
    Red.value(1)
    Blue.value(0)
    sleep(3)
    Green.value(0)
    Red.value(0)
    Blue.value(1)
    sleep(3)
    Green.value(0)
    Red.value(0)
    Blue.value(0)

# Funktion: Die einzelnen verfügbaren Farben der LED werden nach einander Simultan geschaltet um mischfarben zu erzeugen
def mix():
    Green.value(1)
    Red.value(1)
    Blue.value(0)
    sleep(3)
    Green.value(1)
    Red.value(0)
    Blue.value(1)
    sleep(3)
    Green.value(0)
    Red.value(1)
    Blue.value(1)
    sleep(3)
    Green.value(0)
    Red.value(0)
    Blue.value(0)
    
while True:
    solo()
    sleep(3)
    mix()

Beispielprogramm ON/OFF Download:

KY009-Pico-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. Dies wird im folgenden Codebeispiel gezeigt.

# Bibliotheken laden
import machine
import math

# Initialisierung von GPIO26, GPIO27 und GPIO28 als PWM Pin
ledRed = machine.PWM(machine.Pin(27))
ledRed.freq(1000)
ledBlue = machine.PWM(machine.Pin(26))
ledBlue.freq(1000)
ledGreen = machine.PWM(machine.Pin(28))
ledGreen.freq(1000)

# Definierung einer 3 stelligen Liste
RBG = [0,0,0]

# Funktion: Farbraum berechnung für Rot, Grün und Blau | Grün ist 120° versetzt zu Rot | Blau ist 240° versetzt zu Rot
def sinColour(number):
    a = (math.sin(math.radians(number))+1)*32768
    b = (math.sin(math.radians(number+120))+1)*32768
    c = (math.sin(math.radians(number+240))+1)*32768
    RBG = (int(a),int(b),int(c))
    return RBG

# Endlosschleife wo der Farbwert für alle 3 Farben immer wieder um 0.01 verschoben wird
a = 0
while True:
    RBG = sinColour(a)
    a += 0.01
    if a == 360:
        a = 0
    ledRed.duty_u16(RBG[0])
    ledBlue.duty_u16(RBG[1])
    ledGreen.duty_u16(RBG[2])

Beispielprogramm PWM Download:

KY009-Pico-PWM.zip