DFR : Disque lumineux RGB DFR0106

Mise à jour le 25/08/2018 – Rubrique traitant du Disque lumineux RGB DFRobot constitué de 7 leds RGB. Une modulation PWM via une carte compatible Arduino permet d’obtenir une large palette de couleurs.

Disque lumineux RGB DFR0106

Disque lumineux RGB DFR0106

Sommaire :

 

 

Retour au sommaire .
 

 

separateur-redohm-001

Description du disque lumineux RGB DFR0106

Disque lumineux RGB DFRobot constitué de 7 leds RGB. Une modulation PWM via une carte compatible Arduino permet d’obtenir une large palette de couleurs.

Remarque: l’utilisation de ce disque nécessite le soudage du connecteur (inclus) ou le soudage de fils pour le raccordement.

L’utilisation de ce disque nécessite 3 sorties PWM d’un microcontrôleur (Arduino par exemple).

Caractéristiques et spécificités.

  • Alimentation : 5 Vcc
  • Consommation :
    •  60 mA (par led)
    •  420 mA au total
  • Eclairement : 6000 mcd
  • Dimensions : Ø37 x 4 mm
  • Référence fabricant : DFR0106
Retour au sommaire .
 

 

separateur-redohm-001

Définition d’un signal  à modulation de largeur d’impulsion (PWM)

Un signal à modulation de largeur d’impulsion (PWM) est une méthode qui permet de générer un signal analogique en utilisant une source numérique. Un signal PWM est constitué de deux composantes principales qui définissent son comportement : un rapport cyclique et une fréquence. Le rapport cyclique décrit la durée pendant laquelle le signal est à l’état haut (actif) en pourcentage de la durée d’un cycle complet. La fréquence détermine la vitesse à laquelle le PWM effectue un cycle (par exemple, 1000 Hz serait 1000 cycles par seconde) et par conséquent à quelle vitesse il passe de l’état haut à l’état bas et vice versa. En changeant l’état d’un signal numérique suffisamment rapidement, et avec un certain rapport cyclique, la sortie donnera l’apparence de se comporter comme un signal analogique à tension constante lorsqu’elle alimente des périphériques.

Exemple : Pour créer un signal de 3V, étant donné une source numérique qui peut être haute (active) à 5 V ou basse (inactive) à 0 V, vous pouvez utiliser la PWM avec un rapport cyclique de 60 % pour renvoyer 5 V 60 % du temps. Si les cycles du signal numérique sont suffisamment courts, la tension visible sur la sortie semble être la tension moyenne. Si la tension basse du signal numérique est 0 V (généralement le cas), la tension moyenne peut être calculée en multipliant la tension haute du signal numérique par le rapport cyclique, soit 5 V x 0,6 = 3 V. Un rapport cyclique de 80 % produirait 4 V, un de 20 %, 1 V, et ainsi de suite.

En particulier sur Arduino le signal PWM avec la fonction analogWrite()  : 

Écrit une valeur analogique ( onde PWM ) sur une broche. Après un appel analogWrite() , la broche générera une onde carrée régulière du rapport cyclique spécifié jusqu’au prochain appel à analogWrite() (ou à un appel vers digitalRead() ou digitalWrite() ) sur la même broche. La fréquence du signal PWM sur la plupart des broches est d’environ 490 Hz. Les cartes Uno et similaires, les broches 5 et 6 ont une fréquence d’environ 980 Hz.

Sur la plupart des cartes Arduino (celles avec ATmega168 ou ATmega328P), cette fonction fonctionne sur les broches 3, 5, 6, 9, 10 et 11. Sur l’Arduino Mega, elle fonctionne sur les broches 2 – 13 et 44 – 46. Les cartes avec ATmega8 ne prennent analogWrite()en charge que les broches 9, 10 et 11. 

Retour au sommaire .

separateur-redohm-001

Programme n-001
Génère des couleurs aléatoire ( programme constructeur ) 

//
//
// but : Génèrer des couleurs aléatoire 
//
// Cet exemple de code utilise les sorties digital 3,5,6 et GND 
// Ce code ne fonctionne que pour la version V1
// qui est livré avec un câble soudé
// www.dfrobot.com
// Dernière modification du code le 26/11/2014
// 
// programme constructeur
// traduction et commentaire H-Mazelin 25/08/2018



//couleur bleu -> broche numérique 3
int B = 3;
//couleur rouge -> broche numérique 5
int R = 5;
//couleur vert -> broche numérique 6
int G = 6;



// ---------------------------------------------------------------------------
// Un programme Arduino doit impérativement contenir la fonction "setup"
// Elle ne sera exécuter une seule fois au démarrage du microcontroleur
// Elle sert à configurer globalement les entrées sorties
// ---------------------------------------------------------------------------
void setup()
{
  // pinmode  => Configure la broche spécifiée pour qu'elle
  // se comporte en sortie
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
}


// ---------------------------------------------------------------------------
// Le programme principal s’exécute par une boucle infinie appelée Loop () 
// ---------------------------------------------------------------------------

void loop()
{
  // analogWrite
  // Écrit une valeur analogique ( signal PWM ) sur une broche. 
  // Peut être utilisé pour allumer une LED à différentes intensités ou 
  // conduire un moteur à différentes vitesses. Après un appel analogWrite(),
  // la broche générera une onde carrée régulière du rapport cyclique spécifié 
  // jusqu’au prochain appel à analogWrite()(ou à un appel vers digitalRead()ou
  // digitalWrite()) sur la même broche. La fréquence du signal PWM sur la
  // plupart des broches est d’environ 490 Hz. Sur les cartes Uno et similaires,
  // les broches 5 et 6 ont une fréquence d’environ 980 Hz.
  // *  
  // random :L'instruction random() génère des nombres pseudo-aléatoire
  // avec une limite haut du nombre 255 
  analogWrite(B,random(255));  
  analogWrite(R,random(255));  
  analogWrite(G,random(255));
  // Réalise une pause dans l'exécution du programme pour la durée 
  // (en millisecondes)indiquée en paramètre
  delay(1000);  
}

Retour au sommaire .
 

 

separateur-redohm-001

Programme n-002
Clignotant alterne le rouge et le vert 

//
//
// but : Clignotant alterne le rouge et le vert 
//
// Cet exemple de code utilise les sorties digital 3,5,6 et GND 
// Ce code ne fonctionne que pour la version V1
// qui est livré avec un câble soudé
// 
// 
// programme RedOhm
// H-Mazelin 25/08/2018



//couleur rouge -> broche numérique 5
int R = 5;
//couleur vert -> broche numérique 6
int G = 6;
//couleur bleu -> broche numérique 3
int B = 3;


// ---------------------------------------------------------------------------
// Un programme Arduino doit impérativement contenir la fonction "setup"
// Elle ne sera exécuter une seule fois au démarrage du microcontroleur
// Elle sert à configurer globalement les entrées sorties
// ---------------------------------------------------------------------------
void setup()
{
  // pinmode  => Configure la broche spécifiée pour qu'elle
  // se comporte en sortie
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
}


// ---------------------------------------------------------------------------
// Le programme principal s’exécute par une boucle infinie appelée Loop () 
// ---------------------------------------------------------------------------

void loop()
{
  // analogWrite
  // Écrit une valeur analogique ( signal PWM ) sur une broche. 
  // Peut être utilisé pour allumer une LED à différentes intensités ou 
  // conduire un moteur à différentes vitesses. Après un appel analogWrite(),
  // la broche générera une onde carrée régulière du rapport cyclique spécifié 
  // jusqu’au prochain appel à analogWrite()(ou à un appel vers digitalRead()ou
  // digitalWrite()) sur la même broche. La fréquence du signal PWM sur la
  // plupart des broches est d’environ 490 Hz. Sur les cartes Uno et similaires,
  // les broches 5 et 6 ont une fréquence d’environ 980 Hz.
  analogWrite(R,239);
  analogWrite(G,24); 
  analogWrite(B,84); 
  // Réalise une pause dans l'exécution du programme pour la durée 
  // (en millisecondes)indiquée en paramètre
  delay(1000); 
  // Pour la couleur vert 
  analogWrite(R,56);
  analogWrite(G,206); 
  analogWrite(B,6); 
  // Réalise une pause dans l'exécution du programme pour la durée 
  // (en millisecondes)indiquée en paramètre
  delay(1000);  



   
}

 

Retour au sommaire .
 

 

separateur-redohm-001

Programme n-003
Alterne les 3 couleurs dominantes rouge,vert,bleu 

//
// Programme n-003
// but : alterne les couleurs dominantes  
//
// Cet exemple de code utilise les sorties digital 3,5,6 et GND 
// Ce code ne fonctionne que pour la version V1
// qui est livré avec un câble soudé
// 
// 
// programme RedOhm
// H-Mazelin 25/08/2018



//couleur rouge -> broche numérique 5
int R = 5;
//couleur vert -> broche numérique 6
int G = 6;
//couleur bleu -> broche numérique 3
int B = 3;


// ---------------------------------------------------------------------------
// Un programme Arduino doit impérativement contenir la fonction "setup"
// Elle ne sera exécuter une seule fois au démarrage du microcontroleur
// Elle sert à configurer globalement les entrées sorties
// ---------------------------------------------------------------------------
void setup()
{
  // pinmode  => Configure la broche spécifiée pour qu'elle
  // se comporte en sortie
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
}


// ---------------------------------------------------------------------------
// Le programme principal s’exécute par une boucle infinie appelée Loop () 
// ---------------------------------------------------------------------------

void loop()
{
  // analogWrite
  // Écrit une valeur analogique ( signal PWM ) sur une broche. 
  // Peut être utilisé pour allumer une LED à différentes intensités ou 
  // conduire un moteur à différentes vitesses. Après un appel analogWrite(),
  // la broche générera une onde carrée régulière du rapport cyclique spécifié 
  // jusqu’au prochain appel à analogWrite()(ou à un appel vers digitalRead()ou
  // digitalWrite()) sur la même broche. La fréquence du signal PWM sur la
  // plupart des broches est d’environ 490 Hz. Sur les cartes Uno et similaires,
  // les broches 5 et 6 ont une fréquence d’environ 980 Hz.
  // Pour la couleur ROUGE
  analogWrite(R,255);
  analogWrite(G,0); 
  analogWrite(B,0); 
  // Réalise une pause dans l'exécution du programme pour la durée 
  // (en millisecondes)indiquée en paramètre
  delay(1000); 
  // Pour la couleur VERT 
  analogWrite(R,0);
  analogWrite(G,255); 
  analogWrite(B,0); 
  // Réalise une pause dans l'exécution du programme pour la durée 
  // (en millisecondes)indiquée en paramètre
  delay(1000);  
  // Pour la couleur BLEU 
  analogWrite(R,0);
  analogWrite(G,0); 
  analogWrite(B,255); 
  // Réalise une pause dans l'exécution du programme pour la durée 
  // (en millisecondes)indiquée en paramètre
  delay(1000);  

   
}

 

Retour au sommaire .
 

 

separateur-redohm-001

Tutoriel sur le disque lumineux ( vidéo )

 

Retour au sommaire .

separateur-redohm-001

Source d’information

Source d’information ; National Instruments