I made another iteration of the thermal fishing bob code and electronics. This builds from the original version found here: http://publiclab.org/wiki/thermal-fishing-bob-barnraising
Eventually I'm hoping to put together a 3D representation of the water temperature by measuring at different depths. This takes some first steps in that direction by adding multiple thermistors and multiple tricolor LEDs to the original thermal fishing bob.
Here's the electronics set-up:
(This is a rough match to the resisters I actually used--I was scavenging around the electronics bench so ended up with a mixed bag.)
I modified the code to read off multiple thermistors and write to multiple LEDs. In the process I reorganized the original code into functions split between multiple files. I find it easier to stay organized this way. The code seems to still work, so hopefully nothing got lost in the shuffle! Here's the code:
(1) The red LED is very dim. This is mentioned in the original code, but I'm not sure it's ever addressed?
(2) There are only 6 PWM pins built into the Arduino Uno, so it can't easily output to three tricolor LEDs (each LED requires 3 PWM pins). You can see this in the electronics diagram--the third LED isn't connected to anything. This could be solved in software by using the softPWM library.
(3) I'm not sure the calibration of the thermistors is correct. Also, the thermistors respond to temperature change very slowly. I think we may need to move to something with a faster response time in the future.
Next on my to-do list is creating a custom board, data logging, and testing out other temperature sensors!