Free for educational and noncommercial use ! ! !
For commercial use you must contact the author ! ! !
DESCRIPTION: This is digital thermostat which I made for water heater, or you can use it for any other process in range of -55 to +125 °C (range of sensor DS1820). Measured temperature is shown on LCD display (16x1).
Download Digital Thermostat schematic
HOW IT WORKS: There are three buttons (set, up, down) which allow you to set desired temperature and hysteresis. Value of hysteresis is also in °C, default value is 5°C which means when you reach desired temperature, for example 75°C, heater won't turn on until water is cooled to 70°C. Values of temperature and hysteresis are saved in internal eeprom of PIC16F628. Buzzer beeps with tone 1KHz approx. when water is heated, and with tone 500Hz if temperature is below 1°C.
SOFTWARE for PIC16F628: Program code is written using MikroC v8.2. Size of code is 1,8 Kb which is within demo limit of MikroC. You can use any other PIC for this purpose, but if you use PIC16F628 as I did, there is no need for external crystal, because PIC16F628 has an internal oscillator at 4MHz. If you want to use different PIC, make sure that you make propper changes to MikroC and recompile.
Download hex file & Source(MikroC) for PIC