Änderungen

KY-011 2-Farben - Rot+Grün- 5mm LED Modul

4.992 Byte hinzugefügt, 10:18, 21. Mär. 2016
/* Codebeispiel Raspberry Pi */
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
 
 
'''Vf [typ]= 2,0-2,5V'''
 
 
'''If= 20mA'''
 
 
 
'''<u>Vorwiderstände:</u>'''
 
'''Rf (3,3V) [<span style="color: #339966;">Grün</span>]= 120Ω'''
 
'''Rf (3,3V) [<span style="color: #ff0000;">Rot</span>]= 120Ω'''
 
''[z.B. beim Einsatz mit ARM CPU-Kern basierten Mikrokontrollern wie <u>Raspberry-Pi</u>]''
 
 
'''Rf (5V) [<span style="color: #339966;">Grün</span>] = 220Ω''' 
 
'''Rf (5V) [<span style="color: #ff0000;">Rot</span>] = 220Ω''' 
 
''[z.B. beim Einsatz mit Atmel Atmega basierten Mikrokontrollern wie <u>Arduino</u>]''
==Pin-Belegung==
==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.
<pre class="brush:cpp">int Led_Rot = 1310;int Led_Gruen = 1211;
void setup ()
{
// Initialisierung Ausgangspins für die LEDs pinMode (LedLed_Rot, OUTPUT); pinMode (Led_Gruen, OUTPUT); // Initialisierung Ausgangspin für die LED
}
void loop () //Hauptprogrammschleife
{
digitalWrite (LedLed_Rot, HIGH); // LED wird eingeschaltet digitalWrite (Led_Gruen, LOW); // LED wird eingeschaltet delay (40003000); // Wartemodus für 4 3 Sekunden  digitalWrite (LedLed_Rot, LOW); // LED wird ausgeschalteteingeschaltet digitalWrite (Led_Gruen, HIGH); // LED wird eingeschaltet delay (20003000); // Wartemodus für weitere zwei Sekunden in denen die LED LEDs dann ausgeschaltet istumgeschaltet sind
}
</pre>
'''Beispielprogramm ON/OFF Download:'''
 
[[Medium:KY-011_LED_ON-OFF.zip|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 [[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.
 
<pre class="brush:cpp">
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);
}
}
</pre>
'''Beispielprogramm PWM Download:'''
 
[[Medium:KY-011_PWM.zip|KY-011_PWM.zip]]
{| style="height: 58px; padding-left: 30px;" width="228"
|-
||Sensor SignalLED <span style="color: #339966;">Grün</span>
||=
||[Pin 1310]
|-
||Sensor [N.C]LED <span style="color: #ff0000;">Rot</span>
||=
||[Pin 11]
|-
||Sensor GND
||[Pin GND]
|}
 
'''Beispielprogramm Download:'''
 
'''[[Medium:LedTestArduino_4On_2Off.zip|LedTestArduino_4On_2Off.zip]]'''
==Codebeispiel Raspberry Pi==
Programmierbeispiel '''Codebeispiel ON/OFF''' Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in der Programmiersprache Python3 Sekunden Takt, angeschaltet werden können.
<pre class="brush:py"># 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 = 5
LED_GRUEN = 4
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]"
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist. Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert
LED_PIN = 24
GPIO.setup(LED_PIN, GPIO.OUT, initial= GPIO.LOW)
print "LED-Test [druecken Sie STRG+C, um den Test zu beenden]"
 
# Hauptprogrammschleife
try:
while True:
print("LED 4 ROT 3 Sekunden an") GPIO.output(LED_PINLED_ROT,GPIO.HIGH) #LED wird eingeschaltet GPIO.output(LED_GRUEN,GPIO.LOW) #LED wird eingeschaltet time.sleep(43) #Wartemodus für fuer 4 Sekunden print("LED 2 GRUEN 3 Sekunden ausan") GPIO.output(LED_PINLED_ROT,GPIO.LOW) #LED wird ausgeschalteteingeschaltet GPIO.output(LED_GRUEN,GPIO.HIGH) #LED wird eingeschaltet time.sleep(23) #Wartemodus für fuer weitere zwei Sekunden, in denen die LED Dann ausgeschaltet ist # Aufraeumarbeiten nachdem das Programm beendet wurdeexcept KeyboardInterrupt: GPIO.cleanup()</pre> '''Beispielprogramm ON/OFF Download''' [[Medium:KY011_RPI_ON-OFF.zip|KY011_RPI_ON-OFF.zip]] Zu starten mit dem Befehl: <pre class="brush:bash">sudo python KY011_RPI_ON-OFF.py</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"># Benoetigte Module werden importiert und eingerichtetimport 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 = 5 LED_Gruen = 4 # Set pins to output modeGPIO.setup(LED_Rot, GPIO.OUT) GPIO.setup(LED_Gruen, GPIO.OUT) Freq = 100 #Hz # Die jeweiligen Farben werden initialisiert.ROT = GPIO.PWM(LED_Rot, Freq) GRUEN = GPIO.PWM(LED_Gruen, Freq)ROT.start(0) GRUEN.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, pause): ROT.ChangeDutyCycle(Rot) GRUEN.ChangeDutyCycle(Gruen) 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 Farbverlauftry: while True: for x in range(0,2): for y in range(0,2): print (x,y) for i in range(0,101): LED_Farbe((x*i),(y*i),.02)
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
GPIO.cleanup()
</pre>
'''Beispielprogramm PWM Download:'''
[[Medium:KY011_RPI_PWM.zip|KY011_RPI_PWM.zip]]
Zu starten mit dem Befehl:
 
<pre class="brush:bash">sudo python KY011_RPI_PWM.py
</pre>
 
'''Anschlussbelegung Raspberry Pi:'''
{| style="height: 88px; padding-left: 30px;" width="229"
|-
||Sensor SignalLED <span style="color: #339966;">Gruen</span>
||=
||GPIO24GPIO4||[Pin 1816]
|-
||Sensor [N.C]LED <span style="color: #ff0000;">Rot</span>
||=
||GPIO5||[Pin 18]
|-
||Sensor GND
||[Pin 6]
|}
 
'''Beispielprogramm Download'''
 
[[Medium:LedTest_RPi_4On_2Off.zip|LedTest_RPi_4On_2Off.zip]]
 
Zu starten mit dem Befehl:
 
<pre class="brush:bash">sudo python LedTest_RPi_4On_2Off.py
</pre>
Bürokrat, Administrator
611
Bearbeitungen