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

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „==Bild== none ==Technische Daten / Kurzbeschreibung== LED-Modul welche eine rote und grüne LED beinhaltet. Diese sind mittels…“)
 
 
Zeile 1: Zeile 1:
 
==Bild==
 
==Bild==
[[Datei:ky-029.jpg|358x358px|none]]
+
[[Datei:ky-029.jpg|none|358x358px]]
  
 
==Technische Daten / Kurzbeschreibung==
 
==Technische Daten / Kurzbeschreibung==
Zeile 9: Zeile 9:
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
<pre class="brush:cpp"># Include
+
'''Codebeispiel ON/OFF'''
OneWire ds (10); / / on pin 10
+
 
void setup (void) {
+
Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in 3 Sekunden Takt, angeschaltet werden können.
    // Initialize inputs / outputs
+
 
    // Start serial port
+
<pre class="brush:cpp">int Led_Rot = 10;
    Serial.begin (9600);
+
int Led_Gruen = 11;
 +
 
 +
void setup ()
 +
{
 +
  // Initialisierung Ausgangspins für die LEDs
 +
  pinMode (Led_Rot, OUTPUT);
 +
  pinMode (Led_Gruen, OUTPUT);  
 
}
 
}
void loop (void) {
+
 
    byte i;
+
void loop () //Hauptprogrammschleife
    byte present = 0;
+
{
    byte data [12];
+
  digitalWrite (Led_Rot, HIGH); // LED wird eingeschaltet
    byte addr [8];
+
  digitalWrite (Led_Gruen, LOW); // LED wird eingeschaltet
    int Temp;
+
  delay (3000); // Wartemodus für 3 Sekunden
    if (! ds.search (addr)) {
+
 
        // Serial.print ("No more addresses.");
+
  digitalWrite (Led_Rot, LOW); // LED wird eingeschaltet
        ds.reset_search ();
+
  digitalWrite (Led_Gruen, HIGH); // LED wird eingeschaltet
        return;
+
  delay (3000); // Wartemodus für weitere zwei Sekunden in denen die LEDs dann umgeschaltet sind
    }
+
    Serial.print ("R ="); // R = 28 Not sure what this is
+
    for (i = 0; i <8; i    ) {
+
        Serial.print (addr [i], HEX);
+
        Serial.print ("");
+
    }
+
    if (OneWire :: crc8 (addr, 7)! = addr [7]) {
+
        Serial.print ("CRC is not valid!");
+
        return;
+
    }
+
    if (addr [0]! = 0x28) {
+
        Serial.print ("Device is not a DS18S20 family device.");
+
        return;
+
    }
+
    ds.reset ();
+
 
}
 
}
 
</pre>
 
</pre>
 +
'''Beispielprogramm ON/OFF Download:'''
 +
 +
[[Medium:KY-029_LED_ON-OFF.zip|KY-029_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-029_PWM.zip|KY-029_PWM.zip]]
 +
 +
 +
'''Anschlussbelegung Arduino:'''
 +
 +
{| style="height: 58px; padding-left: 30px;" width="228"
 +
|-
 +
||LED <span style="color: #339966;">Grün</span>
 +
||=
 +
||[Pin 10]
 +
|-
 +
||LED <span style="color: #ff0000;">Rot</span>
 +
||=
 +
||[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.
 +
 +
<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]"
 +
 +
# 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(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
 +
time.sleep(3) #Wartemodus fuer weitere zwei Sekunden, in denen die LED Dann ausgeschaltet ist
 +
 
 +
# Aufraeumarbeiten nachdem das Programm beendet wurde
 +
except KeyboardInterrupt:
 +
        GPIO.cleanup()
 +
</pre>
 +
 +
'''Beispielprogramm ON/OFF Download'''
 +
 +
[[Medium:KY029_RPI_ON-OFF.zip|KY029_RPI_ON-OFF.zip]]
 +
 +
Zu starten mit dem Befehl:
 +
 +
<pre class="brush:bash">sudo python KY029_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 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 = 5
 +
LED_Gruen = 4
 +
 +
# Set pins to output mode
 +
GPIO.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 Farbverlauf
 +
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_Farbe((x*i),(y*i),.02)
 +
 +
# Aufraeumarbeiten nachdem das Programm beendet wurde
 +
except KeyboardInterrupt:
 +
        GPIO.cleanup()
 +
</pre>
 +
'''Beispielprogramm PWM Download:'''
 +
 +
[[Medium:KY029_RPI_PWM.zip|KY029_RPI_PWM.zip]]
 +
 +
Zu starten mit dem Befehl:
 +
 +
<pre class="brush:bash">sudo python KY029_RPI_PWM.py
 +
</pre>
 +
 +
'''Anschlussbelegung Raspberry Pi:'''
 +
 +
{| style="height: 88px; padding-left: 30px;" width="229"
 +
|-
 +
||LED <span style="color: #339966;">Gruen</span>
 +
||=
 +
||GPIO4
 +
||[Pin 16]
 +
|-
 +
||LED <span style="color: #ff0000;">Rot</span>
 +
||=
 +
||GPIO5
 +
||[Pin 18]
 +
|-
 +
||Sensor GND
 +
||=
 +
||Masse
 +
||[Pin 6]
 +
|}

Aktuelle Version vom 22. März 2016, 15:26 Uhr

Bild

ky-029.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-029_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-029_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 = 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]"
 
# 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(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
			time.sleep(3) #Wartemodus fuer weitere zwei Sekunden, in denen die LED Dann ausgeschaltet ist
  
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Beispielprogramm ON/OFF Download

KY029_RPI_ON-OFF.zip

Zu starten mit dem Befehl:

sudo python KY029_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.

# 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 = 5 
LED_Gruen = 4
 
# Set pins to output mode
GPIO.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 Farbverlauf
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_Farbe((x*i),(y*i),.02)
 
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Beispielprogramm PWM Download:

KY029_RPI_PWM.zip

Zu starten mit dem Befehl:

sudo python KY029_RPI_PWM.py

Anschlussbelegung Raspberry Pi:

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