KY-016 Module led RGB 5mm : Différence entre versions

De SensorKit X40 Wiki

Aller à : navigation, rechercher
(Pin-Belegung)
(Exemple de code pour Raspberry Pi)
 
(21 révisions intermédiaires par le même utilisateur non affichées)
Ligne 31 : Ligne 31 :
 
'''Rf (5V) [<span style="color: #0000ff;">Bleue</span>] = 100Ω''' 
 
'''Rf (5V) [<span style="color: #0000ff;">Bleue</span>] = 100Ω''' 
  
''[Valeurs calculées lors de l'utilisation avec des microcontrôleurs Atmel Atmega tel que Arduino]''
+
''[Valeurs calculées lors de l'utilisation avec des microcontrôleurs Atmel Atmega tel que Arduino]<br /><br />Exemple d'utilisation avec une carte Arduino (nous avons pris 220Ω dans l'exemple pour utiliser les mêmes résistances pour tous les montages):<br />[[Fichier:KY-016.jpg|none|600x591px]]<br /><br />''
  
 
==Brochage==
 
==Brochage==
[[Fichier:4_G_LR_LG_LB.png|none|450x235px]]
+
[[Fichier:KY-009-brochage.jpg|none]]
  
==Codebeispiel Arduino==
+
==<span id="Exemple_de_code_pour_Arduino" class="mw-headline">Exemple de code pour Arduino</span>==
'''Codebeispiel ON/OFF'''
+
'''Exemple de code ON/OFF'''
  
Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in 3 Sekunden Takt, angeschaltet werden können.
+
Cet exemple montre comment les LEDS intégrées sont alternativement allumées puis éteintes toutes les 3 secondes.
  
<pre class="brush:cpp">int Led_Rot = 10;
+
<pre class="brush:cpp">int Led_Rouge = 10;
int Led_Gruen = 11;
+
int Led_Verte = 11;
int Led_Blau = 12;
+
int Led_Bleue = 12;
 
   
 
   
 
void setup ()
 
void setup ()
 
{
 
{
   // Initialisierung Ausgangspins für die LEDs
+
   // Initialisation des broches de sortie pour les LEDS
   pinMode (Led_Rot, OUTPUT);  
+
   pinMode (Led_Rouge, OUTPUT);  
   pinMode (Led_Gruen, OUTPUT);
+
   pinMode (Led_Verte, OUTPUT);
   pinMode (Led_Blau, OUTPUT);  
+
   pinMode (Led_Bleue, OUTPUT);  
 
}
 
}
 
   
 
   
void loop () //Hauptprogrammschleife
+
void loop () //Boucle de programme principale
 
{
 
{
   digitalWrite (Led_Rot, HIGH); // LED wird eingeschaltet
+
   digitalWrite (Led_Rouge, HIGH); // la Led s'allume
   digitalWrite (Led_Gruen, LOW); // LED wird eingeschaltet
+
   digitalWrite (Led_Verte, LOW); // la LED commute
   digitalWrite (Led_Blau, LOW); // LED wird eingeschaltet
+
   digitalWrite (Led_Bleue, LOW); // la LED commute
   delay (3000); // Wartemodus für 3 Sekunden
+
   delay (3000); // Délai de 3 secondes
 
   
 
   
   digitalWrite (Led_Rot, LOW); // LED wird eingeschaltet
+
   digitalWrite (Led_Rouge, LOW); // la LED commute
   digitalWrite (Led_Gruen, HIGH); // LED wird eingeschaltet
+
   digitalWrite (Led_Verte, HIGH); // la Led s'allume
   digitalWrite (Led_Blau, LOW); // LED wird eingeschaltet
+
   digitalWrite (Led_Bleue, LOW); // la LED commute
   delay (3000); // Wartemodus für weitere drei Sekunden in denen die LEDs dann umgeschaltet werden
+
   delay (3000); // Délai de 3 secondes supplémentaires pendant lequel les LEDS sont commutées
 
    
 
    
   digitalWrite (Led_Rot, LOW); // LED wird eingeschaltet
+
   digitalWrite (Led_Rouge, LOW); // la LED commute
   digitalWrite (Led_Gruen, LOW); // LED wird eingeschaltet
+
   digitalWrite (Led_Verte, LOW); // la LED commute
   digitalWrite (Led_Blau, HIGH); // LED wird eingeschaltet
+
   digitalWrite (Led_Bleue, HIGH); // la Led s'allume
   delay (3000); // Wartemodus für weitere drei Sekunden in denen die LEDs dann umgeschaltet werden
+
   delay (3000); // Délai de 3 secondes supplémentaires pendant lequel les LEDS sont commutées
 
}
 
}
 
</pre>
 
</pre>
'''Beispielprogramm ON/OFF Download:'''
+
'''Téléchargement de l'exemple de code ON/OFF:'''
  
[[Média:KY-016_LED_ON-OFF.zip|KY-016_LED_ON-OFF.zip]]
+
[http://www.gotronic.fr/userfiles/www.gotronic.fr/files/Arduino/KY-016.zip KY-016.zip]
  
  
'''Codebeispiel PWM'''
+
'''Exemple de code en 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]].
+
Un signal PWM (modulation de largeur d'impulsion) permet de faire varier la luminosité d'une LED. Le signal fait varier le temps pendant lequel il est à l'état haut et celui pendant lequel il est à l'état bas, ce qui fait varier la tension moyenne d'alimentation de la LED. La persistance rétinienne de l'oeil fait que nous visualisons cela comme un changement de luminosité.
  
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.
+
Plusieurs LEDS sont intégrées dans ce module et la superposition de différents niveaux de luminosité de ces LEDS permet d'obtenir différentes couleurs. Ceci est illustré dans l'exemple de code suivant.
  
<pre class="brush:cpp">int Led_Rot = 10;
+
<pre class="brush:cpp">int Led_Rouge = 10;
int Led_Gruen = 11;
+
int Led_Verte = 11;
int Led_Blau = 12;
+
int Led_Bleue = 12;
  
 
int val;
 
int val;
  
 
void setup () {
 
void setup () {
   // Initialisierung Ausgangspins für die LEDs
+
   // Initialisation des broches de sortie pour les LEDS
   pinMode (Led_Rot, OUTPUT);  
+
   pinMode (Led_Rouge, OUTPUT);  
   pinMode (Led_Gruen, OUTPUT);  
+
   pinMode (Led_Verte, OUTPUT);  
   pinMode (Led_Blau, OUTPUT);  
+
   pinMode (Led_Bleue, OUTPUT);  
 
}
 
}
 
void loop () {
 
void loop () {
   // Innerhalb einer For-Schleife werden den drei LEDs verschiedene PWM-Werte uebergeben
+
   // Dans une boucle For, différentes valeurs PWM sont envoyées aux 3 LEDS
  // 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--)
 
   for (val = 255; val> 0; val--)
 
       {
 
       {
       analogWrite (Led_Blau, val);
+
       analogWrite (Led_Bleue, val);
       analogWrite (Led_Gruen, 255-val);
+
       analogWrite (Led_Verte, 255-val);
       analogWrite (Led_Rot, 128-val);
+
       analogWrite (Led_Rouge, 128-val);
 
       delay (1);
 
       delay (1);
 
   }
 
   }
   // In der zweiten For-Schleife wird der Farbverlauf rückwärts durchgegangen
+
   // Les signaux sont ensuite inversés
 
   for (val = 0; val <255; val++)
 
   for (val = 0; val <255; val++)
 
       {
 
       {
       analogWrite (Led_Blau, val);
+
       analogWrite (Led_Bleue, val);
       analogWrite (Led_Gruen, 255-val);
+
       analogWrite (Led_Verte, 255-val);
       analogWrite (Led_Rot, 128-val);
+
       analogWrite (Led_Rouge, 128-val);
 
       delay (1);
 
       delay (1);
 
   }
 
   }
 
}
 
}
 
</pre>
 
</pre>
'''Beispielprogramm PWM Download:'''
+
'''Exemple de programme à télécharger:'''
  
[[Média:KY-016_PWM.zip|KY-016_PWM.zip]]
+
[http://www.gotronic.fr/userfiles/www.gotronic.fr/files/Arduino/KY-016.zip KY-016.zip]
  
  
'''Anschlussbelegung Arduino:'''
+
'''Affectation des broches Arduino:'''
  
 
{| style="height: 58px; padding-left: 30px;" width="228"
 
{| style="height: 58px; padding-left: 30px;" width="228"
 
|-
 
|-
||LED <span style="color: #ff0000;">Rot</span>
+
||LED <span style="color: #ff0000;">Rouge</span>
 
||=
 
||=
 
||[Pin 10]
 
||[Pin 10]
 
|-
 
|-
||LED <span style="color: #339966;">Grün</span>
+
||LED <span style="color: #339966;">Verte</span>
 
||=
 
||=
 
||[Pin 11]
 
||[Pin 11]
 
|-
 
|-
||LED <span style="color: #0000ff;">Blau</span>
+
||LED <span style="color: #0000ff;">Bleue</span>
 
||=
 
||=
 
||[Pin 12]
 
||[Pin 12]
Ligne 141 : Ligne 139 :
 
|}
 
|}
  
==Codebeispiel Raspberry Pi==
+
==<span id="Exemple_de_code_pour.C2.A0Raspberry_Pi" class="mw-headline">Exemple de code pour Raspberry Pi</span>==
'''Codebeispiel ON/OFF'''
+
'''Exemple de code ON/OFF'''
  
Dieses Codebeispiel zeigt auf, wie die integrierten LEDs mittels eines definierbaren Ausgangspins abwechselnd, in 3 Sekunden Takt, angeschaltet werden können.
+
Cet exemple montre comment les LEDS intégrées sont alternativement allumées puis éteintes toutes les 3 secondes.
  
<pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet
+
<pre class="brush:py">#!/usr/bin/python
 +
# coding=utf-8
 +
 
 +
# Les modules nécessaires sont importés et mis en place
 
import RPi.GPIO as GPIO
 
import RPi.GPIO as GPIO
 
import time
 
import time
Ligne 152 : Ligne 153 :
 
GPIO.setmode(GPIO.BCM)
 
GPIO.setmode(GPIO.BCM)
 
    
 
    
# Hier werden die Ausgangs-Pin deklariert, an dem die LEDs angeschlossen sind.
+
# Initialisation des broches de sortie pour les LEDS
LED_ROT = 6
+
LED_ROUGE = 25
LED_GRUEN = 5
+
LED_VERTE = 24
LED_BLAU = 4
+
LED_BLEUE = 23
  
GPIO.setup(LED_ROT, GPIO.OUT, initial= GPIO.LOW)
+
GPIO.setup(LED_ROUGE, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_GRUEN, GPIO.OUT, initial= GPIO.LOW)
+
GPIO.setup(LED_VERTE, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_BLAU, GPIO.OUT, initial= GPIO.LOW)
+
GPIO.setup(LED_BLEUE, GPIO.OUT, initial= GPIO.LOW)
 
    
 
    
print "LED-Test [druecken Sie STRG+C, um den Test zu beenden]"
+
print "LED-Test [Appuyez sur Ctrl + C pour terminer le test]"
 
   
 
   
# Hauptprogrammschleife
+
# Boucle de programme principale
 
try:
 
try:
 
         while True:
 
         while True:
print("LED ROT 3 Sekunden an")
+
print("LED ROUGE allumée 3 secondes")
GPIO.output(LED_ROT,GPIO.HIGH) #LED wird eingeschaltet
+
GPIO.output(LED_ROUGE,GPIO.HIGH) #la Led s'allume
GPIO.output(LED_GRUEN,GPIO.LOW) #LED wird eingeschaltet
+
GPIO.output(LED_VERTE,GPIO.LOW) #la LED commute
GPIO.output(LED_BLAU,GPIO.LOW) #LED wird eingeschaltet
+
GPIO.output(LED_BLEUE,GPIO.LOW) #la LED commute
time.sleep(3) # Wartemodus fuer 4 Sekunden
+
time.sleep(3) #Délai de 3 secondes
print("LED GRUEN 3 Sekunden an")  
+
print("LED VERTE allumée 3 secondes")  
GPIO.output(LED_ROT,GPIO.LOW) #LED wird eingeschaltet
+
GPIO.output(LED_ROUGE,GPIO.LOW) #la LED commute
GPIO.output(LED_GRUEN,GPIO.HIGH) #LED wird eingeschaltet
+
GPIO.output(LED_VERTE,GPIO.HIGH) #la Led s'allume
GPIO.output(LED_BLAU,GPIO.LOW) #LED wird eingeschaltet
+
GPIO.output(LED_BLEUE,GPIO.LOW) #la LED commute
time.sleep(3) #Wartemodus fuer 3 Sekunden
+
time.sleep(3) #Délai de 3 secondes
print("LED BLAU 3 Sekunden an")  
+
print("LED BLEUE allumée 3 secondes")  
GPIO.output(LED_ROT,GPIO.LOW) #LED wird eingeschaltet
+
GPIO.output(LED_ROUGE,GPIO.LOW) #la LED commute
GPIO.output(LED_GRUEN,GPIO.LOW) #LED wird eingeschaltet
+
GPIO.output(LED_VERTE,GPIO.LOW) #la LED commute
GPIO.output(LED_BLAU,GPIO.HIGH) #LED wird eingeschaltet
+
GPIO.output(LED_BLEUE,GPIO.HIGH) #la Led s'allume
time.sleep(3) #Wartemodus fuer 3 Sekunden
+
time.sleep(3) #Délai de 3 secondes
 
    
 
    
# Aufraeumarbeiten nachdem das Programm beendet wurde
+
#remise en place de tous les GPIO en entrées
 
except KeyboardInterrupt:
 
except KeyboardInterrupt:
 
         GPIO.cleanup()
 
         GPIO.cleanup()
 
</pre>
 
</pre>
  
'''Beispielprogramm ON/OFF Download'''
+
'''Téléchargement de l'exemple de code ON/OFF:'''
  
 +
[http://www.gotronic.fr/userfiles/www.gotronic.fr/files/Raspberry/KY-016_RPi_ON-OFF.zip KY-016_RPi_ON-OFF.zip]
  
Zu starten mit dem Befehl:
+
Pour débuter avec la commande:
  
<pre class="brush:bash">sudo python KY016_RPI_ON-OFF.py
+
<pre class="brush:bash">sudo python KY-016_RPi_ON-OFF.py
 
</pre>
 
</pre>
  
'''Codebeispiel PWM'''
+
'''Exemple de code 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]].
+
L'utilisation de signaux PWM (modulation de largeur d'amplitude) permet de faire varier la luminosité d'une LED. La LED est alimentée par des impulsions, le ratio entre la durée des impulsions et la durée au repos correspondant à une luminosité relative. En raison de la persistance rétinienne, l'oeil humain assimile ces changements d'alimentation de la LED à une variation de luminosité.
  
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.
+
Vous trouverez plus d'informations sur [http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ApprendrePWM http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ApprendrePWM] 
  
<pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet
+
Plusieurs LEDS sont intégrées dans ce module et la création de couleurs différentes est produite par la superposition de différents niveaux de luminosité. Ceci est illustré dans l'exemple de code suivant.
 +
 
 +
<pre class="brush:py">#!/usr/bin/python
 +
# coding=utf-8
 +
 
 +
# Les modules nécessaires sont importés et mis en place
 
import random, time  
 
import random, time  
 
import RPi.GPIO as GPIO
 
import RPi.GPIO as GPIO
Ligne 207 : Ligne 214 :
 
GPIO.setmode(GPIO.BCM)  
 
GPIO.setmode(GPIO.BCM)  
 
   
 
   
# Hier werden die Ausgangs-Pin deklariert, an dem die LEDs angeschlossen sind.
+
# Déclaration des broches de sortie sur lesquelles les LEDS sont raccordées
LED_Rot = 6
+
LED_Rouge = 25
LED_Gruen = 5
+
LED_Verte = 24
LED_Blau = 4
+
LED_Bleue = 23
 
    
 
    
# Set pins to output mode
+
# Configuration des broches en sortie
GPIO.setup(LED_Rot, GPIO.OUT)  
+
GPIO.setup(LED_Rouge, GPIO.OUT)  
GPIO.setup(LED_Gruen, GPIO.OUT)
+
GPIO.setup(LED_Verte, GPIO.OUT)
GPIO.setup(LED_Blau, GPIO.OUT)
+
GPIO.setup(LED_Bleue, GPIO.OUT)
 
    
 
    
 
Freq = 100 #Hz
 
Freq = 100 #Hz
 
    
 
    
# Die jeweiligen Farben werden initialisiert.
+
# Les couleurs respectives sont initialisées
ROT = GPIO.PWM(LED_Rot, Freq)  
+
ROUGE = GPIO.PWM(LED_Rouge, Freq)  
GRUEN = GPIO.PWM(LED_Gruen, Freq)
+
VERTE = GPIO.PWM(LED_Verte, Freq)
BLAU = GPIO.PWM(LED_Blau, Freq)
+
BLEUE = GPIO.PWM(LED_Bleue, Freq)
ROT.start(0)   
+
ROUGE.start(0)   
GRUEN.start(0)
+
VERTE.start(0)
BLAU.start(0)
+
BLEUE.start(0)
 
    
 
    
# Diese Funktion generiert die eigentliche Farbe
+
# Cette fonction génère la couleur réelle
# Mittels der jeweiligen Farbvariable, kann die Farbintensitaet geaendert werden
+
# L'intensité de la couleur peut être modifiée grâce à la variable de couleur
# Nachdem die Farbe eingestellt wurde, wird mittels "time.sleep" die Zeit definiert,
+
# Après réglage de la couleur, la durée d'allumage est définie par 'time.sleep'
# wie lang die besagte Farbe angezeigt werden soll
+
 
   
 
   
def LED_Farbe(Rot, Gruen,Blau, pause):
+
def LED_Couleur(Rouge, Verte, Bleue, pause):
     ROT.ChangeDutyCycle(Rot)
+
     ROUGE.ChangeDutyCycle(Rouge)
     GRUEN.ChangeDutyCycle(Gruen)
+
     VERTE.ChangeDutyCycle(Verte)
     BLAU.ChangeDutyCycle(Blau)
+
     BLEUE.ChangeDutyCycle(Bleue)
 
     time.sleep(pause)
 
     time.sleep(pause)
 
   
 
   
     ROT.ChangeDutyCycle(0)
+
     ROUGE.ChangeDutyCycle(0)
     GRUEN.ChangeDutyCycle(0)
+
     VERTE.ChangeDutyCycle(0)
 +
    BLEUE.ChangeDutyCycle(0)
 
    
 
    
print "LED-Test [druecken Sie STRG+C, um den Test zu beenden]"
+
print "LED-Test [Appuyez sur Ctrl + C pour terminer le test]"
 
    
 
    
# Hauptprogrammschleife:
+
# Boucle de programme principale:
# Diese hat die Aufgabe fuer jede einzelne Farbe eine eigene Variable zu erstellen
+
# Cette boucle doit faire varier l'intensité de chaque couleur de 0 à 100% en utilisant une boucle for
# und mittels einer For-Schleife die Farbintensitaet jeder einzelnen Farbe von 0-100% zu druchlaufen
+
# Les mélanges des différentes luminosités permettent de créer un gradients de couleurs différentes.
# Durch die Mischungen der verschiedenen Helligkeitsstufen der jeweiligen Farben
+
# entsteht somit ein Farbverlauf
+
 
try:
 
try:
 
     while True:
 
     while True:
Ligne 255 : Ligne 260 :
 
                     print (x,y,z)
 
                     print (x,y,z)
 
                     for i in range(0,101):
 
                     for i in range(0,101):
                         LED_Farbe((x*i),(y*i),(z*i),.02)
+
                         LED_Couleur((x*i),(y*i),(z*i),.02)
 
    
 
    
# Aufraeumarbeiten nachdem das Programm beendet wurde
+
# remise en place de tous les GPIO en entrées
 
except KeyboardInterrupt:
 
except KeyboardInterrupt:
 
         GPIO.cleanup()
 
         GPIO.cleanup()
 
</pre>
 
</pre>
'''Beispielprogramm PWM Download:'''
+
'''Exemple de programme à télécharger:'''
  
[[Média:KY-016_RPi_PWM.zip|KY-016_RPi_PWM.zip]]
+
[http://www.gotronic.fr/userfiles/www.gotronic.fr/files/Raspberry/KY-016_RPi_PWM.zip KY-016_RPi_PWM.zip]
  
Zu starten mit dem Befehl:
+
Commande pour lancer le programme:
  
 
<pre class="brush:bash">sudo python KY-016_RPi_PWM.py
 
<pre class="brush:bash">sudo python KY-016_RPi_PWM.py
 
</pre>
 
</pre>
 
+
'''Brochage Raspberry Pi:'''
'''Anschlussbelegung Raspberry Pi:'''
+
  
 
{| style="height: 88px; padding-left: 30px;" width="229"
 
{| style="height: 88px; padding-left: 30px;" width="229"
 
|-
 
|-
||LED <span style="color: #339966;">Rot</span>
+
||LED <span style="color: #ff0000;">Rouge</span>
 
||=
 
||=
||GPIO6
+
||GPIO25
 
||[Pin 22]
 
||[Pin 22]
 
|-
 
|-
||LED <span style="color: #ff0000;">Grün</span>
+
||LED <span style="color: #339966;">Verte</span>
 
||=
 
||=
||GPIO5
+
||GPIO24
 
||[Pin 18]
 
||[Pin 18]
 
|-
 
|-
||LED <span style="color: #ff0000;">Blau</span>
+
||LED <span style="color: #0000ff;">Bleue</span>
 
||=
 
||=
||GPIO4
+
||GPIO23
 
||[Pin 16]
 
||[Pin 16]
 
|-
 
|-

Version actuelle en date du 30 décembre 2016 à 14:55

Photo

ky-016.jpg

Données techniques / Description sommaire

Ce module est constitué d'une LED RGB qui est composée de 3 LEDS de couleurs différentes: rouge - vert - bleu. Celles-ci sont reliées par une cathode commune. En fonction de la tension d'entrée, des résistances en série sont nécessaires.


Vf [Rouge]= 1,8V

Vf [VerteBleue]= 2,8V

If= 20mA


Résistances de limitation:

Rf (3,3V) [Verte]= 100Ω

Rf (3,3V) [Rouge]= 180Ω

Rf (3,3V) [Bleue]= 100Ω

[Valeurs calculées lors de l'utilisation avec des microcontrôleurs ARM de base tel que la Raspberry Pi]


Rf (5V) [Verte] = 100Ω 

Rf (5V) [Rouge] = 180Ω 

Rf (5V) [Bleue] = 100Ω 

[Valeurs calculées lors de l'utilisation avec des microcontrôleurs Atmel Atmega tel que Arduino]

Exemple d'utilisation avec une carte Arduino (nous avons pris 220Ω dans l'exemple pour utiliser les mêmes résistances pour tous les montages):
KY-016.jpg


Brochage

KY-009-brochage.jpg

Exemple de code pour Arduino

Exemple de code ON/OFF

Cet exemple montre comment les LEDS intégrées sont alternativement allumées puis éteintes toutes les 3 secondes.

int Led_Rouge = 10;
int Led_Verte = 11;
int Led_Bleue = 12;
 
void setup ()
{
  // Initialisation des broches de sortie pour les LEDS
  pinMode (Led_Rouge, OUTPUT); 
  pinMode (Led_Verte, OUTPUT);
  pinMode (Led_Bleue, OUTPUT); 
}
 
void loop () //Boucle de programme principale
{
  digitalWrite (Led_Rouge, HIGH); // la Led s'allume
  digitalWrite (Led_Verte, LOW); // la LED commute
  digitalWrite (Led_Bleue, LOW); // la LED commute
  delay (3000); // Délai de 3 secondes
 
  digitalWrite (Led_Rouge, LOW); // la LED commute
  digitalWrite (Led_Verte, HIGH); // la Led s'allume
  digitalWrite (Led_Bleue, LOW); // la LED commute
  delay (3000); // Délai de 3 secondes supplémentaires pendant lequel les LEDS sont commutées
  
  digitalWrite (Led_Rouge, LOW); // la LED commute
  digitalWrite (Led_Verte, LOW); // la LED commute
  digitalWrite (Led_Bleue, HIGH); // la Led s'allume
  delay (3000); // Délai de 3 secondes supplémentaires pendant lequel les LEDS sont commutées
}

Téléchargement de l'exemple de code ON/OFF:

KY-016.zip


Exemple de code en PWM

Un signal PWM (modulation de largeur d'impulsion) permet de faire varier la luminosité d'une LED. Le signal fait varier le temps pendant lequel il est à l'état haut et celui pendant lequel il est à l'état bas, ce qui fait varier la tension moyenne d'alimentation de la LED. La persistance rétinienne de l'oeil fait que nous visualisons cela comme un changement de luminosité.

Plusieurs LEDS sont intégrées dans ce module et la superposition de différents niveaux de luminosité de ces LEDS permet d'obtenir différentes couleurs. Ceci est illustré dans l'exemple de code suivant.

int Led_Rouge = 10;
int Led_Verte = 11;
int Led_Bleue = 12;

int val;

void setup () {
  // Initialisation des broches de sortie pour les LEDS
  pinMode (Led_Rouge, OUTPUT); 
  pinMode (Led_Verte, OUTPUT); 
  pinMode (Led_Bleue, OUTPUT); 
}
void loop () {
   // Dans une boucle For, différentes valeurs PWM sont envoyées aux 3 LEDS
   for (val = 255; val> 0; val--)
      {
       analogWrite (Led_Bleue, val);
       analogWrite (Led_Verte, 255-val);
       analogWrite (Led_Rouge, 128-val);
       delay (1);
   }
   // Les signaux sont ensuite inversés
   for (val = 0; val <255; val++)
      {
      analogWrite (Led_Bleue, val);
      analogWrite (Led_Verte, 255-val);
      analogWrite (Led_Rouge, 128-val);
      delay (1);
   }
}

Exemple de programme à télécharger:

KY-016.zip


Affectation des broches Arduino:

LED Rouge = [Pin 10]
LED Verte = [Pin 11]
LED Bleue = [Pin 12]
Sensor GND = [Pin GND]

Exemple de code pour Raspberry Pi

Exemple de code ON/OFF

Cet exemple montre comment les LEDS intégrées sont alternativement allumées puis éteintes toutes les 3 secondes.

#!/usr/bin/python
# coding=utf-8

# Les modules nécessaires sont importés et mis en place
import RPi.GPIO as GPIO
import time
  
GPIO.setmode(GPIO.BCM)
  
# Initialisation des broches de sortie pour les LEDS
LED_ROUGE = 25
LED_VERTE = 24
LED_BLEUE = 23

GPIO.setup(LED_ROUGE, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_VERTE, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_BLEUE, GPIO.OUT, initial= GPIO.LOW)
  
print "LED-Test [Appuyez sur Ctrl + C pour terminer le test]"
 
# Boucle de programme principale
try:
        while True:
			print("LED ROUGE allumée 3 secondes")
			GPIO.output(LED_ROUGE,GPIO.HIGH) #la Led s'allume
			GPIO.output(LED_VERTE,GPIO.LOW) #la LED commute
			GPIO.output(LED_BLEUE,GPIO.LOW) #la LED commute
			time.sleep(3) #Délai de 3 secondes
			print("LED VERTE allumée 3 secondes") 
			GPIO.output(LED_ROUGE,GPIO.LOW) #la LED commute
			GPIO.output(LED_VERTE,GPIO.HIGH) #la Led s'allume
			GPIO.output(LED_BLEUE,GPIO.LOW) #la LED commute
			time.sleep(3) #Délai de 3 secondes
			print("LED BLEUE allumée 3 secondes") 
			GPIO.output(LED_ROUGE,GPIO.LOW) #la LED commute
			GPIO.output(LED_VERTE,GPIO.LOW) #la LED commute
			GPIO.output(LED_BLEUE,GPIO.HIGH) #la Led s'allume
			time.sleep(3) #Délai de 3 secondes
  
#remise en place de tous les GPIO en entrées
except KeyboardInterrupt:
        GPIO.cleanup()

Téléchargement de l'exemple de code ON/OFF:

KY-016_RPi_ON-OFF.zip

Pour débuter avec la commande:

sudo python KY-016_RPi_ON-OFF.py

Exemple de code PWM

L'utilisation de signaux PWM (modulation de largeur d'amplitude) permet de faire varier la luminosité d'une LED. La LED est alimentée par des impulsions, le ratio entre la durée des impulsions et la durée au repos correspondant à une luminosité relative. En raison de la persistance rétinienne, l'oeil humain assimile ces changements d'alimentation de la LED à une variation de luminosité.

Vous trouverez plus d'informations sur http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ApprendrePWM 

Plusieurs LEDS sont intégrées dans ce module et la création de couleurs différentes est produite par la superposition de différents niveaux de luminosité. Ceci est illustré dans l'exemple de code suivant.

#!/usr/bin/python
# coding=utf-8

# Les modules nécessaires sont importés et mis en place
import random, time 
import RPi.GPIO as GPIO
  
GPIO.setmode(GPIO.BCM) 
 
# Déclaration des broches de sortie sur lesquelles les LEDS sont raccordées
LED_Rouge = 25
LED_Verte = 24
LED_Bleue = 23
  
# Configuration des broches en sortie
GPIO.setup(LED_Rouge, GPIO.OUT) 
GPIO.setup(LED_Verte, GPIO.OUT)
GPIO.setup(LED_Bleue, GPIO.OUT)
  
Freq = 100 #Hz
  
# Les couleurs respectives sont initialisées
ROUGE = GPIO.PWM(LED_Rouge, Freq) 
VERTE = GPIO.PWM(LED_Verte, Freq)
BLEUE = GPIO.PWM(LED_Bleue, Freq)
ROUGE.start(0)  
VERTE.start(0)
BLEUE.start(0)
  
# Cette fonction génère la couleur réelle
# L'intensité de la couleur peut être modifiée grâce à la variable de couleur
# Après réglage de la couleur, la durée d'allumage est définie par 'time.sleep'
 
def LED_Couleur(Rouge, Verte, Bleue, pause):
    ROUGE.ChangeDutyCycle(Rouge)
    VERTE.ChangeDutyCycle(Verte)
    BLEUE.ChangeDutyCycle(Bleue)
    time.sleep(pause)
 
    ROUGE.ChangeDutyCycle(0)
    VERTE.ChangeDutyCycle(0)
    BLEUE.ChangeDutyCycle(0)
   
print "LED-Test [Appuyez sur Ctrl + C pour terminer le test]"
  
# Boucle de programme principale:
# Cette boucle doit faire varier l'intensité de chaque couleur de 0 à 100% en utilisant une boucle for
# Les mélanges des différentes luminosités permettent de créer un gradients de couleurs différentes.
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_Couleur((x*i),(y*i),(z*i),.02)
  
# remise en place de tous les GPIO en entrées
except KeyboardInterrupt:
        GPIO.cleanup()

Exemple de programme à télécharger:

KY-016_RPi_PWM.zip

Commande pour lancer le programme:

sudo python KY-016_RPi_PWM.py

Brochage Raspberry Pi:

LED Rouge = GPIO25 [Pin 22]
LED Verte = GPIO24 [Pin 18]
LED Bleue = GPIO23 [Pin 16]
Sensor GND = Masse [Pin 6]