My purpose with this project was to become more familiar with the nRF24L01 radio transceivers as well as Fusion 360 and 3D printing. This was also my first attempt to document my building process for a video (it's a lot harder than I thought so please bear with me).
In the original Batman TV show he had a Shakespeare bust with a secret button that, when pressed, gave access to the Bat Cave. Lacking the infrastructure for that, I designed mine to simply unlock and open a box.
I designed in Fusion 360 and 3D-printed the pieces I needed for the bust and the hardware needed to actuate the box (The Batman statue I got from Thingiverse and customized it to fit my needs: https://www.thingiverse.com/thing:1912100).
The box must be plugged in and the switch on the battery pack under the bust needs to be switched on. While powered on, the bust is continuously transmitting a binary signal of the button's pressed state. When the button is pressed, the box will engage the solenoid (unlock), move servo from closed to open position, and then disengage the solenoid (lock). When the button is pressed again the procedure is preformed the same but with the servo moving from the open to the closed position.
Initially the box was listening for a single transmission to determine if the button state had changed but this wasn't reliable and the box would open or shut erratically. Too fix this I included a loop in the receiver code that would read 5 transmitted signals and determine whether they all matched (all 1 or all 0) before opening/closing the box. This drastically improved efficacy as it eliminated most extraneous signals without affecting response time.