TC74 Digital thermometer
This project is built with PIC 16F84A and TC74 tiny serial digital thermal sensor from Microchip. PIC16F84 uses I2C master software routines to communicate with thermal sensor i2c slave device. Two 7 segment displays are used to show temperature read by the TC74. Displaying is multiplexed, so only one digit is displayed at a time, but because of high speed multiplexing it is not a problem, and digits lights both appear to be turn on all the time.
TC74 used in this project is designed to use with 3.3V power supply. However I did not have 3.3V regulator so I inserted two diodes between +5V power supply and VDD pin of TC74 and it worked good. Because of different power supplies, level translator was needed to interface 16F84 with TC74. It was build upon four general purpose NPN transistors, two for SDA and two for SCL line.
PIC needs 4 MHz crystal to work, but it could be modified to work with other frequencies also.
Temperature is read every second. Minus temperature is indicated by left decimal point on tens digit display.
Every TC74 chip has it own address written on it, for example TC74A0-3.3VAT, which means: A0 - address, 3.3V designed for 3.3V power supply voltage. A0 = 1001 000 according to TC74 specification. So, read address (address+wr bit clear) in I2C operation will be 0x90 (1001 0000) and write address (address+wr bit set) will be 0x91 (1001 0001). These can be changed in software (tc_waddr and tc_raddr DEFINEs).
Seven segment displays are from Lite-on, common anode LTS-312AG.
Schematic (pdf):
Project has been verified in hardware and worked for temperatures from -20 C to 34 C (lower and higher temperatures were not tested).
Source code in assembly language: main.asm . Some part of code comes from other projects, relevant information is given in source code.
by +miKAEL