Module LED qui contient une LED rouge et une LED verte. Ceux-ci sont reliés entre eux par une cathode commune.

Données techniques

Vf [typ] 2,0-2,5V
If 20mA

Les désignations (Vf et If) font référence à la tension directe et au courant direct de la diode électroluminescente.

résistances en série :

En fonction de la tension d'entrée, des résistances en série sont nécessaires.

La désignation (Rf) désigne ici la résistance en série nécessaire devant la diode électroluminescente en fonction de la tension appliquée.

Rf (3,3V) [Rot] 120Ω
Rf (3,3V) [Grün] 120Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur un noyau de CPU ARM comme Raspberry-Pi).

Rf (5V) [Rot] 220Ω
Rf (5V) [Grün] 220Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur Atmel Atmega, comme Arduino).

Affectation des broches

Exemple de code Arduino

Affectation des broches Arduino

Arduino Capteur
Pin 11 LED Rouge
Pin 10 LED Vert
Masse GND

Exemple de code ON/OFF

Cet exemple de code montre comment les DEL intégrées peuvent être changées alternativement dans un cycle de 3 secondes au moyen d'une broche de sortie définissable.

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

Exemple de programme ON/OFF Télécharger :

KY029-Arduino-ON-OFF.zip

Exemple de code PWM

La modulation de largeur d'impulsion [PWM] peut être utilisée pour réguler la luminosité d'une LED - la LED est allumée et éteinte à des intervalles de temps spécifiques, le rapport entre les temps d'allumage et d'extinction correspondant à une luminosité relative - en raison de l'inertie de la vision humaine, les yeux humains interprètent ce comportement d'allumage/extinction comme un changement de luminosité. Pour plus d'informations sur ce sujet, consultez cet article de mikrokontroller.net.

Dans ce module, plusieurs LED sont intégrées - en superposant différents niveaux de luminosité, on peut créer différentes couleurs. Ceci est illustré dans l'exemple de code suivant.

int Led_Rouge = 10;
int Led_Verte = 11;
 
int val;
 
void setup () {
  // Initialisation des broches de sortie pour les LEDS
  pinMode (Led_Rouge, OUTPUT); 
  pinMode (Led_Verte, OUTPUT); 
}
void loop () {
   // Dans une boucle For, différentes valeurs PWM sont envoyées aux 2 LEDS
   for (val = 255; val> 0; val--)
      {
      analogWrite (Led_verte, val);
      analogWrite (Led_Rouge, 255-val);
      delay (15);
   }
   // Dans cette seconde boucle For, les valeurs sont inversées
   for (val = 0; val <255; val++)
      {
      analogWrite (Led_Verte, val);
      analogWrite (Led_Rouge, 255-val);
      delay (15);
   }
}

Télécharger l'exemple de programme

KY029-Arduino-PWM.zip

Exemple de code Raspberry Pi

Affectation des broches Raspberry Pi

Raspberry Pi Capteur
GPIO 23 [Pin 16] LED Vert
GPIO 24 [Pin 18] LED Rouge
Masse [Pin 6] GND

Exemple de code ON/OFF

Cet exemple de code montre comment les DEL intégrées peuvent être changées alternativement dans un cycle de 3 secondes en utilisant une broche de sortie définissable.

#!/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 = 24
LED_VERTE = 23
GPIO.setup(LED_ROUGE, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_VERTE, 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
        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
        time.sleep(3) #Délai de 3 secondes
    
# remise en place de tous les GPIO en entrées
except KeyboardInterrupt:
    GPIO.cleanup()

Exemple de programme ON/OFF Télécharger

KY029-RPi-ON-OFF.zip

Pour commencer avec la commande :

sudo python3 KY029-RPi.py

Exemple de code PWM

La modulation de largeur d'impulsion [PWM] permet de réguler la luminosité d'une LED - la LED est allumée et éteinte dans certains intervalles de temps, le rapport entre le temps d'allumage et le temps d'extinction correspondant à une luminosité relative - en raison de l'inertie de la vision humaine, les yeux humains interprètent ce comportement d'allumage/extinction comme un changement de luminosité. Pour plus d'informations sur ce sujet, consultez cet article de mikrokontroller.net.

Plusieurs LED sont intégrées dans ce module. En superposant différents niveaux de luminosité, il est donc possible de créer différentes couleurs. Ceci est illustré dans l'exemple de code suivant. Dans le Raspberry Pi, seul un canal PWM matériel n'est pas limité aux broches GPIO, c'est pourquoi cet exemple utilise un PWM logiciel.

#!/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 = 24
LED_Verte = 23
   
# Configuration des broches en sortie
GPIO.setup(LED_Rouge, GPIO.OUT) 
GPIO.setup(LED_Verte, GPIO.OUT)
   
Freq = 100 #Hz
   
# Les couleurs respectives sont initialisées
ROUGE = GPIO.PWM(LED_Rouge, Freq) 
VERTE = GPIO.PWM(LED_Verte, Freq)
ROUGE.start(0)  
VERTE.start(0)
   
# Cette fonction génère la couleur réelle
# L'intensité de la couleur peut être modifiée grâce à la variable Couleur
# Après réglage de la couleur, la durée d'allumage est définie par 'time.sleep'
  
def LED_Couleur(Rouge, Verte, pause):
    ROUGE.ChangeDutyCycle(Rouge)
    VERTE.ChangeDutyCycle(Verte)
    time.sleep(pause)
  
    ROUGE.ChangeDutyCycle(0)
    VERTE.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):
                print (x,y)
                for i in range(0,101):
                    LED_Couleur((x*i),(y*i),.02)
   
# remise en place de tous les GPIO en entrées
except KeyboardInterrupt:
        GPIO.cleanup()

Exemple de téléchargement de programme

KY029-RPi-PWM.zip

Pour commencer avec la commande :

sudo python3 KY029-PWM.py

Exemple de code Micro:Bit

Affectation des broches Micro:Bit :

Micro:Bit Capteur
Pin 1 LED VERT
Pin 2 LED ROUGE
Masse GND

Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les deux autres exemples. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.

Téléchargement d'un exemple de programme

microbit-KY-029.zip