That relatively minor change forced a paradigm shift in what processing was done where.  Originally, I was just reading the voltage ratio from the pin and sending it to the PC that did the work to convert to degrees.  The pin reports a value in 10 bits (i.e. 0-1023) but the EEPROM stores only bytes (i.e. 0-255).  I could have renormalized to the smaller range, but only at the loss of a lot of precision.  Instead, I now calculate the temp right on the Arduino.  Surprisingly (to me, anyway), you can use the regular math library functions like log().  So then I end up with a temperature that practically speaking won't get above 255 or below 0, and even if it did I could add or subtract a constant to recenter it to my working range.
I will describe what temperature I was logging in another post, but for now here's the pretty graph.
 
Sunday, July 22, 2007
Temperature Logging Part III: The Exciting Conclusion
Some pics of the final state:
 
 You might notice an extra button.  I decided to write to EEPROM rather than an array after all.  The reason was an unreliable power situation.  A 9V battery lasts for a few hours and I didn't want to lose hours of data at the last second.  So we have a switch for power on/off, a button for "send data" and a button for "start collecting data".  The last one is I can control when the EEPROM starts getting overwritten the next time I turn it on.
You might notice an extra button.  I decided to write to EEPROM rather than an array after all.  The reason was an unreliable power situation.  A 9V battery lasts for a few hours and I didn't want to lose hours of data at the last second.  So we have a switch for power on/off, a button for "send data" and a button for "start collecting data".  The last one is I can control when the EEPROM starts getting overwritten the next time I turn it on.
Labels:
arduino,
electronics,
experiments,
logging,
sensors,
temperature
Subscribe to:
Post Comments (Atom)
 
 
95 degrees Celsius?!? Where are you keeping this thing?
ReplyDelete(Nice idea, though.)
It was in here.
ReplyDeleteAnd come look at more recent information on the logger.