August 26th, 2024
Last winter we had a nasty snowstorm that cut power to our place. When the power came back on, its initial surge included some big voltage spikes that wiped out all the LEDs on the gargoyle. So I set to work rebuilding him.
I intended to make just one change to the circuitry. I had set up a simple IR motion detector that would trigger the gargoyle whenever a car came down the driveway. This was nice, but it also triggered whenever a deer walked by, a raccoon, or even, I think, a caterpillar. I knew I needed a better detection system. Moreover, I wanted to send a detection signal to a receiver in the house. I purchased a new long-distance device. Here’s a photo of it inside the little protective box I made for it:
My plan was to use THREE infrareed (IR) motion detectors. The first one would be stationed about 20 meters up the driveway from the gargoyle. The second would be stationed about 10 meters up the driveway from the gargoyle. The receivers for these two detectors would be inside the box with the Arduino. Whilst handling the gargoyle’s eyes (making them brighter and dimmer), it would also monitor IR detector #1. If IR detector #1 triggered, then the Aduino would wait a few seconds, checking IR detector #2. If IR detector #2 triggered within a couple of seconds of IR detector #1 triggering, then that could only be the result of a car coming down the driveway. The Arduino would then trigger IR detector #3, which has a long-range transmitter whose signal will trigger the receiver in our house 200 meters away.
The solar cell charges the internal battery used by the transmitter.
I figured it would be easy to trigger IR detector #3: just blink a special infrared LED in front of it. Alas, that did not work. “Aha!” I thought. “It’s a motion detector! It requires that the LED move!” So I set up two IR LEDS in front of IR detector #3 and blinked them in succession. That didn’t work, either. I had the wisdom to walk away from it and wait for the answer to come to me — which it did the next morning. The motion detector is sensitive to infrared light from warm bodies: that is, infrared light in the 90º Fahrenheit range. Infrared light covers a huge range and my IR LEDs were probably using a completely different part of the IR spectrum. I needed a warm body to trigger the detector, not an IR LED. I’m guessing that most IR LEDs operate with a wavelength of around 2 microns. Warm bodies radiate with a maximum of about 10 microns. So my IR LEDs were useless.
So how was I to get a warm body at around 90º Fahrenheit? Easy peasy: just send a large enough current through a resistor, and it will heat up. I calculated that putting my 5V power through a 100Ω resistor would send 50 milliamps through it, generating a power of 250 milliWatts. That should heat it up nicely.
But I also had to wave it around in front of the sensor. Again, no problem: I could just use a servo, which is a special doodad that can be set to move an arm through a specified number of degrees. Here is the servo I used:
The servo itself is the blue thing. The white thing is the arm holding the resistor. You can see the wires that heat the resistor. The resistor is the striped thing at the top. The black goo is epoxy that I used to protect the solder connections from breaking with all the movement.
I made some nice videos of the servo operating, but alas, Apple Safari refuses to show videos taken by Apple iPhones. Here’s another try:
This browser cannot play the embedded video file.
This browser cannot play the embedded video file.
I spent a lot of time making the new power distribution circuit. Here’s a rough circuit diagram of the thing:
Here’s the final board. It’s not as neat as the schematic: