Arduino - LED qui s'estompe

Cet exemple illustre l'utilisation de la fonction analogWrite () pour éteindre une LED. AnalogWrite utilise la modulation de largeur d'impulsion (PWM), activant et désactivant très rapidement une broche numérique avec différents ratios d'activation et de désactivation, pour créer un effet de fondu.

Composants requis

Vous aurez besoin des composants suivants -

  • 1 × planche à pain
  • 1 × Arduino Uno R3
  • 1 × LED
  • 1 × 330Ω résistance
  • 2 × cavalier

Procédure

Suivez le schéma de circuit et connectez les composants sur la carte d'expérimentation comme indiqué dans l'image ci-dessous.

Note- Pour connaître la polarité d'une LED, regardez-la attentivement. La plus courte des deux pattes, vers le bord plat de l'ampoule indique la borne négative.

Les composants tels que les résistances doivent avoir leurs bornes pliées dans des angles de 90 ° afin de s'adapter correctement aux prises de la carte d'expérimentation. Vous pouvez également raccourcir les bornes.

Esquisser

Ouvrez le logiciel Arduino IDE sur votre ordinateur. Le codage en langage Arduino contrôlera votre circuit. Ouvrez le nouveau fichier d'esquisse en cliquant sur Nouveau.

Code Arduino

/*
   Fade
   This example shows how to fade an LED on pin 9 using the analogWrite() function.

   The analogWrite() function uses PWM, so if you want to change the pin you're using, be
   sure to use another PWM capable pin. On most Arduino, the PWM pins are identified with
   a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11.
*/

int led = 9; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// the setup routine runs once when you press reset:

void setup() {
   // declare pin 9 to be an output:
   pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:

void loop() {
   // set the brightness of pin 9:
   analogWrite(led, brightness);
   // change the brightness for next time through the loop:
   brightness = brightness + fadeAmount;
   // reverse the direction of the fading at the ends of the fade:
   if (brightness == 0 || brightness == 255) {
      fadeAmount = -fadeAmount ;
   }
   // wait for 30 milliseconds to see the dimming effect
   delay(300);
}

Code à noter

Après avoir déclaré la broche 9 comme votre broche LED, il n'y a rien à faire dans la fonction setup () de votre code. La fonction analogWrite () que vous utiliserez dans la boucle principale de votre code nécessite deux arguments: l'un, indiquant à la fonction sur quelle broche écrire et l'autre indiquant la valeur PWM à écrire.

Afin d'éteindre et d'allumer la LED, augmentez progressivement les valeurs PWM de 0 (complètement éteint) à 255 (complètement allumée), puis revenez à 0, pour terminer le cycle. Dans le schéma ci-dessus, la valeur PWM est définie à l'aide d'une variable appelée luminosité. À chaque fois dans la boucle, il augmente de la valeur de la variablefadeAmount.

Si la luminosité est à l'un ou l'autre extrême de sa valeur (0 ou 255), alors fadeAmount est changé en son négatif. En d'autres termes, si fadeAmount est égal à 5, il est défini sur -5. Si elle est de -5, elle est définie sur 5. La prochaine fois que vous parcourez la boucle, ce changement fait également changer la direction de la luminosité.

analogWrite()peut changer la valeur PWM très rapidement, de sorte que le délai à la fin de l'esquisse contrôle la vitesse du fondu. Essayez de changer la valeur du délai et voyez comment il change l'effet de fondu.

Résultat

Vous devriez voir la luminosité de votre LED changer progressivement.