| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Stop wasting time looking for files and revisions. Connect your Gmail, DriveDropbox, and Slack accounts and in less than 2 minutes, Dokkio will automatically organize all your file attachments. Learn more and claim your free account.

View
 

Final Report_Luis Villaran

Page history last edited by Luis Villaran 7 years, 2 months ago

Overview

I strove to make a decorative object in its own right-- that when you had it off, you could have it on display and nobody would say, "Oh, that's an MP3 player".  Achieving this required that there be no buttons, switches, or other controls on the front of the device that distracted the viewer from the distinct look of the piece.  Therefore, most of the design centered around a 2.8" touchscreen.  When off, the touchscreen was completely black and blended with the front of the device:

 

 

But when you turned it on, you got control over the device via a user interface on the touchscreen.

 

 

On the Song Select screen you could move up and down through the songs (songs get highlighted and boxed in white), select a song to Play, or if a song is currently playing you can go to the Now Playing screen.  If you select a song or press the Now Playing screen, naturally the Now Playing screen appears, which displays the song title, album, and artist for the song playing.  From this screen you can go Back to the Select Song screen, Pause/Play the current song, or press the Volume button, which pops up two buttons with which you can raise or lower the volume of the current song.

 

 

User Interaction

     Verplank Diagram:

 

 

Mechanical/Hardware Design:

     Mechanical:

          Since I was going for something decorative and I enjoy minimalist designs, the mechanical components of the device are few.  The structural

          components consisted of two faces-- the front which interfaces with the touchscreen and the back which has spots for the power jack, the 

          power switch, the audio jack, and a slot that allows access to the microSD card so that users can put more songs on the device-- and a curved 

          surface made of birchwood ply.  In order to bend the wood around the outer edge, a pattern was lasercut into it that allowed it to bend as well

          as accordion in and out a bit.  Two rings-- concentric to the outer faces, but smaller by the width of the wood-- were cut to help align the bent

          outer cover.

 

 

     Hardware:

          The touchscreen was a parallel in device and had a four-line output as well, so all in all it required quite a few I/O lines to be controllable.  With           the SD and MP3 already requiring SPI lines themselves, it was just too much for one Uno to handle. Therefore, the MP3 player uses two           Arduinos-- one Uno that does all the MP3 and SD card handling, and one Mega designated for the control of the touchscreen.  The two devices

          communicate over serial. 

 

          Uno:

               The Uno board is interfacing with an MP3 breakout board from Sparkfun. This board runs off the VS1053 chip and has a microSD interface as                well as an audio jack.  If the audio jack is not conveniently located-- as it wasn't for my project-- it also has a place to connect your own                audio jack, which is what I did.

 

          Mega:

               The Mega didn't have any other connections to it besides those to the touchscreen, which were all soldered and the serial lines going from it                to the Uno.  The connections to the touchscreen are explained well here.

 

Code Design:

     The code for this project was based on the MP3 library found here and the Adafruit touchscreen libraries found here. The following are state      machines for the Uno side of the code (MP3 and SD) and the Mega side of the code (touchscreen).

     State Machine:

          Uno:

                 UnoSM.pdf  

          Mega:

                MegaSM.pdf

The actual code listing can be found here:

Uno

Mega

 

Video: Here is a video of it in action!

 

Comments (0)

You don't have permission to comment on this page.