A keypad is used to dial a number that the audience member finds. A corresponding MP3 is played. Every time a key is pressed, the number is loaded to the stack. When # is pressed, the number is "Dialed" ie, searched for on the SD card. If found the MP3 is played, if not, play a busy signal. The MP3s are loaded from the SD card in the form "PHONENUMBER.MP3". The * key is to pick up or hang up. This also clears the stack.
An LCD screen displays and records responses for 4 ‘True or False’ questions from a movie the audience watches. They enters their responses to the questions with two buttons, and receives new instructions or clues based on their score.
An LCD displays the frequency the "radio" is tuned to. An encoder is used to seek a station that the audience member has been told to listen to. When the right station is selected, an MP3 clue is played. The "AM/FM" Switch also triggers a servo which rotates the car.
A scale model of the store that the audience members interact with. First, they must press 4 buttons in the correct order to hear a clue mp3. They then search the store for 4 physical buttons (Play, RWD, FFW, Eject) based on clues in the model. Each button plays a piece of the story. The final button, “Eject” opens up a hatch in the model, which then encourages the audience to search that hatch in the store to continue on to the next puzzle.
To make it easy to build and debug the puzzles, standardized parts were selected. These included an MP3/SD Card breakout board, LCD screen with I2C interface, Rotary Encoder, and Arduino Nano.
To allow for quick assembly, PCBs were made which brought out the relevant connections for all peripherals. The boards were designed with KiCad and printed with JLCPCB. This saved hours of assembly and hand wiring time.