Heavy Metal Hollywood Spider is an animatronics project and is the fusion of two interests:
- Art Metal class
- Raspberry Pi and related hardware software.
As with the ("paxnews"), the project grew organically. That is I had a rough idea how it would all look at the end but progress was consistent over a number of months. You could say that, he is an organic spider (best kind!).
Ultimately, HMHS became a successful Halloween prop.
- Raspberry Pi Zero W
- Eyes: 2 clusters of 4 RGB LEDs
- Adafruit I2S 3W Stereo Speaker Bonnet for Raspberry Pi
- includes 2 speakers
- PIR sensor
- LED string (white) or similar
- Simple RF M4 Receiver - 315MHz Momentary Type
- Keyfob 4-Button RF Remote Control - 315MHz
The spider grew "organically" over two semesters of the Art Metal class held at Danforth Collegiate in the body shop workshop, under the auspices of the TDSB Adult Learner Program (Toronto District School Board). [Thanks to Phil and Toby for their guidance.]
The spider sensor resides in the nose and detects motion from pets/humanoids/zombie up to 5 metres away (possibly works on zombies, not guaranteed).
On pet/humanoid/zombie detection:
- Spider is dozing: The cyan eyes and body lights twitch every few seconds. Until someone/thing comes by.
- Spider goes on alert: The cyan eyes and body lights start flashing rapidly.
- Spider gets angry: The red eyes then transition up to full brightness.
- Spider emits warning noises: A short sound clip plays twice (or other count) or until the pet/humanoid/zombie goes out of range.
- All clear, Spider goes back to sleep: The red eyes then transition down.
- Spider goes back to dozing.
(Click and view the in a separate window.).
A 4-Button 315Mhz Keyfob RF Remote Control controls parameters of the spider: Sound On/Off, Sound Volume, Eye Intensity.
The keyfob controls a Simple RF M4 Receiver> with results fed through to four GPIO pins via separate simple voltage splitters to translate 5V to 3.3V (2.8V actually).
The program key_parms.py watches the remote control and updates a shared json file used by spider.py.
See .
(Remote control content is not shown.)
Start spider with crontab:
@reboot rm -f /home/pi/python/spider/ospid.txt # JOB_ID_1; Remove pid file to prevent mulitiple incursions of spider.
@reboot sleep 1 && ~pi/run_spider.sh # JOB_ID_2; start spider.
@reboot sleep 2 && stdbuf -oL ~pi/python/spider/key_parms.py >> /tmp/spider.txt # JOB_ID_3; start key controller.
The key Fob/RF receiver controls parameters for operation: A Voice prompt guides the operator for the steps.
ready for power off.
1: Press D to get attention.
2. Press D for the menu.
A > Sound On/Off
B > Sound Volume
C > Maximum eye intensity
D > Play the menu (and a seong press will Return to the outer shell ("1")).
3. Three consecutive presses of D cause spider to shutdown and be ready for power off.
For the prommt voice clips, I used the text-to-voice service from IBM Watson. Most of the voices are slowed a little from their original speeds to add gravitas. A json file holds the key of voice clips to files, but also holds the markeed up text sent to Watson in case the text needs editing.
Q: Why Hollywood?
A: Well, we... the spider and me... live on Hollywood Cres.
Ron Grimes
Toronto
Started: January 2019
Last Update: November 2020