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

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Nathan Hall-Snyder - Final Project Plan

Page history last edited by Nathan Hall-Snyder 13 years, 10 months ago

back -> Nathan Hall-Snyder - Final Project

Project Plan and Review: Strobe mp3

Document Written 5/10/2010. Updated 6/4

 

Component List:

 

Unsolved (and solved!) Technological Challenges:

  • Interface/Graphic LCD

    • Reading SD card contents

      • Solved with an array of strings as the character list.

      • Unfortunately, this limited the number of songs the device can deal with due to limitations on program memory. 

    • Reading ID3 Data

      • Never happened due to time constraints

    • Scrolling

      • Implementing reasonable scrolling on a 2 line display took several iterations of interface design, but I eventually arrived at something that worked.

      • Description:
        • Say you're scrolling down, the screen displays:
        • > Song1
        •    Song2
        • And next
        •    Song1
        • > Song2
        • and next
        •   Song2
        • >Song3 and so on

           

    • Choosing/playing songs

      • Implemented with a global variable for the current song playing. Turned out to be simple.

         

  • Display/Visualizer

    • Analyzing Analog Audio data to generate info for visualizer

    • Developing SPI database for LED controller

    • Doing all this fast enough to keep up with music

    • What I learned:
      • Sample parts take too long to arrive.
      • Simple is better
  • Beat Detection: Is actually really difficult.
    • I tried for two days trying to get beat detection on the arduino to work.
    • I tried hardware filtering with software filtering, and couldn't get anything reliable.
    • The closest I got was using a lowpass filter in conjunction with a high-pass filter with a comparator...e.g. when the power of one was higher than the other, it pulled high. This worked about half of the time, but wasn't reliable enough to run a strobe.
    • The sampling frequency of the arduino is 500 hz, not enough to analyze audio.
    • It turns out that I would have needed a dsp chip, or two arduinos, to do peak detection and play mp3s. Arduinos don't have enough memory or speed to do what's required.              
    • Therefore, I implemented a simple strobe with adjustable frequency.

 

  • Power Supply (5v regulator with filter caps, 12v supply)

    • Presented one of the more difficult challenges. I experimented with different linear regulators, trying to get the Arduino to boot properly.
    • I ended up using regulated 5v, from a regulator with filter capacitors, which I soldered directly to the screen (which needed 5v) and to the USB input to the ardunio (allowing it to regulate down to 3.3v, for the logic circuits)

 

 

Plan B:

Same as plan A, only fewer LEDs, using LED drivers that don’t use SPI to communicate.

 

Plan C:

Same as plan A, using the internal PWM of the Arduino to control the LEDs instead of a seperate driver

 

 

Project Timeline:

5/14: Enhanced mp3 player functionality (mute, volume control)

5/16: Accessory parts received

5/20: LED driver functionality

5/23: Packaging design, circuit board made

6/2: Finished, party

 

Project Timeline Actual

5/14: Enhanced mp3 player functionality (mute, volume control)...3 days late

5/16: Accessory parts received...never arrived

5/20: LED driver functionality....never arrived, plan C adopted

5/23: Packaging design, circuit board made...packaging design/made completed ahead of schedule. No circuit board etched, perf-board used

6/2: Finished, party....completed. Rock on.

 

 

 

 

 

 

 

 

Comments (0)

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