Arduino > Exemple de DEL en sortie analogique

1.  Circuit

2.  Démonstration de fondu linéaire

L'exemple suivant gère par sortie analogique le fondu d'une DEL raccordée à la broche 9 du contrôleur.

// Variable pour la valeur de PWM.
int value = 0;
// La broche branchee a la DEL.
int ledpin = 9;

void setup()
{
        pinMode(9,OUTPUT);
}

void loop()
{
        //Fade in.
        for(value = 0 ; value <= 255; value+=5)
        {
                analogWrite(ledpin, value);
                delay(30);
        }

        // Fade out.
        for(value = 255; value >=0; value-=5)
        {
                analogWrite(ledpin, value);
                delay(30);
        }
}

3.  Code pour fondu sinusoïdal


// La broche branchee à la DEL.
int ledpin = 9;

float phase = 4.712;

void setup()
{
        pinMode(ledpin,OUTPUT);
}

void loop()
{

        // do input, etc. here - as long as you don't pause, the LED will keep pulsing

        phase = phase + 0.001;

        if (phase > 10.995)  {
                phase = 4.712;
        }

        float out = sin(phase ) * 127.5 + 127.5;
        analogWrite(ledpin,out);
}