Ciao a tutti,
@Lesto
Uso una semplicissima rampa lineare, noto il tempo di fading impostato, lo converto in millessimi e lo divido per il numero di rampe disponibili con arduino uno (255) ottenendo l'inervallo tra una variazione e l'altra, quindi usando l'adeguato confronto con millis() per evitare l'overflow eseguo il fading.
Semplice semplice.
Rampa crescente:
if((millis() - Plafo[linea].Tempoprec) >= Plafo[linea].DeltaFading)
{ Plafo[linea].Tempoprec = Plafo[linea].Tempoprec + Plafo[linea].DeltaFading;
if (Plafo[linea].Fading < Plafo[linea].MaxFading)
{ Plafo[linea].Fading += 1;
analogWrite(Plafo[linea].NrPin,Plafo[linea].Fading);
}
else
Plafo[linea].Alba = false;
}
Spero di essere stato chiaro.
Ciao.
Etemenanki:
lesto:
... ax^2+bx+c = y ...AAARGH ... una formula ... ERESIA !!!
XD XD XD
E' sempre uno spasso leggerti