/* Programme led RGB avec fonction RANDOM
* Code d'exemple pour une LED RGB (+16 millions de couleurs).
* Crée par Pascal /
/* Broches */
const byte PIN_LED_R = 9;
const byte PIN_LED_G = 10;
const byte PIN_LED_B = 11;
int data1;
int data2;
int data3;
// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {
// Initialise les broches
pinMode(PIN_LED_R, OUTPUT);
pinMode(PIN_LED_G, OUTPUT);
pinMode(PIN_LED_B, OUTPUT);
displayColor(0, 0, 0);
data1 = 0;
data2 = 0;
data3 = 0;
}
/** Affiche une couleur */
void displayColor(byte r, byte g, byte b) {
// Assigne l'état des broches
// Version cathode commune
//analogWrite(PIN_LED_R, r);
//analogWrite(PIN_LED_G, g);
//analogWrite(PIN_LED_B, b);
// Version anode commune
analogWrite(PIN_LED_R, ~r);
analogWrite(PIN_LED_G, ~g);
analogWrite(PIN_LED_B, ~b);
}
// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {
data1 = random(0, 255);
data2 = random(0, 255);
data3 = random(0, 255);
/* Code de démonstration */
displayColor(data1, data2, data3);
delay(1000);
}