The receiver unit shown
here uses a $10, 433 mhz receiver module feeding a PIC16F84 microcontroller.
The RF module has both digital and analog outputs. As it turns out,
the digital output is not good to use because it always puts out some kind
of data (noise) and tends to 'annoy' the processor. As you can see
from the schematic, the analog output was used
instead and the level detection is done externally.
All of the circuitry is built
on the front panel. This includes the input for In Circuit Programming.
The design specifies 4 channels for each transmitter unit. A separate
bit is sent depending on whether the status of the sensing inputs has
just changed or whether the status is just being reported on a scheduled
time.
Two
of the transmitter units are shown here. The one on the left is
the full circuit (as shown in the transmitter schematic),
and the one on the right is a 'minimal' transmitter.
To save on battery power, and to allow for RC oscillator
operation, the data is sent using Ten Pulse data encoding. This type of coding
has proven useful in several projects. Also, the circuit switches
to a slow clock rate while waiting for an external input to change and
also keeps track of time to do scheduled events.
You can see the current source files for
the transmitter and reciever.
|