Summary

A Gemmy animated Zultan fortune teller prop is triggered by inserting coins into a coin acceptor to reveal a clue.

 

The Gemmy store bought prop isn’t sold anymore, but you can find it on Ebay for sale. The prop allows you to override the pre-installed audio track with a mini audio line in.

Using an Arduino, a coin acceptor, and an audio player we can require certain types of coins and a certain denomination (number) of coins to trigger the audio and activation of the fortune teller. The audio is recorded on a mini SD card and played by the Mini MP3 DFPlayer.

Setup - Participants find several different sized coins during play. They find clues on what coins are meaningful and the denomination. Using the correct coins, they insert them into the coin acceptor and the prop is triggered revealing another clue to another puzzle.

 

zultan coin acceptor prop 1

 

Parts

Zultan fortune teller prop (Ebay)

Coin Selector Acceptor (Amazon)

SciFi Fantasy Coins (Amazon)

Mini MP3 DFPlayer (Amazon)

Arduino Relay Shield (Amazon)

USB Powered Computer Speakers

 

Setup

There are several online resources to program the coin acceptor to recognize different types (weights) of coins. You don’t want to accept readily available coins, like the US quarter, or you will find that participants will attempt to use their coins in their pockets to trigger the prop. Instead, buy some tokens or game coins from Amazon and program the coin acceptor to only recognize those.

Adafruit sells the same coin acceptor and also have some code that will allow you to read coin input. See instructions for programming the acceptor here.

Adafruit Coin Acceptor

Adafruit has some Arduino code on GitHub here that can get you started.

Adafruit GitHub source code for Coin Acceptor

There are other good sites describing programming an Arduino to recognize coins and the denominations. Here is another good one.

Instructables Make Money with Arduino

For whatever reason, I couldn’t get the interrupt code to work and ended up using code like the Adafruit example. See code below for a sample. Hooking up the Mini MP3 DFPlayer and the Relay Shield can be found here.

The Relay Shield is used to trigger the Zultan fortune teller prop. The prop button is hacked, replaced by the relay. The relay makes the momentary connection that the button normally would to trigger the prop. The Arduino triggers the MP3 player and the relay triggering the prop.

 

zultan coin acceptor prop 2

 

The following Arduino is just for testing. Additional work will need to be done to get it to accept the proper coins and denominations.


#include 
#include 
#include 

SoftwareSerial mySerial(10, 11); // RX, TX
int RelayControl = 4; 

// attach coin wire to digital 2
#define COIN 2
int coins;

void setup() {

  pinMode(RelayControl, OUTPUT);


  Serial.begin (115200);
  mySerial.begin (9600);
  mp3_set_serial (mySerial); //set softwareSerial for DFPlayer-mini mp3 module
  delay(100); // delay 1ms to set volume
  mp3_set_volume (30); // value 0~30

  pinMode(COIN, INPUT);
  digitalWrite(COIN, HIGH); // pull up
  coins = 0;
}

void loop() {

  // while the coin pin is low (no coin detected), do nothing
  while (! digitalRead(COIN)) {
    delay(1);
  }  

  // while the pin is high, we'll track the length with a counter
  uint8_t counter = 0;
  while (digitalRead(COIN)) {
    delay(1);
    counter++;
  }
  Serial.print(counter);
  Serial.println(" ms long pulse");
  
  if ((counter > 60) || (counter < 20))
      return;
      
  coins++;
  Serial.println(coins);
  
  if (coins > 0)
  {
    digitalWrite(RelayControl,HIGH);
    delay(1000); // wait 1000 milliseconds (1 second)
    digitalWrite(RelayControl,LOW);
    delay(1000); // wait 1000 milliseconds (1 second)

     mp3_play (1);
     delay (32000); // time delay to allow 0001.mp3 to finish playing
     mp3_pause();
  }

}