Modifier L'intensité Lumineuse D'une LED - Wiki L.A.B

Sommaire

  • 1 Matériel
  • 2 Montage
  • 3 Programme
  • 4 Montage avec BP
  • 5 Programme avec BP
Matériel
  • Arduino Uno
  • Plaque d'essai (breadbord)
  • LED
  • Bouton Poussoir
  • Résistance 1/4W 270Ω ( 220Ω ou 330Ω peuvent également convenir)
  • Straps ou fils de liaison
Montage

Montage LED PWM Montage LED PWM

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 branchée sur la broche 3 */ # define led 3 // broche de la LED void setup() // setup est déroulé une seule fois après la remise à zéro { pinMode(led, OUTPUT); // la broche led (3) est initialisée en sortie } void loop() // loop est déroulé indéfiniment { for (int i=0; i<255;i++) // i varie de 1 à 255 { analogWrite(led,i); // génère une impulsion sur la broche de largeur i => la luminosité augmente delay(20); // pause de 20 ms entre chaque pas } }
Montage avec BP

Montage LED PWM Montage LED PWM

Programme avec BP

Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino

/* Ce programme allume puis éteint progressivement une LED branchée sur la broche 3 lorsque le bouton poussoir est appuyé */ int BP = 2; // broche du bouton poussoir int led = 3; // broche de la LED int i = 0; // variable de la boucle for void setup() // setup est déroulé une seule fois après la remise à zéro { pinMode(led, OUTPUT); // la broche led (3) est configuéeée en sortie pinMode(BP, INPUT_PULLUP); // la broche BP (3) est configuréée en entrée avec résistance de tirage au + } void loop() // loop est déroulé indéfiniment { if (!digitalRead(BP)) // test si BP appuyé { for (;i<255;i++) // i varie de 1 à 255 { analogWrite(led,i); // génère une impulsion sur la broche de largeur i => la luminosité augmente delay(10); // pause de 10 ms entre chaque pas } for (;i>0;i--) // i varie de 1 à 255 { analogWrite(led,i); // génère une impulsion sur la broche de largeur i => la luminosité augmente delay(10); // pause de 10 ms entre chaque pas } } }

Le programme suivant a strictement la même fonctionnalité en utilisant la boucle while

/* Ce programme allume puis éteint progressivement une LED branchée sur la broche 3 lorsque le bouton poussoir est appuyé en utilisant la boucle While */ int BP = 2; // broche du bouton poussoir int led = 3; // broche de la LED int i = 0; // variable de la boucle for void setup() // setup est déroulé une seule fois après la remise à zéro { pinMode(led, OUTPUT); // la broche led (3) est configuéeée en sortie pinMode(BP, INPUT_PULLUP); // la broche BP (3) est configuréée en entrée avec résistance de tirage au + } void loop() // loop est déroulé indéfiniment { while (!digitalRead(BP)) // exécute la boucle tant que BP est appuyé { for (;i<255;i++) // i varie de 1 à 255 { analogWrite(led,i); // génère une impulsion sur la broche de largeur i => la luminosité augmente delay(10); // pause de 10 ms entre chaque pas } for (;i>0;i--) // i varie de 1 à 255 { analogWrite(led,i); // génère une impulsion sur la broche de largeur i => la luminosité augmente delay(10); // pause de 10 ms entre chaque pas } } }

Tag » Arduino Varier Intensité Led