The purpose of this gadget is to measure the swimming pool temperature and to display it in the house. An electronic way of dipping in a toe, and so, The e-Toe.
Carole likes to know how cold the water is before she decides whether or not to take the plunge. We have a small floating thermometer but that is generally lost underneath the pool cover, so to have a read-out inside the house would be rather handy.
But as usual, the main reason for making it was just fun.
The temperature probe floats in the pool. A thermistor is housed in a tube sticking about 20cm below a float chamber which contains the electronics. A microcontroller (a PIC16f88) converts the analogue signal from the thermistor into a one-byte digital representation of the temperature. The byte is then transferred, together with an address byte, to the PIC's UART and thence to a 433MHz transmitter at about 300baud. The circuit diagram is
here.
The display is in a hand-held module. A 433MHz receiver aquires the signal and passes it to the UART of a second PIC16f88. That converts the data into a 2-digit BCD representation of the pool temperature, and uses it to drive a dual 7-segemnt display. The circuit diagram is
here.
There were two additional design criteria: long battery life and resistence to interference from similar gadgets that I might make later.
I wanted long battery lives, especially in the transmitter, because opening the float chamber to replace the batteries would risk compromising its water-tightness, and a waterproof switch would have added considerably to the mechanical design. Similarly I didn't want to be opening the display unit too frequently. So both circuits have very low duty-cycles.
The transmitter switches on every 4 minutes and transmits the temperature three times at 1-second intervals before switching off again. Timing is done by the PIC's watchdog timer.
The receiver switches on once every 27 minutes and stays on until it receivers a valid temperature, when the 27-minute count restarts: again this is controlled by the watchdog timer. But the receiver can also be woken up manually - there's a button on the front panel - in which case it displays the temperature for about 1.5 seconds and then goes back to sleep.
Interference from other devices will become important when I build a gauge for the gas bottle that supplies our water heater. It will use the same type of transmitter-receiver pair. So that the display unit knows which transmitter it is listening to I have used 9-bit address-detect coding for the data transmissions. This of course is invisible to the user.