February 5, 2011

Two sensors thermometer (Arduino + Digit Shield)

This is a two sensors thermometer based on Arduino + a Digit Shield and Dallas DS18B20 temperature sensors.

I wanted a thermometer that let me show two temperatures (both "internal" and "external" temperatures), storing min and max values for both temperatures to be shown at a press of a button.

This is the Digit Shield plugged on top of the Arduino board:



This is the schema I've used:



Since the Digit Shield does not have the possibility (through the official nootropic design Arduino library) to show negative values, I've added a "negative sign" indicator through a flat LED (negative temperatures are handled in code).

There's an additional LED to indicate if the temperature shown is related to the external sensor.

Two pushbuttons handle the switch between internal and external temperature ("mode" button") and the display of min/max values of the current sensor ("min/max" pushbutton). Pressing the "mode" button, the shown temperature alternates between "internal" and "external". Pressing the "min/max" pushbutton, the min temperature value of the current sensor is shown for 3 seconds, followed by the max value, then going back to the current temperature value.

UPDATED: here's the code running on Arduino (feel free to use it, modify it etc.- citeing this source is welcome):

Thermometer_7SegmentsDisplay_v03.pde
(compiled with Arduino IDE 0022)