Clock Controller V2.0
One day I found a small 7-segment LED with multiplex connection. It is nice to be used as the display for clock controller. So I spent my weekend built the board. Below are the pictures for outlook and internal. The board is quite small. The output has small relay for 0.5A AC load.
Figure 1. Example of mini clock controller |
Figure 2 Another best example |
This version has only three buttons. We can set current hour and min easily. The preset time on/off for relay control output are defined in the program.
// preset set time on/off are predefined in rom, user may change it here
#define onHour1 19
#define onMin1 00
#define offHour1 21
#define offMin1 30
#define onMin1 00
#define offHour1 21
#define offMin1 30
Also if you need more period to turn on/off you can add, say onHour2, onMin2, offHour2, and offMin2. And provide the function that compares such period. It will be the same as function comparetime. Or you may insert at if statements. When reset, the board will turn output off, until user set current time, the clock will run again. This prevent improper output firing.
void comparetime()
{
if(flag1 & 0x40) // compare time only when user enter new time
{
if(flag1 & 0x01)
{
flag1 &= ~0x01;
if(hour == onHour1 && min == onMin1)
opto = 0x7f; /* clear P3.7 turning opto on */
if(hour == offHour1 && min == offMin1)
opto = 0xff; /* set bit P3.7 turning opto off */
}
}
}
{
if(flag1 & 0x40) // compare time only when user enter new time
{
if(flag1 & 0x01)
{
flag1 &= ~0x01;
if(hour == onHour1 && min == onMin1)
opto = 0x7f; /* clear P3.7 turning opto on */
if(hour == offHour1 && min == offMin1)
opto = 0xff; /* set bit P3.7 turning opto off */
}
}
}
: sources
No comments:
Post a Comment