osakechan shared his project notorious PID fermentation temperature control in the Adafruit Forums:
Hello Adafruit people! I just wanted to share a project I’ve been working on. Much of the core componentry came from your lovely shop and your tutorials proved quite helpful.
Over the last couple months I have been coding my own open source temperature control program for the Arduino MEGA 2560. I call it notorious PID. It incorporates a 20×4 character LCD for display, a rotary encoder with pushbutton for user input, Dallas OneWire DS18B20 temperature sensors, and a unique control algorithm inspired largely by the work of Elco Jacobs on UberFridge and brewPI. It also has data logging capabilities and supports end-user made CSV temperature programs (lists of steps: run at X temp for Y duration) via an SD card slot. This makes it possible to create custom temperature profiles for different fermentations that include things like temperature ramping, diacetyl rests and cold crashing. For a more complete description, check the README at my GitHub repository.
I’ve written a couple libraries that may be of use to other Arduino coders out there. The dallas temperature library was creating a huge problem for the speed of my code with its hard coded delay so I’ve written my own wrapper class for DS18B20 OneWire temperature sensors. I’ve also written some versatile templated functions to add EEPROM read/write functionality to my project.
Most of my work the last couple weeks has been focused on tweaking the control algorithms and determining various tuning parameters (unique to each chamber/fridge/freezer)….
q
notorious PID source via GitHub