Temperatura y ventilador PID

Buenas, necesito asesoria sobre un trabajo escolar que estoy realizando. Lo planteo asi, se trata de un sistema pid que controla un ventilador de 12v con respecto a la temperatura que desprenden dos resistencias de potencia de 47ohms a 5w alimentadas de 10v. Esta temperatura la lee un sensor ntc de 10k y debe mandar la señal a arduino para que se haga la retroalimentacion y llegue a mi setpoint(45°c), el problema es que no se como realizar el codigo, ya intente varias cosas que me encontre en internet, pero no logro dar con una biena respuesta. Ya tengo varias tablas con los valores de mi temperatura, tengo la F.T y la KP,KI,KD. Agradeceria la ayuda. Incluyo fotos de mis valores ADC con respecto a mi temperatura y el diagrama de mi circuito para mas informacion.

ADC.jpg

ADC.jpg

En teoria no necesitarias un ventilador para mantener la temperatura de 45°c.
Bastaría con aplicar el sistema PID a la propia resistencia.
Mira aquí si te sirve el montaje que yo hice.
Cuanto más simple, mejor.

Si me encontré con tu post, incluso trate de usar tu código y solo le cambié las constantes de kp,kd y ki, pero no pasa nada cuando lo subo al Arduino. Cómo dije en ves de un lm35 use un NTC de 10k, así que supongo debe variar en algo el código. Hay un dato que no entiendo, de dónde sale el 1100mv? Agradezco la respuesta.

Supongo que has conectado el MOFET para controlar las resistencias.
Los 1100mV es el ajuste por usar analogReference(INTERNAL) del Arduino que llega hasta ese valor y permite mayor precisión en las medidas del LM35.
Desde luego usar NTC cambia todo. El LM35 varia en 10mV por cada grado centigrado de variación.

Los esquemas y códigos (en general) no pueden ser copiados tal cual, hay que comprenderlos y adaptarlos a cada caso.

Actualizacion. Ya acabe mi codigo. Gracias

Gracias a ti por compartir la solución.