Arachnouphobia
Catchy title aside, this one is actually about deterring spiders. This small project started with my mother’s observation that a corner of her basement was spider-free since I had set up a NAS there. Rather than assuming that the vibrations/noises generated by the hard drive put the spiders off (like I would), she made a connection the Banana Pi’s irregularly flashing LEDs. That had to be investigated.
A breadboard with an RGB LED and a small microcontroller was set up to deliver random, short light flashes. This setup could be easily moved around, and indeed it was successful in deterring spiders! Looks like spiders don’t like to have their eyes flashed, after all (who would have thought).
Noticeably though, there doesn’t seem to be an adaptation and the spiders still shun the device after some time with it around. Understandably, the spiders take the path of least resistance and just hide behind some beam or something else providing a safe shadow. To get a larger area spider-free, it would take light flashes from multiple directions, so there’d be as little shadowing as possible.
What I ended up with is a small controller for WS2812B LED strips. Powered by a standard phone charger this’d be the easiest version to install. I made a single-sided PCB with an additional phototransistor for deactivating the device during the night and a small DIP switch to configure the flash frequency.
Switch state | Effect |
---|---|
↓··· |
Only active during the night |
↑··· |
Always active |
·↓↓↓ |
Flash frequency x1 |
·↓↓↑ |
Flash frequency x2 |
·↓↑↓ |
Flash frequency x4 |
·↓↑↑ |
Flash frequency x8 |
·↑↓↓ |
Flash frequency x16 |
·↑↓↑ |
Flash frequency x32 |
·↑↑↓ |
Flash frequency x64 |
·↑↑↑ |
Flash frequency x128 |
Changes I’d make to this schematic if I were to redesign it:
- Q1 can be omitted if a 5 V-tolerant I/O pin is used and an inverted signal is created in software.
- The phototransistor can be replaced by a LED (used as a photodiode).
- Some of the remaining I/Os should be connected to an additional DIP switch or at least some solder jumpers for setting the LED strip length.
Other than that, it’s already pretty minimal and works well enough.
Schematics, board layout and code are available in the project’s git repository.