There are many situations when you might need to measure temperatures or trigger some events due to temperature changes. It is very convenient to have these values in a digital format. Then you can transfer digital values to the microcontroller to process data or just to display on the LCD screen.
AD7416 Sensor description
This is a 10-bit digital temperature sensor that can measure temperatures in the range interval -40 to 125ï‚°C). Temperature conversion ADC has 15 conversion times. The sensor can be supplied from 2.7 to 5.5V, so it is no problem to connect directly to ARM microcontrollers. Data is transferred through the I2C serial interface.
The more detailed description and datasheet can be downloaded from Analog devices page: AD7416. Here you find a simple routine where the Atmega8 microcontroller reads sensor data decodes temperature value and displays it on a 2×16 LCD display.
Let’s connect everything to a simple circuit. Don’t forget to connect pull-Ups to SCl and SDA busses:
Here are few real images of prototyping:
That’s it. If you would like to try to run this sensor on your own, here is the source code of the CodeVision compiler. And already compiled hex in the archive. Also, I added the Eagle library with the AD7416 part in it. Project files: AD7416