MP3 Player

My Mp3 player uses an Arduino Uno and a Sparkfun Player Shield to play nine different songs. The Mp3 player has push-button switches that play and pause the music. It also has a potentiometer that controls music volume and a potentiometer that controls bass amplitude.   Project Link: https://www.sparkfun.com/products/12660 Code: https://github.com/leostahlkim/MP3_player/tree/master

Engineer

Leo K.

Area of Interest

Electrical Engineering, Software Engineering

School

The Urban School of San Francisco

Grade

Incoming Junior

Final Milestone and Reflection

For my final modifications to my project, I added a potentiometer to regulate bass and made one button that pauses and plays the music. The potentiometer takes in 3.3V and sends a value to my Arduino, which turns that into bass regulation. To pause and play the music, I have a button that shorts an analog pin to ground. It uses a variable to alternate between pausing and playing the music. I have had a great time during my two weeks at Bluestamp. It is really great to follow my interests and work with other like-minded students and instructors. During these two weeks I have discovered that I want to continue to code. I find it extremely rewarding to write code and see the physical result. If I have the time next summer I would love to do the 6 week program.

Milestone #2

Now I have added volume control to my MP3 player and made it so my songs play in order. To control volume I used a potentiometer that takes 5V and based on where the knob is turned, sends a certain value to one of my analog pins. I then wrote code that turns this value into a volume setting. To make my songs play in order, I wrote code that uses a variable to play songs 1-9 in that order on repeat. I have also added pause and play buttons. One challenge I had was making the pause and play buttons work with the commands in my library. To overcome this challenge I did lots of debugging and added an extra button. One addition I want to make to this project is a potentiometer to control base levels.

Milestone #1

I have arrived at a point where my MP3 player can play any of nine different tracks with the press of a button. To do this, I attached my MP3 Player Shield to my Arduino and downloaded the SFEMP3Shield library. Then I found an example sketch from Sparkfun that made it so I could have nine buttons which would play each of my nine tracks. I edited this sketch so that one button would play a random track instead of nine different buttons. The sketched worked so that when a certain analog pin was shorted to ground, it would stop the current track which was playing and start a random one. Using a breadboard, I set up a circuit with a button that when pressed, would short the analog pin to ground. I also have a button that shorts another analog pin the ground which causes the music to stop. One problem I have right now is that songs can be repeated and the order is totally random.

Starter Project

For my starter project I made the Mintyboost, which is a portable phone charger that uses AA batteries. The Mintyboost is a boost converter, which means it uses an inductor, diode and IC switch to up the 3V from the batteries into 5V. The IC switch opens and closes a switch at very high speeds. When the switch is closed, the current easily passes through the inductor without facing other significant resistance. This current charges up the magnetic field of the inductor, giving it a charge of -2.5V. When the switch is open, the current must flow through the diode and into the load (in this case charging my phone). However, when the switch is open, the flow of electrons faces more resistance which lowers the current. In order to maintain the current, the magnetic field around the inductor collapses, increasing the current back up to what it was when the switch was closed. The collapse of the magnetic field changes the charge of the inductor to 2.5V. This means the change in voltage is 5V, which is 2V more powerful than the original voltage from the AA batteries. The Mintyboost then uses the 5V to charge my phone. In addition to the boost converter, the Mintyboost also has capacitors to maintain voltage and resistors which create a voltage divider, stepping down the voltage to send a signal to my phone in order to let it know that it is charging.
Comments
  • Leo K.
    Reply

    WOW! What a great project!

Leave a Comment

Start typing and press Enter to search