Estas seguro que necesitas un PID actuando de forma directa ?
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
Me refiero a que si la temperatura esta por debajo del Setpoint (error negativo) tu necesitas meter calor para corregir (aumentar parte positiva del ciclo)
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, REVERSE);
Aunque quizas sea lo mismo que cambiar < por el > en el if(), no estoy muy seguro.