RFID Music Player
"This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com)"
This music player uses RFID Tags to scan and play specific songs. You are able to upload your favorite songs and albums without using up too much space such as actual-sized records. The possibilities are endless with the RFID Tags. You could even use different mp3 audio files to play when you scan the card.
Supplies
SparkFun Redboard Qwiic (SparkFun) <---- compatible with Arduino
SparkFun Qwiic MP3 Trigger (SparkFun)
SparkFun RFID Kit (SparkFun)
microSD Card (Amazon) You may need to also get an adapter for the microSD
Qwiic Cable (SparkFun)
USB Micro-B Cable (Amazon / SparkFun)
Stepper Motor (Amazon)
RFID Tag cards (Amazon) <---- 100 pack
Speaker (Amazon) <--- you do not need this exact speaker but a speaker with an aux input/port
Aux cord (Amazon)
6x male to females cables
Screws
Sanding files
CD holder (plastic)
Control System
How the music player works is by scanning an R.F.I.D (Radio-frequency identification) card to the R.F.I.D reader
The R.F.I.D reader is then read by the Arduino to check to see if the card tag is already within the tag list (already in the system) or a new tag.
If that comes out true (meaning the tag is already on the list) the Arduino will do 2 things
- It will communicate with the mp3 module to see which song is associated with the card tag that was scanned and the play said song
- Power up the stepper motor and spin a cd of your choice for display
HardWare
The main way I got all of the modules to connect/wired together is by using Qwiic connect system. (here is a link for more information about the system) Basically, it is a simple way to wire everything together and I am able to connect the modules in whatever order I want so the Arduino is not completely overloaded with wires.
I connected the Arduino to the mp3 module then, which is then connected to the R.F.I.D reader.
The stepper motor is also connected to the Arduino using pins 8 ---> 11, ground, and power.
The mp3 module will connect to the speaker via an aux cord to play the music.
CAD / Solidwork Files
I used 4 parts to complete the overall project.
The body of the project is separated into 2 different pieces for printing purposes.
- I included standoffs so I know where to put all of the parts
The third piece is the stepper motor adaptor.
The final piece is the lid.
Lucky for me, none of the parts I printed didn't require any support but a bit of sanding was required.
Circuit Schematic
Above is a quick schematic of how the circuit it put together. The software i used for the circuit schematic did not have some of the modules that my project used such as the mp3 module and the rfid scanner.
Code
Below is all of the code I used to get the project working. In the rfidControl.ino you are able to change the taglist to your specific id numbers. Make sure to keep the code together in tabs.
Upload Music on the Sd Card
To play the songs, you would have to upload mp3 files onto a micro SD card and name them a specific phrase.
- Open up the sd on your computer
- Upload mp3 files onto the sd card
- Name them appropriately
- "F001.mp3"
- "F002.mp3"
- "F003.mp3"
I would use a youtube to mp3 converter (this is the website I use)
The micro SD card slot is on the mp3 module.
Stepper Motor
I included a stepper motor in my project to spin a CD of your choice. (mainly to fulfill the moving component requirement for my project)
3d printing - I created a somewhat adaptor that would fit onto the stepper motor and the other end would be flat to hold a cd. I added the STL file for that part below. For the flat end, I glued a CD holder so it would be able to hold the 3D in place. There is an option to create the part in CAD but I thought it would be more efficient to use whatever I had lying around (who uses CDs anymore anyway lol)
Tip: I used scissors to chip away the outside of the plastic cd case and once i got it close enough i sanded the rest to make it more smooth.
Wiring - I used digital pins 8,9,10,11 to control the stepper motor. I then connected ground to ground on the Arduino and then positive to 5v on the Arduino. You would need females to male cables (you need 6).
*If you do not have females to males, I just used females to females and connected a male to male* (sounds confusing but I added photos above)
Code - For the code, I used a simple stepper motor code that I learned from my Make course class and adjusted the delay to increase the speed of the motor.
Optional: RFID Sleeves
To be able to distinguish between the different RFID cards I made these sleeves that are completely customizable.
I used photoshop and made a general template for the sizings of the cards.
Quick Tip: I would fold all of the lines before I cut out the sleeves