Dopo essermi studiato il funzionamento della macchina a stati finiti (che mi è stata fondamentale per un altro gioco di luce ) ho provato con il programma consigliato da torn24 e FUNZIONA!!!
Però accade una cosa molto strana: nonostante la variabile tempo cambi (controllato da seriale) il tempo della dissolvenza rimane sempre lo stesso :-\
Non riesco proprio a capire il motivo....vi lascio il programma:
analogRead(A5);
pR = map(analogRead(A5), 0, 1023, 1, 20);
tempo = pR;
if(millis() - zero > tempo){
if(stato == 0){
fadeR--;
fadeG++;
analogWrite(R, fadeR);
analogWrite(G, fadeG);
if(fadeR == 0){
stato = 1;
}
}
else if(stato == 1){
fadeG--;
fadeB++;
analogWrite(G, fadeG);
analogWrite(B, fadeB);
if(fadeG == 0){
stato = 2;
}
}
else if(stato == 2){
fadeB--;
fadeR++;
analogWrite(B, fadeB);
analogWrite(R, fadeR);
if(fadeB == 0){
stato = 0;
}
}
zero = millis();
}
}
Leo