KY-011 2-Color 5mm LED
LED module which contains a red and green LED. These are connected to each other by means of a common cathode.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
LED module which contains a red and green LED. These are connected to each other by means of a common cathode.
Technical data
Forward voltage | 2.0 V - 2.5 V |
Forward current | 20 mA |
Series resistors:
Depending on the input voltage, series resistors are required.
Series resistor (3.3 V) [Red] | 120 Ω |
Series resistor (3,3 V) [Green] | 120 Ω |
Series resistor (5 V) [Red] | 220 Ω |
Series resistor (5 V) [Green] | 220 Ω |
Pin assignment
Code example Arduino
Pin assignment Arduino
Arduino | Sensor |
---|---|
Pin 9 | LED GREEN |
Pin 10 | LED RED |
GND | GND |
Code example ON/OFF
This code example shows how the integrated LEDs can be changed alternately, every 3 seconds, by means of a definable output pin.
int Led_Red = 10;
int Led_Green = 9;
void setup ()
{
// Initialize output pins for the LEDs
pinMode (Led_Red, OUTPUT);
pinMode (Led_Green, OUTPUT);
}
void loop () //Main program loop
{
digitalWrite (Led_Red, HIGH); // LED is switched on
digitalWrite (Led_Green, LOW); // LED is switched on
delay (3000); // Wait mode for 3 seconds
digitalWrite (Led_Red, LOW); // LED is switched on
digitalWrite (Led_Green, HIGH); // LED is switched on
delay (3000); // Wait mode for another two seconds in which the LEDs are then switched on
}
Example program ON/OFF Download:
Code example PWM
Pulse width modulation [PWM] can be used to regulate the brightness of an LED - in this process, the LED is switched on and off at specific time intervals, with the ratio of the switch-on and switch-off times corresponding to a relative brightness. Due to the inertia of human vision, human eyes interpret such on/off behavior as a change in brightness. More information on this topic can be found in this article by Analog IC Tips.
Several LEDs are integrated in this module - different colors can thus be created by superimposing different brightness levels. This is shown in the following code example.
int Led_Red = 10;
int Led_Green = 9;
int val;
void setup () {
// Initialize output pins for the LEDs
pinMode (Led_Red, OUTPUT);
pinMode (Led_Green, OUTPUT);
}
void loop () {
// Within a For loop, different PWM values are passed to the two LEDs
// This creates a color gradient in which the mixing of different
// brightness levels of the two integrated LEDs, different colors are created
for (val = 255; val> 0; val--)
{
analogWrite (Led_Green, val);
analogWrite (Led_Red, 255-val);
delay (15);
}
// In the second For loop the color gradient is scrolled backwards
for (val = 0; val <255; val++)
{
analogWrite (Led_Green, val);
analogWrite (Led_Red, 255-val);
delay (15);
}
}
Sample PWM program download
LED module which contains a red and green LED. These are connected to each other by means of a common cathode.
Technical data
Forward voltage | 2.0 V - 2.5 V |
Forward current | 20 mA |
Series resistors:
Depending on the input voltage, series resistors are required.
Series resistor (3.3 V) [Red] | 120 Ω |
Series resistor (3,3 V) [Green] | 120 Ω |
Series resistor (5 V) [Red] | 220 Ω |
Series resistor (5 V) [Green] | 220 Ω |
Pin assignment
Code example Raspberry Pi
Pin assignment Raspberry Pi
Raspberry Pi | Sensor |
---|---|
GPIO 23 [Pin 16] | LED GREEN |
GPIO 24 [Pin 18] | LED RED |
GND [Pin 6] | GND |
Code example ON/OFF
This code example shows how the integrated LEDs can be changed alternately, every 3 seconds, by means of a definable output pin.
# Required modules are imported and set up
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Here the output pin is declared, to which the LEDs are connected.
LED_ROT = 24
LED_GRUEN = 23
GPIO.setup(LED_ROT, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_GRUEN, GPIO.OUT, initial= GPIO.LOW)
print("LED test [press CTRL+C to end test]")
# main program loop
try:
while True:
print("LED RED 3 seconds on")
GPIO.output(LED_ROT,GPIO.HIGH) #LED is turned on
GPIO.output(LED_GRUEN,GPIO.LOW) #LED is switched on
time.sleep(3) # wait mode for 4 seconds
print("LED GREEN 3 seconds on")
GPIO.output(LED_ROT,GPIO.LOW) #LED is switched on
GPIO.output(LED_GRUEN,GPIO.HIGH) #LED is switched on
time.sleep(3) #wait mode for another two seconds during which the LED is off then
# clean up after the program has been terminated
except KeyboardInterrupt:
GPIO.cleanup()
Example program ON/OFF download
To start with the command:
sudo python3 KY009-RPi.py
Code example PWM
Pulse width modulation [PWM] can be used to regulate the brightness of an LED - in this process, the LED is switched on and off at specific time intervals, with the ratio of the switch-on and switch-off times corresponding to a relative brightness. Due to the inertia of human vision, human eyes interpret such on/off behavior as a change in brightness. More information on this topic can be found in this article by Analog IC Tips.
Several LEDs are integrated in this module - different colors can thus be created by superimposing different brightness levels. This is shown in the following code example.
# Required modules are imported and set up
import random, time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# Here we declare the output pin to which the LEDs are connected.
LED_Red = 24
LED_Green = 23
# Set pins to output mode
GPIO.setup(LED_Red, GPIO.OUT)
GPIO.setup(LED_Green, GPIO.OUT)
Freq = 100 #Hz
# The respective colors are initialized.
RED = GPIO.PWM(LED_Red, Freq)
GREEN = GPIO.PWM(LED_Green, Freq)
RED.start(0)
GRUEN.start(0)
# This function generates the actual color
# By means of the respective color variable, the color intensity can be changed
# After the color was set, by means of "time.sleep" the time is defined,
# how long the said color is to be indicated
def LED_Color(Red, Green, pause):
RED.ChangeDutyCycle(Red)
GREEN.ChangeDutyCycle(Green)
time.sleep(pause)
RED.ChangeDutyCycle(0)
GREEN.ChangeDutyCycle(0)
print("LED test [press CTRL+C to end test]")
# Main program loop:
# This has the task to create a separate variable for each single color
# and by means of a for-loop to run through the color intensity of each single color from 0-100%.
# By the mixtures of the different brightness levels of the respective colors
# thus a color gradient is created
try:
while True:
for x in range(0,2):
for y in range(0,2):
print (x,y)
for i in range(0,101):
LED_Color((x*i),(y*i),.02)
# clean up after the program is finished
except KeyboardInterrupt:
GPIO.cleanup()
Example program download
To start with the command:
sudo python3 KY009-PWM.py
LED module which contains a red and green LED. These are connected to each other by means of a common cathode.
Technical data
Forward voltage | 2.0 V - 2.5 V |
Forward current | 20 mA |
Series resistors:
Depending on the input voltage, series resistors are required.
Series resistor (3.3 V) [Red] | 120 Ω |
Series resistor (3,3 V) [Green] | 120 Ω |
Series resistor (5 V) [Red] | 220 Ω |
Series resistor (5 V) [Green] | 220 Ω |
Pin assignment
Code example Micro:Bit
Pinout Micro:Bit:
Micro:Bit | Sensor |
---|---|
Pin 1 | LED GREEN |
Pin 2 | LED RED |
GND | GND |
This example turns on the LEDs depending on which button is pressed.
Sample program download
LED module which contains a red and green LED. These are connected to each other by means of a common cathode.
Technical data
Forward voltage | 2.0 V - 2.5 V |
Forward current | 20 mA |
Series resistors:
Depending on the input voltage, series resistors are required.
Series resistor (3.3 V) [Red] | 120 Ω |
Series resistor (3,3 V) [Green] | 120 Ω |
Series resistor (5 V) [Red] | 220 Ω |
Series resistor (5 V) [Green] | 220 Ω |
Pin assignment
Code example Raspberry Pi Pico
Pin assignment Raspberry Pi Pico:
Raspberry Pi Pico | Sensor |
---|---|
GPIO27 | LED RED |
GPIO28 | LED GREEN |
GND | GND |
Code example ON/OFF
This code example shows how the integrated LEDs can be changed alternately, every 3 seconds, by means of a definable output pin.
# Load libraries
from machine import Pin, PWM
from time import sleep
# Initialization of GPIO27 and GPIO28 as output
Green = Pin(28, Pin.OUT)
Red = Pin(27, Pin.OUT)
# Function: The individual available colors of the LED are switched on and off one after the other
def solo():
Green.value(1)
Red.value(0)
sleep(3)
Green.value(0)
Red.value(1)
sleep(3)
Green.value(0)
Red.value(0)
# Function: The individual available colors of the LED are switched simultaneously one after the other to create mixed colors.
def mix():
Green.value(1)
Red.value(1)
sleep(3)
Green.value(0)
Red.value(0)
while True:
solo()
sleep(3)
mix()
Example program ON/OFF Download:
Code example PWM
By means of pulse width modulation [PWM], the brightness of an LED can be regulated - in this process, the LED is switched on and off at specific time intervals, with the ratio of the switch-on and switch-off time corresponding to a relative brightness. Due to the inertia of human vision, human eyes interpret such on/off behavior as a change in brightness. More information on this topic can be found in this article from mikrokontroller.net.
Several LEDs are integrated in this module - different colors can thus be created by superimposing different brightness levels. This is shown in the following code example.
# Load libraries
import machine
import math
# Initialization of GPIO27 and GPIO28 as PWM pin
ledRed = machine.PWM(machine.Pin(27))
ledRed.freq(1000)
ledGreen = machine.PWM(machine.Pin(28))
ledGreen.freq(1000)
# Definition of a 2 digit list
RBG = [0,0]
# Function: Color space calculation for red and green | Green is 90° offset to red
def sinColour(number):
a = (math.sin(math.radians(number))+1)*32768
c = (math.sin(math.radians(number+90))+1)*32768
RBG = (int(a),int(c))
return RBG
# Infinite loop where the color value for all two colors is shifted by 0.01 again and again
a = 0
while True:
RBG = sinColour(a)
a = a + 0.01
if a == 360:
a = 0
ledRed.duty_u16(RBG[0])
ledGreen.duty_u16(RBG[1])