• 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 (5 V) [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:

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

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 (5 V) [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 20] 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.

# 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

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 (5 V) [Blau] 100 Ω

Pin-Belegung

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

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

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

Beispielprogramm Download

microbit-KY-016.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 (5 V) [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:

KY016-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. Dieses 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 Download

KY016-Pico-PWM.zip