This is my long history the device that controls my home's night light, air-conditioner, etc. The device is a Miniature Real-time Controller. The circuit uses only three chips, a 89C2051, DS275(or MAX232), and 74LS07 open collector driver. The scheduler for time on/off of 6-channel output can be made by downloading from PC and saved into onchip RAM. Each output provides a 20mA sinking suitable for driving a homemade opto-triac or big solid-state relay for heavy load.
A circuit diagram of the Miniature Real-time Controller is shown in Figure 1. A 89C2051 with a low-cost X-tal 3.579MHz runs timer6.hex. The 6-channel output is P1.2 to P1.7 driving with sink current. A 74LS07 open collector provides approx. max 20mA @12V suitable for driving a homemade opto-triac shown in Figure 2. Two signal diodes, 1N914, provide simple backing up supply for the 89C2051. Since RST uses simple RC circuit, there is no brownout protection and reset switch thus when the controller operated with battery for long time, the chip may knock. Simply take the battery out and put them again. The RS232 level converter, instead of DS275, any converter may use, say MAX232, or simple circuit using two transistors.
An opto-triac with zero-crossing can be made easily. I have used an MOC3041 to drive 5A 240V triac. A night light used in my home mostly be an incandescent lamp, the circuit below works fine. For such heavy load as air-conditioner, I used a solid-state relay,one from CRYDOM D2410, say.
Figure 2: Example of Connecting homemade optotriac and SSR to the RTC.
Click here for more detail & source code