Arduino - LED in dissolvenza

Questo esempio dimostra l'uso della funzione analogWrite () per dissolvere un LED spento. AnalogWrite utilizza la modulazione di larghezza di impulso (PWM), attivando e disattivando un pin digitale molto rapidamente con diversi rapporti tra on e off, per creare un effetto di dissolvenza.

Componenti richiesti

Avrai bisogno dei seguenti componenti:

  • 1 × Breadboard
  • 1 × Arduino Uno R3
  • 1 × LED
  • Resistore 1 × 330Ω
  • 2 × Ponticello

Procedura

Seguire lo schema del circuito e collegare i componenti sulla breadboard come mostrato nell'immagine sotto.

Note- Per scoprire la polarità di un LED, guardalo attentamente. La più corta delle due gambe, verso il bordo piatto del bulbo, indica il terminale negativo.

Componenti come le resistenze devono avere i terminali piegati ad angoli di 90 ° per adattarsi correttamente alle prese della breadboard. Puoi anche tagliare i terminali più corti.

Schizzo

Apri il software IDE Arduino sul tuo computer. La codifica nella lingua Arduino controllerà il tuo circuito. Aprire il nuovo file di schizzo facendo clic su Nuovo.

Codice 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);
}

Codice da notare

Dopo aver dichiarato il pin 9 come pin LED, non c'è nulla da fare nella funzione setup () del codice. La funzione analogWrite () che utilizzerai nel ciclo principale del tuo codice richiede due argomenti: uno, che dice alla funzione su quale pin scrivere e l'altro che indica quale valore PWM scrivere.

Per spegnere e accendere il LED, aumentare gradualmente i valori PWM da 0 (completamente spento) a 255 (completamente acceso), quindi di nuovo a 0, per completare il ciclo. Nello schizzo sopra riportato, il valore PWM viene impostato utilizzando una variabile chiamata luminosità. Ogni volta che si esegue il ciclo, aumenta del valore della variabilefadeAmount.

Se la luminosità è all'estremo del suo valore (0 o 255), fadeAmount viene modificato in negativo. In altre parole, se fadeAmount è 5, allora è impostato su -5. Se è -5, allora è impostato su 5. La volta successiva nel ciclo, questo cambiamento fa cambiare direzione anche alla luminosità.

analogWrite()può cambiare il valore PWM molto velocemente, quindi il ritardo alla fine dello schizzo controlla la velocità della dissolvenza. Prova a cambiare il valore del ritardo e guarda come cambia l'effetto di dissolvenza.

Risultato

Dovresti vedere la luminosità del LED cambiare gradualmente.