The PID library is way beyond my current comprehension, but I'll see if there is a code somewhere using it that I can learn from.
I've been using running averages for a LOT of different codes. It looks like I might be able to replace them with PID as well.