Étape 4: Arduino Code
Remarque : je n’écrivait pas ce code moi-même, que c’est d’un ancien projet de la mine où j’ai emprunté ce code simple à apprendre. Je ne me souviens pas l’auteur original cependant. Mais je pense que c’est du Sparkfun starter kit pour apprendre à utiliser des LEDs RGB.
Le câblage est telle que j’utilise une anode-commun (common ground). Vous pouvez utiliser facilement une configuration commune-cathode, mais vous devrez modifier le code pour inverser les hauts et les bas. L’arduino coule les anodes à ses motifs et contrôle chaque canal RVB individuellement à l’aide de broches PWM (numérique) 9, 10, 11. Peu importe dans quel ordre. J’ai utilisé une résistance de 100 ohms (1/2 W) avant chaque LED. Je n’aimais pas dim comment c’était avec une valeur plus élevée, et étant donné que chaque LED est seulement sur pendant une courte période de temps il n’est pas trop gros un accord. Je sais que ce n’est pas la valeur correcte à utiliser, mais il semble fonctionner mieux.
Il est à noter qu’il n’importe quelle broche vous branchez sur laquelle broche RVB. Par quoi j’entends vous pouvez connecter le vert au bleu et rouge à rouge et bleu au vert et elle sera toujours travail (ou une combinaison). Il va faire est changement quelles couleurs apparaissent à quel moment dans le temps, le code permet de faire défiler toutes les combinaisons de toute façon.
de toute façon, voici le code de l’arduino ci-dessous :
int rouge = 9 ; Pin rouge de la LED sur la broche 9 de PWM
int vert = 10 ; Broche verte de la LED sur la broche 10 de PWM
int bleu = 11 ; Broche bleue de la LED sur la broche 11 de PWM
int DELAY_TIME = 10 ; changements de vitesse de décoloration
int MAX_BRIGHT = 255 ; définit la luminosité maximale, luminosité max 255
int COLOR_MIX = 0 ; variable pour modifier les couleurs qui sont mélangent dans une instruction switch
void //loop fade_in(int x) qui peu à peu s’allume la LED à l’aide de PWM
{
int compteur ;
pour (compteur = 0; compteur < x; compteur ++)
{
led_mixer (COLOR_MIX, compteur) ;
Delay(DELAY_TIME) ;
}
}
void //loop fade_out(int x) qui peu à peu éteint la LED à l’aide de PWM
{
int compteur ;
pour (compteur = x; compteur > 0; compteur--)
{
led_mixer (COLOR_MIX, compteur) ;
Delay(DELAY_TIME) ;
}
}
void led_mixer (int couleur, int x) instruction switch //uses de mélanger des combinaisons de couleurs
{
Switch(Color)
{
case 0 :
analogWrite (rouge, x) ;
rupture ;
cas 1 :
analogWrite (vert, x) ;
rupture ;
cas 2 :
analogWrite (bleu, x) ;
rupture ;
cas 3 :
analogWrite (bleu, x) ;
analogWrite (vert, x) ;
rupture ;
cas 4 :
analogWrite (rouge, x) ;
analogWrite (bleu, x) ;
rupture ;
cas no 5 :
analogWrite (rouge, x) ;
analogWrite (vert, x) ;
rupture ;
par défaut :
analogWrite (vert, x) ;
analogWrite (bleu, x) ;
analogWrite (rouge, x) ;
rupture ;
}
}
void setup()
{
rien pour l’installation
}
void loop() //loop forever
{
fade_in(MAX_BRIGHT) ; peu à peu allumer la LED à luminosité max
fade_out(MAX_BRIGHT) ; peu à peu éteindre la LED
COLOR_MIX ++ ; incrémenter à la combinaison de couleur suivante
if(COLOR_MIX == 7) //if toutes les combinaisons de couleurs ont été affichées, relancez le cycle
{
COLOR_MIX = 0 ;
}
}