KY-011 2-Farben - Rot+Grün- 5mm LED Modul: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel Raspberry Pi)
(Codebeispiel Raspberry Pi)
Zeile 101: Zeile 101:
 
'''Codebeispiel ON/OFF'''
 
'''Codebeispiel ON/OFF'''
  
Programmierbeispiel in der Programmiersprache Python
+
Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in 3 Sekunden Takt, angeschaltet werden können.
  
 
<pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet
 
<pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet
Zeile 144: Zeile 144:
 
<pre class="brush:bash">sudo python KY011_RPI_ON-OFF.py
 
<pre class="brush:bash">sudo python KY011_RPI_ON-OFF.py
 
</pre>
 
</pre>
 +
 +
'''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 [[Http://www.mikrocontroller.net/articles/LED-Fading 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.
 +
 +
<pre class="brush:py">
 +
 +
#!/usr/bin/env python
 +
# -*- coding: utf-8 -*-
 +
#
 +
#  RGB_LED.py
 +
#
 +
# A short program to control an RGB LED by utilizing the PWM functions within the Python GPIO module
 +
#
 +
#  Copyright 2015 Ken Powers
 +
 +
 +
# Import the modules used in the script
 +
import random, time
 +
import RPi.GPIO as GPIO
 +
 +
# Set GPIO to Broadcom system and set RGB Pin numbers
 +
RUNNING = True
 +
GPIO.setmode(GPIO.BCM)
 +
red = 5
 +
green = 4
 +
 +
# Set pins to output mode
 +
GPIO.setup(red, GPIO.OUT)
 +
GPIO.setup(green, GPIO.OUT)
 +
 +
Freq = 100 #Hz
 +
 +
# Setup all the LED colors with an initial duty cycle of 0 which is off
 +
RED = GPIO.PWM(red, Freq)
 +
RED.start(0)
 +
GREEN = GPIO.PWM(green, Freq)
 +
GREEN.start(0)
 +
 +
# Define a simple function to turn on the LED colors
 +
def color(R, G, on_time):
 +
    # Color brightness range is 0-100%
 +
    RED.ChangeDutyCycle(R)
 +
    GREEN.ChangeDutyCycle(G)
 +
    time.sleep(on_time)
 +
 +
    # Turn all LEDs off after on_time seconds
 +
    RED.ChangeDutyCycle(0)
 +
    GREEN.ChangeDutyCycle(0)
 +
 +
print("Light It Up!")
 +
print("Press CTRL + C to quit.\n")
 +
print(" R G \n---------")
 +
 +
# Main loop
 +
try:
 +
while RUNNING:
 +
for x in range(0,2):
 +
for y in range(0,2):
 +
print (x,y)
 +
# Slowly ramp up power percentage of each active color
 +
for i in range(0,101):
 +
color((x*i),(y*i),.02)
 +
 +
# If CTRL+C is pressed the main loop is broken
 +
except KeyboardInterrupt:
 +
    RUNNING = False
 +
    print "\Quitting"
 +
 +
# Actions under 'finally' will always be called regardless of what stopped the program
 +
finally:
 +
    # Stop and cleanup so the pins are available to be used again
 +
    GPIO.cleanup()
 +
 +
</pre>
 +
'''Beispielprogramm PWM Download:'''
 +
 +
[[Medium:KY-011_PWM.zip|KY-011_PWM.zip]]
 +
 +
  
 
'''Anschlussbelegung Raspberry Pi:'''
 
'''Anschlussbelegung Raspberry Pi:'''

Version vom 9. März 2016, 15:23 Uhr

Bild

ky-011.jpg

Technische Daten / Kurzbeschreibung

LED-Modul welche eine rote und grüne LED beinhaltet. Diese sind mittels gemeinsamer Kathode miteinander verbunden. Je nach Eingangsspannung, werden Vorwiderstände benötigt

Pin-Belegung

3 LG LR G.png

Codebeispiel Arduino

Codebeispiel ON/OFF

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

int Led_Rot = 10;
int Led_Gruen = 11;

void setup ()
{
  // Initialisierung Ausgangspins für die LEDs
  pinMode (Led_Rot, OUTPUT); 
  pinMode (Led_Gruen, OUTPUT); 
}

void loop () //Hauptprogrammschleife
{
  digitalWrite (Led_Rot, HIGH); // LED wird eingeschaltet
  digitalWrite (Led_Gruen, 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
  delay (3000); // Wartemodus für weitere zwei Sekunden in denen die LEDs dann umgeschaltet sind
}

Beispielprogramm ON/OFF Download:

KY-011_LED_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 val;

void setup () {
  // Initialisierung Ausgangspins für die LEDs
  pinMode (Led_Rot, OUTPUT); 
  pinMode (Led_Gruen, OUTPUT); 
}
void loop () {
   // Innerhalb einer For-Schleife werden den beiden 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_Gruen, val);
      analogWrite (Led_Rot, 255-val);
      delay (15);
   }
   // In der zweiten For-Schleife wird der Farbverlauf rückwärts durchgegangen
   for (val = 0; val <255; val++)
      {
      analogWrite (Led_Gruen, val);
      analogWrite (Led_Rot, 255-val);
      delay (15);
   }
}

Beispielprogramm PWM Download:

KY-011_PWM.zip


Anschlussbelegung Arduino:

LED Grün = [Pin 10]
LED Rot = [Pin 11]
Sensor GND = [Pin GND]

Codebeispiel Raspberry Pi

Codebeispiel ON/OFF

Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in 3 Sekunden Takt, angeschaltet 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 = 24
LED_GRUEN = 25
GPIO.setup(LED_ROT, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_GRUEN, 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
		time.sleep(4) #Wartemodus für 4 Sekunden
		print("LED GRUEN 3 Sekunden an") 
		GPIO.output(LED_ROT,GPIO.HIGH) #LED wird eingeschaltet
		GPIO.output(LED_GRUEN,GPIO.LOW) #LED wird eingeschaltet
		time.sleep(2) #Wartemodus für weitere zwei Sekunden, in denen die LED Dann ausgeschaltet ist
 
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()


Beispielprogramm ON/OFF Download

KY011_RPI_ON-OFF.zip

Zu starten mit dem Befehl:

sudo python KY011_RPI_ON-OFF.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.


#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  RGB_LED.py
#
# A short program to control an RGB LED by utilizing the PWM functions within the Python GPIO module
#
#  Copyright 2015 Ken Powers
#   
 
# Import the modules used in the script
import random, time 
import RPi.GPIO as GPIO
 
# Set GPIO to Broadcom system and set RGB Pin numbers
RUNNING = True 
GPIO.setmode(GPIO.BCM) 
red = 5 
green = 4
 
# Set pins to output mode
GPIO.setup(red, GPIO.OUT) 
GPIO.setup(green, GPIO.OUT)
 
Freq = 100 #Hz
 
# Setup all the LED colors with an initial duty cycle of 0 which is off
RED = GPIO.PWM(red, Freq) 
RED.start(0) 
GREEN = GPIO.PWM(green, Freq) 
GREEN.start(0)
 
# Define a simple function to turn on the LED colors
def color(R, G, on_time):
    # Color brightness range is 0-100%
    RED.ChangeDutyCycle(R)
    GREEN.ChangeDutyCycle(G)
    time.sleep(on_time)
 
    # Turn all LEDs off after on_time seconds
    RED.ChangeDutyCycle(0)
    GREEN.ChangeDutyCycle(0)
 
print("Light It Up!") 
print("Press CTRL + C to quit.\n") 
print(" R G \n---------")
 
# Main loop
try:
	while RUNNING:
		for x in range(0,2):
			for y in range(0,2):
				print (x,y)
					# Slowly ramp up power percentage of each active color
				for i in range(0,101):
					color((x*i),(y*i),.02)
 
# If CTRL+C is pressed the main loop is broken
except KeyboardInterrupt:
    RUNNING = False
    print "\Quitting"
 
# Actions under 'finally' will always be called regardless of what stopped the program
finally:
    # Stop and cleanup so the pins are available to be used again
    GPIO.cleanup()

Beispielprogramm PWM Download:

KY-011_PWM.zip


Anschlussbelegung Raspberry Pi:

LED Gruen = GPIO4 [Pin 16]
LED Rot = GPIO5 [Pin 18]
Sensor GND = Masse [Pin 6]