I've wanted to make a halloween project for a while now. The neighborhood kids always get a kick out of the decorations we put out. When I came across the SonicSurface project I knew I could retask it to create something scary for the local kids.
My current intention is to conceal one 256 transducer array above a dusty surface and remotely trigger (or via simple motion sensor) "Spirit" writing on the surface. I want to make the surface obvious that nothing is concealed within, so the kids can actually touch the dust too... Resetting the dust (baking soda?) would have a bin of baking soda and a servo with compressed air to "redistribute" between groups of kids.
PLEASE COMMENT WITH TIPS OR IDEAS - I WOULD LOVE TO HAVE THE FINAL VERSION WORTHY OF SCARING MY LOCAL NEIGHBORHOOD KIDS (Maybe Adults too?)
Build and Prototyping:
So first I went through the SonicSurface build instructions. Their Instructables.com write up is an excellent read and has many useful details.
Here is one of the completed arrays. I had a couple issues with the driver ICs on the reflow front, but managed to fix them with a hot air gun.
I designed and laser cut a temporary frame to test the two arrays. I used the default spacing of 0.243 meters (found in the source code somewhere in the github of upnalab. Testing went well, and luckily I didn't have to calibrate any of the transducers.
I placed a piece of wood and black paper on the bottom, disabled the lower array and spread baking soda over the surface. I then recorded an "animation" in the ultraino software and played it back with the top array activated.
It traced out a "scary" star.
Now that I have the proof of concept working I plan on putting two arrays side by side, and incorporating the ESP32 controller that UPNALABs developed for sending remote sequences.
I also need to design something spooky to hold all of this and make it look like a spirit is authentically tracing its finger to spell messages.
I decided to go with a "ornate" box suspended above a table. I'm using a makita battery adapter (paid link) as I have alot of Makita tools . I then have the 5V converter t(paid link) hat can take 8 to 35 volts input to power the FPGA. I happened to have a Grove time of flight sensor (paid link) (to the left of the ESP32(paid link) ) that I'm incorporating to make it easy to suspend above any surface without having to specify the Z height to the algorithm that generated the pressure point.
I'm going to laser cut veneers to glue over the outside of this, but gave a try at a portrait of the "spirit" and skeleton hands on the underlying part. I had some other scary ideas, but the kids in the neighborhood can be pretty young and don't want to traumatize anyone :) Too much. The laser settings were off for the image and need some tweaking. The makita battery is a little taller then i realized, I may also tweak the veneer to cover this better.
Glue dried and was able to mount the components. Currently lasering the 1/8" "veneers" with the ghostly face etc.. Will post once complete.
Next step will be to code the ESP32 web server to provide a canvas I can trace and save animations on. The ESP32 will then read the distance from the time of flight sensor for the constant Z distance, and play the animations x y components via the setfocalpoint calls.
I'm debating a gesture based activation for the kids to use with the TOF sensor, or if I'll just kick of random animations on my phone via the ESP32 web server.
I have most of the enclosure done with veneers put on. I may change these as ideas come in. The ESP32 server isn't working yet for points on a surface, so I still have the PC sending the animation. I may just export the hex data from the animation and use that as preset animations on the ESP32 if I cant figure out their algorithms.
Had some issues suspending it above the desk using a skeleton arm... So I just added legs to this version. Currently designing the veneers for it to make it look a little better. The time of flight sensor is now used to initiate one of the animations loaded into the ESP32. It will then cycle through. Now for looking into a good way to "dust" the surface.
Considering Sunday is Halloween I'm going to declare this project finished for this year. Next year I'm thinking of using two in a sandwich to make a ghost float around a graveyard in a scary diorama.