Temperature by Ray Wisman and Kyle Forinash, Indiana University SE.
Temperature records, graphs and emails temperature measurements from a thermistor circuit (see below) connected through the iPod/iPhone/iPad headset port. For testing the application, a standard headset jack can be used.
The application is useful for measuring current temperature or recording temperature changes over a time period.
Up to two days of temperature measurements can be recorded at rates of 1 to 10 samples per second. The measurements are graphed as recorded and can also be emailed.
Tab bar icons by Joseph Wain @ glyphish.com.
Core-Plot for graphs, http://code.google.com/p/core-plot.
Clock image by http://commons.wikimedia.org/wiki/File:Crystal_Clear_app_clock.png
Colored LED Rectangles by http://www.clker.com
Sine wave generation by Andy Buchanan, 2010, http://stackoverflow.com/questions/2067267/where-to-start-with-audio-synthesis-on-iphone
Thermistor circuit, http://hmb-tec.de/iPhoneApps/Thermometer.html
MeterView by Frank Schmitt on 2010-12-04, Copyright © 2011 Laika Systems
Volume control provides rough calibration to a known temperature, such as an external thermometer.
Hotter/Cooler for finer calibration in steps of 0.1 C°.
Faster/Slower temperature updates from 0.1s to 1s intervals in steps of 0.1s.
Save the fine calibration setting, automatically reloaded at app startup.
Record/Stop to record/stop recording temperatures. The recorded temperatures are plotted and can be emailed in a spreadsheet readable format.
Email the recorded measurements.
Time is the time in seconds since Start button pressed.
Temperature is the vertical axis of the graph, scaled to fit the maximum and minimum value over the time to be displayed.
Time is displayed horizontally.
Sliders set the Start and End of the time interval displayed.
A maximum of 250 data points between the Start and End points are graphed to maintain responsiveness.
Email addressee, fine calibration and attachment file name preferences are in Settings.
The graph illustrates holding the thermistor between two fingers then releasing with a return to ambient temperature.
The simple thermistor circuit and Temperature app.
R1 = 10kΩ, R2 = 220Ω, C = 0.1μF. The headset jack is a standard four-pole jack.
Using the Headset Port
The headset port can serve to interface to devices that produce similar resistance change characteristics to that of the thermistor. For example, ambient light levels can be measured by replacing the thermistor with a light activated photo resistor.
Designed for audio, the headset port filters DC current inputs and outputs. However, a sine wave with frequency ranging up to 20kHz can be output by a phone app from the headset port to serve as input to the temperature circuit. The amplitude of the returning sine wave output is determined by the resistance of the thermistor. Only the amplitude of the sine wave varies in the circuit, not the frequency. The amplitude of the circuit output is then measured through the headset microphone as a decibel (dB) reading by our phone app . To reduce noise due to sampling errors, a low pass filter is applied to the peak decibel reading of the returning sine wave as measured over a short period of time. Since decibels are already a natural log scale, the relation between dB and temperature will be linear instead of exponential, as seen in the sample data below. A least squares fit to the data gives a straight-line equation that relates the circuit output to other temperatures. Programmed with the equation and calibrated to a temperature on the line, the app can measure temperature. The headset volume control serves to calibrate for individual circuit differences.
The fitted linear equation relates dB to temperature for the thermistor circuit. The plot of temperature (in Celsius) versus peak amplitude from the thermistor in decibels taken for temperatures, respectively, in the freezer compartment of a refrigerator, in ice water, in the refrigerator, in an air-conditioned room, outside during the day, in boiling water.