High Level Design

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:

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:
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.