Excellent Explaination of a PID Controller Implemented on an Arduino
brettbeauregard.com
brettbeauregard.com
A proportional-integral-derivative controller (PID controller) is a control loop feedback mechanism (controller) widely used in industrial control systems [...] A PID controller calculates an "error" value as the difference between a measured process variable and a desired setpoint. The controller attempts to minimize the error in outputs by adjusting the process control inputs.
And unforunately, with the proliferation of cheap prototyping platforms and sensors, there are an abundance of projects and kickstarters out there aiming to be home automation / garden automation / mushroom farm systems / etc that try to implement process control without even knowing the existence of PID algorithms and they just do dumb behavior: temperature too low -> turn on heater. temperature too high -> turn off heater, etc.