Mettre en œuvre une LED RGB
De Wiki L.A.B
Révision de 8 décembre 2015 à 20:01 par Adminsys (discussion | contributions) (Page créée avec « ===== Matériel ===== * Arduino Uno * Plaque d'essai (breadbord) * LED RGB Cathodes communes * 3 Résistances 1/4W 270Ω ( 220Ω ou 330Ω peuvent également convenir) * St... »)
Matériel
- Arduino Uno
- Plaque d'essai (breadbord)
- LED RGB Cathodes communes
- 3 Résistances 1/4W 270Ω ( 220Ω ou 330Ω peuvent également convenir)
- Straps ou fils de liaison
Montage
Programme
Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino
/*
Ce programme allume progressivement une LED RGB cathodes communes branchée sur les broches 3,5 et 6
*/
int ledR = 3; // broche de la LED Rouge
int ledG = 5; // broche de la LED Verte
int ledB = 6; // broche de la LED Bleue
int i = 0; // variable de la boucle for
void setup() // setup est déroulé une seule fois après la remise à zéro
{
pinMode(ledR, OUTPUT); // la broche led (3) est initialisée en sortie
pinMode(ledG, OUTPUT); // la broche led (5) est initialisée en sortie
pinMode(ledB, OUTPUT); // la broche led (6) est initialisée en sortie
}
void loop() // loop est déroulé indéfiniment
{
for (i=0; i<=255;i++) // i varie de 1 à 255
{
analogWrite(ledR,i); // génère une impulsion sur la broche de largeur i => la luminosité R augmente
delay(20); // pause de 20 ms entre chaque pas
}
digitalWrite (ledR,LOW);
for (i=0; i<=255;i++) // i varie de 1 à 255
{
analogWrite(ledG,i); // génère une impulsion sur la broche de largeur i => la luminosité G augmente
delay(20); // pause de 20 ms entre chaque pas
}
digitalWrite (ledG,LOW);
for (i=0; i<=255;i++) // i varie de 1 à 255
{
analogWrite(ledB,i); // génère une impulsion sur la broche de largeur i => la luminosité B augmente
delay(20); // pause de 20 ms entre chaque pas
}
digitalWrite (ledB,LOW);
for (i=0; i<=255;i++) // i varie de 1 à 255
{
analogWrite(ledR,i); // génère une impulsion sur la broche de largeur i => la luminosité R augmente
analogWrite(ledG,i); // génère une impulsion sur la broche de largeur i => la luminosité G augmente
analogWrite(ledB,i); // génère une impulsion sur la broche de largeur i => la luminosité B augmente
delay(20); // pause de 20 ms entre chaque pas
}
digitalWrite (ledR,LOW);
digitalWrite (ledG,LOW);
digitalWrite (ledB,LOW);
}