|
Project: Daily 7 Event Timer
Using XCSB
Lite v1.6.0
Description
This project is ideal
for beginners to PIC's and electronics, it is
derived from an advanced version that has more features and
flexibility.
The software is fully
commented, and some explanatory notes can be found
here
and the user manual here
. Of note is the way a software real time clock
has been implimented using a type of Bresenham algorithm.
It uses a cheap PIC
microcontroller to provide upto seven user
programmed events per day.
When an event occurs a
relay is turned on or off. The user interface is
via a single push button and LCD. The push button
is used to set the current time and the time of an
event. The LCD is used to display the current time
and to view and modify event settings. A LED
lights to show an event is in
progress.
Some of the uses to
which it can be put are -
Hardware
The project can be built using
most low end 16 series PICs. A 16f628 is a good
selection although PICs with larger program space
will allow more functionality to be added. A PCB
that was designed for an advanced version can be used for this project, with
some minor alterations to the LCD wiring. As all
pins are brought out to headers this would not be
difficult to accomplish, and is shown
below. This
circuit uses a 16F873The
bare PCB A
populated board
-
The program "event_mainl.hex" will
run directly on this circuit without software
modification.
This circuit can be amended to
provide two outputs by removing the LED and
replacing with another transistor circuit, with
the LED wired across the relay coil, in reverse to
the blocking diode.
Care needs to be taken if the
relay is to switch mains powered devices, and
appropriate advice should be sort if this falls
outside your constructional experience.
The bare PCB can be purchased
from bTech for £8.00 (A$20.00) inc P&P to
most countries, email for details.
Software
The software for this project is
available from the download page
(event-001.zip).
This program is written in XCSB.
This version of the program has been compiled
using the v1.6.0 LITE
edition of the XCSB compiler which is available
free of charge for personal non-commercial use
from XCPROD
|