Étape 4: Le Code
/*
Basé sur Adafruit Arduino - leçon 3. RGB LED
https://Learn.Adafruit.com/Adafruit-Arduino-Lesson-3-RGB-LEDs/Arduino-Sketch
Programme pour faire varier les couleurs RGB LED à l’aide de sinusoïdes
Par Ray Houghton
S’il vous plaît n’hésitez pas à utiliser ce logiciel ou muck sur avec
comme vous s’il vous plaît.
*/
int redPin = 11 ;
int greenPin = 10 ;
bluePin int = 9 ;
flotteur t ;
/ * Broches de sortie pour LEDs (ce sont toutes les sorties PWM * /
Décommentez cette ligne si vous utilisez un LED Anode commune
#define COMMON_ANODE
void setup()
{
pinMode (redPin, sortie) ;
pinMode (greenPin, sortie) ;
pinMode (bluePin, sortie) ;
Réglez de façon strictement à la sortie
}
void loop()
{
pour (t = 0; t < 1000; t = t + 0,001)
définit l’élément de temps instantané des fonctions sinus.
{
/ * Fonctions sinus pour faire varier les sorties PWM sont de la forme
offset + amplitude * sin (2 * pi * F * t)
Où le décalage assure sinewave aller pas inférieur à zéro et
où F est la fréquence désirée
NOTE : Bleu et rouge vert sont différentes luminosité avec LED RGB,
donc le décalage et l’amplitude sont ajustés pour compenser.
*/
redsat int = 126 + 126*sin(2*3.141592654*0.03*t) ;
int greensat = 64 + 64*sin(2*3.141592654*0.027*t) ;
int bluesat = 32 + 32*sin(2*3.141592654*0.025*t) ;
Appelez la fonction setColor
setColor (redsat, greensat, bluesat) ;
Delay(1) ;
}
}
void setColor (int rouge, int vert, int bleu)
{
#ifdef COMMON_ANODE
rouge = 255 - rouge ;
vert = 255 - vert ;
bleu = 255 - bleu ;
#endif
analogWrite (redPin, rouge) ;
analogWrite (greenPin, vert) ;
analogWrite (bluePin, bleu) ;
}