Rotary dial mp3 player


I'm totally new to Arduino. I have minimal programming knowledge, I understand electronics to a degree and how microcontrollers physically work. Ive looked at some tutorial topics on programming and can understand/read the programme with the side notes as an aide. But because this is my first venture into C language I get lost/confused quickly as to what's going on and how things are structured.

In the picture you can see the project I've built.

Use a rotary dial from an old telephone to call up to 255 songs from a voice playback module. The dial gives out pulses at a rate of 10 per second. Dial a 0 gives 10 pulses.
Pulse contact is normally closed. A second normally open contact (used to reset the count) closes as the dial is turned and opens shortly after the last pulse is sent.

The Nano needs to be able to count the pulses and send the result to the mp3 module in 8 bit format. The mp3 input pins sit at logic high 3.3v. The module is set in combination mode 0 - Momentarily ground input pins to make a selection. Example; sending 11111010 would play track 5.

Single, double and triple number recognition is needed. Need a wait time and send result after last number entered. Example; dial a single number, if no further numbers received after x seconds then play song.

The module will immediately play another song if it receives a new signal.

A second function of the programme is to send a double pulse pause signal to trigger a relay when a normally open button is pressed. The output lasts as long as the button is pressed. This is to trigger a relay to switch on an AC voltage to the bell solenoid to simulate an incoming call bell ring. Ring ring pause etc.

As you can see this is a tall order for a newbie to Arduino and I'm looking for help / pointed in the right direction to get my project working.

Here's my phone, rotary dial telephone FM Radio - YouTube. Converted to an FM Radio, stereo 3w speakers in the handset. Needs a switch to go between radio/mp3 mode. Use the dialer to select songs.

Writing the whole thing in one go is hard. Try and write some simple bits of code to exercise the hardware while testing your wiring. Perhaps start with the mp3 player and just make it play one particular track. Then write another program to read and display pulses from the dialer etc. etc.

Sneak up on the full solution.

1 Like

You may get some guidance/ideas by doing a forum search for  'rotary phone'.