Module Led RGB 10mm

Disponibilité:

143 en stock

Comparer
UGS : 0173 Catégories : ,

Description

Module RGB 10mm

Le module LED RGB 10mm est un dispositif lumineux qui combine des diodes électroluminescentes rouges, vertes et bleues dans une seule unité. Ce module permet de produire une large gamme de couleurs en ajustant les intensités de chaque LED via des signaux PWM (modulation de largeur d’impulsion). Il est couramment utilisé dans les projets de bricolage, les indicateurs de statut et les effets lumineux décoratifs.

Caractéristiques en détails

  • Tension de fonctionnement : DC 5V
  • Courant de fonctionnement : 0.6A (max)
  • Puissance maximale : 0.3W
  • Température de fonctionnement : -25°C à +65°C
  • Interface : Connecteur à 4 broches (pas de 2.54mm)
  • Diamètre des trous de fixation : 3mm
  • Dimensions : 30mm x 20mm
  • Conformité environnementale : ROHS

Fonctionnement

Le module utilise une LED RGB à anode commune, ce qui signifie que le pin commun est connecté au positif (Vcc), et les autres broches sont contrôlées individuellement pour le rouge, le vert et le bleu via des signaux PWM. Cela permet de mélanger les couleurs en ajustant les intensités de chaque couleur primaire.

Applications

  • Projets de bricolage
  • Éclairage décoratif
  • Indicateurs de statut
  • Affichages de couleurs personnalisées

Brochage

  • Vcc : Tension d’alimentation (+5V)
  • R : Contrôle de la LED rouge
  • G : Contrôle de la LED verte
  • B : Contrôle de la LED bleue
  • GND : Masse (terre)

Comment l’utiliser avec Arduino Uno

Exemple de code Arduino de base
int redPin = 11; // broche pour la LED rouge
int greenPin = 9; // broche pour la LED verte
int bluePin = 10; // broche pour la LED bleue


void setup() {
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}


void loop() {
  setColor(0, 255, 255); // rouge
  delay(1000);
  setColor(255, 0, 255); // vert
  delay(1000);
  setColor(255, 255, 0); // bleu
  delay(1000);
  setColor(120, 10, 10); // blanc
  delay(1000);
}


void setColor(int redValue, int greenValue, int blueValue) {
  analogWrite(redPin, redValue);
  analogWrite(greenPin, greenValue);
  analogWrite(bluePin, blueValue);
}

But du code

Ce code change la couleur de la LED RGB toutes les secondes, en alternant entre rouge, vert, bleu et blanc.

Composants nécessaires pour le code de base

  • Arduino Uno
  • Module LED RGB 10mm
  • Résistances (220Ω) pour chaque LED

Explication détaillée du code

  1. Inclusion des bibliothèques et définition des broches :
    • int redPin = 11;, int greenPin = 9;, int bluePin = 10; : Définition des broches de connexion pour chaque LED.
  2. Configuration des broches dans setup() :
    • pinMode(redPin, OUTPUT); : Configure la broche redPin en sortie.
    • pinMode(greenPin, OUTPUT); : Configure la broche greenPin en sortie.
    • pinMode(bluePin, OUTPUT); : Configure la broche bluePin en sortie.
  3. Boucle principale loop() :
    • setColor(0, 255, 255); : Change la couleur de la LED à rouge.
    • delay(1000); : Attend une seconde avant de changer la couleur suivante.
  4. Fonction setColor() :
    • analogWrite(redPin, redValue); : Ajuste l’intensité de la LED rouge.
    • analogWrite(greenPin, greenValue); : Ajuste l’intensité de la LED verte.
    • analogWrite(bluePin, blueValue); : Ajuste l’intensité de la LED bleue.

Exemple de code Arduino avancé

const int RED_PIN = 11;   // Broche pour la LED rouge
const int GREEN_PIN = 9;  // Broche pour la LED verte
const int BLUE_PIN = 10;  // Broche pour la LED bleue


void setup() {
  // Configurer les broches comme sorties
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);
  pinMode(BLUE_PIN, OUTPUT);
}


void loop() {
  // Parcourir toutes les combinaisons de couleurs possibles
  for (int i = 0; i < 16777216; i++) { // 2^24 combinaisons de couleurs possibles
    int r = (i >> 16) & 0xFF;  // Extraire la valeur rouge
    int g = (i >> 8) & 0xFF;   // Extraire la valeur verte
    int b = i & 0xFF;          // Extraire la valeur bleue
    setColor(r, g, b);         // Définir la couleur
    delay(100);                // Attendre 0,1 seconde
  }
}


// Fonction pour définir la couleur
void setColor(int redValue, int greenValue, int blueValue) {
  analogWrite(RED_PIN, redValue);   // Ajuster l'intensité de la LED rouge
  analogWrite(GREEN_PIN, greenValue); // Ajuster l'intensité de la LED verte
  analogWrite(BLUE_PIN, blueValue);  // Ajuster l'intensité de la LED bleue
}

But du code

Ce code parcourt toutes les combinaisons possibles de couleurs en utilisant les valeurs des LEDs rouge, verte et bleue. Chaque combinaison de couleur est affichée pendant 0,1 seconde avant de passer à la suivante, permettant de visualiser une transition continue entre toutes les couleurs possibles.

Composants nécessaires pour le code avancé

  • Arduino Uno
  • Module LED RGB 10mm
  • Résistances (220Ω) pour chaque LED

Explication détaillée du code

  1. Définition des constantes de broches :
    • const int RED_PIN = 11;, const int GREEN_PIN = 9;, const int BLUE_PIN = 10; : Définition des broches de connexion pour chaque LED.
  2. Configuration des broches dans setup() :
    • pinMode(RED_PIN, OUTPUT); : Configure la broche RED_PIN en sortie.
    • pinMode(GREEN_PIN, OUTPUT); : Configure la broche GREEN_PIN en sortie.
    • pinMode(BLUE_PIN, OUTPUT); : Configure la broche BLUE_PIN en sortie.
  3. Boucle principale loop() :
    • for (int i = 0; i < 16777216; i++) : Parcourt toutes les combinaisons possibles de 24 bits pour les couleurs RGB.
    • int r = (i >> 16) & 0xFF; : Extrait les 8 bits les plus significatifs pour la valeur rouge.
    • int g = (i >> 8) & 0xFF; : Extrait les 8 bits intermédiaires pour la valeur verte.
    • int b = i & 0xFF; : Extrait les 8 bits les moins significatifs pour la valeur bleue.
    • setColor(r, g, b); : Ajuste la couleur de la LED en fonction des valeurs actuelles de rouge, vert et bleu.
    • delay(100); : Attend 0,1 seconde avant de passer à la combinaison de couleur suivante.
      • Nombre de couleurs possibles : 16 777 216
      • Délai par couleur : 0,1 seconde
        • Le temps total nécessaire pour parcourir toutes les combinaisons de couleurs serait: 1 677 721,6 secondes (19,39 jours)
    • Fonction setColor() :
      • analogWrite(RED_PIN, redValue); : Ajuste l’intensité de la LED rouge.
      • analogWrite(GREEN_PIN, greenValue); : Ajuste l’intensité de la LED verte.
      • analogWrite(BLUE_PIN, blueValue); : Ajuste l’intensité de la LED bleue.

    Brochage

    • Vcc : Connecté au +5V de l’Arduino
    • R : Connecté à la broche 11 de l’Arduino via une résistance de 220Ω
    • G : Connecté à la broche 9 de l’Arduino via une résistance de 220Ω
    • B : Connecté à la broche 10 de l’Arduino via une résistance de 220Ω
    • GND : Connecté à la masse (GND) de l’Arduino

    En réduisant le nombre de bits utilisés pour les valeurs de couleur, on diminue le nombre total de combinaisons de couleurs, ce qui réduit le temps total nécessaire pour les parcourir. Voici comment cela affecterait le temps total pour différents niveaux de bits :

    • 8 bits par couleur (24 bits au total)
      • Nombre de couleurs possibles :
        224=167772162^{24} = 16 777 216
         
      • Temps total à 0,1 seconde par couleur : environ 19,39 jours
    • 6 bits par couleur (18 bits au total)
      • Nombre de couleurs possibles :
        218=2621442^{18} = 262 144
         
      • Temps total à 0,1 seconde par couleur : environ 7,3 heures.
    • 4 bits par couleur (12 bits au total)
      • Nombre de couleurs possibles :
        212=40962^{12} = 4 096
         
      • Temps total à 0,1 seconde par couleur : environ 6,8 minutes.
    • 3 bits par couleur (9 bits au total)
      • Nombre de couleurs possibles :
        29=5122^9 = 512
         
      • Temps total à 0,1 seconde par couleur : environ 51,2 secondes.

    Exemple de code Arduino ajusté pour 4 bits par couleur

    Nous allons utiliser 4 bits par couleur, ce qui donne 4096 combinaisons de couleurs. Cela rend le temps total raisonnable pour une démonstration.

    const int RED_PIN = 11;   // Broche pour la LED rouge
    const int GREEN_PIN = 9;  // Broche pour la LED verte
    const int BLUE_PIN = 10;  // Broche pour la LED bleue
    
    
    void setup() {
      // Configurer les broches comme sorties
      pinMode(RED_PIN, OUTPUT);
      pinMode(GREEN_PIN, OUTPUT);
      pinMode(BLUE_PIN, OUTPUT);
    }
    
    
    void loop() {
      // Parcourir toutes les combinaisons de couleurs possibles avec 4 bits par couleur
      for (int r = 0; r < 16; r++) { // 2^4 valeurs possibles pour le rouge
        for (int g = 0; g < 16; g++) { // 2^4 valeurs possibles pour le vert
          for (int b = 0; b < 16; b++) { // 2^4 valeurs possibles pour le bleu
            setColor(r * 17, g * 17, b * 17); // Multiplier par 17 pour étendre les valeurs de 0 à 255
            delay(100); // Attendre 0,1 seconde
          }
        }
      }
    }
    
    
    // Fonction pour définir la couleur
    void setColor(int redValue, int greenValue, int blueValue) {
      analogWrite(RED_PIN, redValue);   // Ajuster l'intensité de la LED rouge
      analogWrite(GREEN_PIN, greenValue); // Ajuster l'intensité de la LED verte
      analogWrite(BLUE_PIN, blueValue);  // Ajuster l'intensité de la LED bleue
    }

     

    Mots clés: light, color.