NekroDoll no tienes idea lo que es un PID no? Se nota por el codigo que pusiste.
Lo que pusiste es cuanto mucho un P me falta la parte integral y diferencial.
Lo tuyo es un control proporcional basico. Pero luego se mide el error acumulado en el tiempo (integral) y la variacion del error (diferencial) de ese modo logras que el sistema llegue al setpoint seleccionado y ante variaciones externas puede anticiparse y corregir.