Search Your Query

Custom Search

Monday, 23 May 2011

Digital & Binary clock with thermometer & hygrometer




Here we have a clock. It's not "another clock". It has digital and binary 
output. It also has a thermometer and a hygrometer. It's not "another 
thermo-hygrometer". It display's absolutely humidity (gr/m3) also.

Schematic


Click on image to view large

MCU

I build it around Microchip PIC16F917, with internal Oscillator at 4MHz. 
I also build a serial port programmer, so I can programming it on-line, 
using the DL4YHF WinPic.



Clock

I use a RealTimeClock Maxim DS1305. The RTC backup power is a 
supercapacitor (0,22F). I test  it for 4 weeks, works fine. For this 
reason it don't have the capability to change the time, but you can 
do small-corrections. Once you push the button, the seconds change 
to 30, with no effect to minutes, hours etc. The routine is in lines 
1878-1887 "sec30".
You set the time when you program the PIC. You have to program 
two times. The first time without line 91 (goto  rdtime). The 
routinessetDS and settime is execute.
SetDS is setting RTC's control and trickle charger registers. In the 
settime routine, you set the time. After this, you add line 91 (goto  
rdtime) and you reprogram it. Now the routines do not execute. RTC 
can keep the setting and time at least for 28 days. The routinesDST3 
and DST10 are for DaySavingTime. The check register is flag, 1. The 
checking routine is in lines 434-460. In the last Sunday of March, the 
02:00 o'clock became 03:00 o'clock. In the last Sunday of October, the 
02:00 o'clock became 01:00 o'clock. I set the RTC for 12H mode, leds 
for 12H and display for 24H.




Temperature - Humidity



I use a digital humidity and temperature sensor Sensirion SHT11.
I bought it in a PCB, with the pull-up resistor and decoupled capacitor 
ready in place.
Measurements make every 10 seconds.
At 00, 20 and 40 seconds it measures the temperature and calculate 
the temperature and Absolutely Humidity ("gr/m3" grams at cubic meter of air).
At 10, 30 and 50 second it measures the humidity and calculate the 
Relative Humidity (%).
The check register is flag, 0. The checking routine is in lines 464-475.
The measure temperature routine is in lines 477-514 "measTEMP
and lines 625-714 "measure".
The calculate temperature routine is in lines 1793-1820 "calcTEMP".
The measure Relative humidity routine is in lines 560-590 "measRH
and lines 625-714 "measure".
The measure Absolute humidity routine is in lines 515-555 "measAH".
The calculate Relative humidity routine is in lines 717-1470 "calcRH".
The calculate Absolute humidity routine is in lines 1473-1728 "calcAH".







LCD display

I use a Chinese display 2line, 24row, with backlight. I drive it with a 
sift register T.I. 74164.

LED display
I use bright leds. 7 green with 8,2K resistors for seconds, 7 white with 
5,6K resistors for minutes and 5 blue with 560R resistors for hours.The 
maximum current for leds is about 17mA, so I don't have to drive them 
with transistors.

PCB


The PCB build in DipTrace software.  Download DipTrace files here
BEFORE PRINT:
1.      In print preview click on "Objects" tab. UNCKECK Assy and Silk
2.      CHECK Mirror
3.      CHECK Print in black only
4.      BE SURE print scale 100%.






No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...