Our digital thermometer is driven by an Atmel AT90S/L8535 microcontroller chip
which controls and interfaces with our different I/O components. The various I/O
components include:
- An array of 7 push buttons which accept user input and form the user interface
- A 16 X 1 LCD display for easy viewing of temperature values and messages
- A
National Semiconductor LM 34 Precision Fahrenheit Temperature Sensor (3 pin)
We chose the LM 34 temperature sensor over other temperature sensing devices
(such as the LM 35) due to its accuracy. Its base temperature scale is in Fahrenheit
which has a higher resolution than the Celsius scale. Furthermore, it allows us
to accurately record temperatures down to .1°F since a 10 mV change on the Vout pin
of the sensor corresponds to a 1°F temperature change (Thus a 1 mV change corresponds
to a .1°F change).
Using the LM 34, we are able to display temperatures in 4 different scales: Fahrenheit (the base scale),
Celsius, Kelvin, and Rankine. Conversions are based on the following formulas:
- °F (measured)
- °C = 5/9 (°F - 32)
- °K = °C + 273 = 5/9 (°F - 32) + 273
- °R = °F + 460
Additionally, we take advantage of the built-in ADC (Analog-to-Digital Converter) on
our 8535 chip to process our analog temperature/voltage waveform... Since the temperature
is actually measured as a continuous voltage waveform, we need to take discrete samples of
the voltage at a regular time period -- in our case this was 50 ms. Calculations are then
performed within the program to do the necessary conversions.
Finally, we decided to use a 16 X 1 LCD display for the visual display since it gave us
just enough room to display a temperature and alarm message if necessary. Moreover, the
large font size makes for easier reading. Although this is actually the largest component in
our device, it is still small enough to ensure that our entire device can be packaged into
a small portable unit.