Termostato per incubatrice

ok, allora mi sono il perso il pezzo in cui fai:

myPID.SetOutputLimits(0, WindowSize);

quindi in pratica il pid.compute() mette in output la durata del segnale ALTO in un PWM con periodo WindowSize.

quindi mi aspetto che all'inizio Output sia == a WindowSize, mano a mano che la temperatura si avvicina al valore desiderato (Setpoint = 37.7;) Output deve diminuire fino ad essere 0 (o quasi, potrebbe rimanere non zero per mantenere la temperatura x combattere le fughe di calore).

puoi alegare l'output della Seriale?

e poi fare una altro test in cui togli

//turn the PID on
myPID.SetMode(AUTOMATIC);

e lasci solo

PID myPID(&Input, &Output, &Setpoint,2,0,0, DIRECT);