ma le sonde di per sé funzionano... ma solo se la parte di programma che controlla il pwm segna 0 oppure 255
mi spiego meglio: i due canali pwm comandano 4 driver ciascuno in 0-10 pwm. Il mio programma è diviso in 3 parti: alba, mantenimento intensità massima e tramonto. La cosa strana è che nella prima fase di programma e nell'ultima i valori delle temperature vengono letti correttamente! nella parte centrale, invece, mi rendono un -127.00°.
E la parte centrale del programma, ossia quella che mantiene il segnale pwm a 130 per un certo periodo di tempo, l'ho strutturata in questo modo:
if (daybyminute >= ((ontime * 60) + blueramptime + whiteramptime))
{
if ( daybyminute < ((ontime * 60) + blueramptime + whiteramptime + photoperiod)) // if time is in range of photoperiod, turn lights on to maximum fade value
{
analogWrite(blue, 130);
srlcd.setCursor(13, 1);
srlcd.print(10);
srlcd.print(" ");
analogWrite(white, 100);
srlcd.setCursor(2, 1);
srlcd.print(10);
srlcd.print(" ");
}
}
Non riesco a spiegarmi come mai le sonde funzionano durante le altre due fasi e qui invece no... è la più semplice di tutto il programma!!
Penso di poter escludere, a questo punto, che il problema riguardi resistenze, collegamenti elettrici o altro che non sia il programma stesso...