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
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 routines setDS andsettime 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 routines DST3 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“.
For more detail: Digital & Binary clock with thermometer & hygrometer
Related projects
PIC 16F917 Gyroscope interface
In this post we will study the ADC ( Analog-to-Digital ) Module of the Microcontroller PIC16F917 . We will study a real...
Programmers & ICSP · PIC16F917PIC 16F917 Microcontroller Programmer
In this instructable , I 'll show you how to build a PIC 16F917 Microcontroller programming circuit. This Microcontroller is a very...
Clocks & TimersAdaptive Alarm Clock: Build a Smart, User-Centric wake-Up system
Project Overview The goal of this ambitious undergraduate project was to develop a novel alarm clock capable of analyzing a person's unique...
Clocks & TimersDesigning Your Ideal Alarm Clock: An Introduction to PIC18
Within this laboratory session, you'll employ the C language to create an alarm clock, delving into the implementation of "C" programs on...
Clocks & TimersBuilding your Dream Alarm Clock Using the PIC18
Objective: In this laboratory session, your objective is to create an alarm clock using the C programming language. You will gain proficiency...
Clocks & TimersBuild a DIY Smart Watch Using Microcontroller
Introduction Wearables (Smart Watch) are becoming increasingly more prevalent in today's markets; however cost continues to limit the demand for such devices....

