Breathing led con Arduino

Molte volte avrete sicuramente visto su alcuni dispositivi elettronici dei led che emettono una luce pulsante quasi se “respirassero” quell’effetto viene chiamato Breathing Led.
In queste breve guida verrà dimostrato come realizzarlo con Arduino.

Qui di seguito viene mostrato il codice sorgente e relativo video.

#include <math.h>
#define ledPin 11 
int i=0;
int breathe_delay = 15;   // delay between loops
unsigned long breathe_time = millis();
void setup()
{
}
 
void loop()
{
  nonBlockingBreath();  // call the nonblocking function
  // yourOtherCodeHere();
}
 
void nonBlockingBreath()
{
  if( (breathe_time + breathe_delay) < millis() ){
    breathe_time = millis();
    float val = (exp(sin(i/2000.0*PI*10)) - 0.36787944)*108.0; 
    // this is the math function recreating the effect
    analogWrite(ledPin, val);  // PWM
    i=i+1;
  }
}

Leave A Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *