type="text/javascript" src="http://tetragta.org/forum/Themes/default/script.js?fin11"> type="text/javascript"> MTO.42.09 MP3 player adaptation type="text/javascript"> type="text/javascript">
Projects Forum
type="text/javascript" src="http://tetragta.org/forum/Themes/default/sha1.js">

Login with username, password and session length
Home Help Search Members Register
Next Tetra Volunteer Meeting: TBA
type="text/javascript">", smfFadeAfter = ""; var foreColor, backEl, backColor; if (typeof(document.getElementById('smfFadeScroller').currentStyle) != "undefined") { foreColor = document.getElementById('smfFadeScroller').currentStyle.color.match(/#([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])/); smfFadeFrom = {"r": parseInt(foreColor[1]), "g": parseInt(foreColor[2]), "b": parseInt(foreColor[3])}; backEl = document.getElementById('smfFadeScroller'); while (backEl.currentStyle.backgroundColor == "transparent" && typeof(backEl.parentNode) != "undefined") backEl = backEl.parentNode; backColor = backEl.currentStyle.backgroundColor.match(/#([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])/); smfFadeTo = {"r": eval("0x" + backColor[1]), "g": eval("0x" + backColor[2]), "b": eval("0x" + backColor[3])}; } else if (typeof(window.opera) == "undefined" && typeof(document.defaultView) != "undefined") { foreColor = document.defaultView.getComputedStyle(document.getElementById('smfFadeScroller'), null).color.match(/rgb\((\d+), (\d+), (\d+)\)/); smfFadeFrom = {"r": parseInt(foreColor[1]), "g": parseInt(foreColor[2]), "b": parseInt(foreColor[3])}; backEl = document.getElementById('smfFadeScroller'); while (document.defaultView.getComputedStyle(backEl, null).backgroundColor == "transparent" && typeof(backEl.parentNode) != "undefined" && typeof(backEl.parentNode.tagName) != "undefined") backEl = backEl.parentNode; backColor = document.defaultView.getComputedStyle(backEl, null).backgroundColor.match(/rgb\((\d+), (\d+), (\d+)\)/); smfFadeTo = {"r": parseInt(backColor[1]), "g": parseInt(backColor[2]), "b": parseInt(backColor[3])}; } // List all the lines of the news for display. var smfFadeContent = new Array( "Next Tetra Volunteer Meeting<\/strong>: TBA", "Introduce yourself in the General Discussion forum!<\/a>", "You can now add up to three attachments per post!", "All Tetra Projects licensed under Creative Commons<\/a>" ); // ]]> type="text/javascript" src="http://tetragta.org/forum/Themes/default/fader.js">
Pages: [1] 2  All   Go Down
  Print  
Author Topic: MTO.42.09 MP3 player adaptation  (Read 7830 times)
Susan Coates
Senior Volunteer
Newbie
****
Offline Offline

Posts: 15


View Profile Email
« on: May 31, 2009, 01:49:26 AM »

Team Leader: Jorge

Description: MP3 players are not accessible but can be if switch devices were attached. The goal of this project is to adapt an MP3 player that can be used with a single-switch access device.
« Last Edit: June 24, 2009, 10:13:01 PM by Jorge Silva » Report to moderator   Logged
williamli
Administrator
Newbie
*****
Offline Offline

Posts: 43


View Profile Email
« Reply #1 on: June 10, 2009, 07:35:59 PM »

Here's a quick update from our meeting two weeks ago:
 
Project Description/ functional requirements:
-Control for MP3 player
-MP3 player and scanning unit
-Scanning unit should receive (single) input from ECU (sip and puff input), scan through MP3 player button options (microcontroller indicated with LEDs? or some other method) and output the selected to MP3 player
-Budget $120 for MP3 player (after taxes), total for project approx $150
-1-2 months to complete
 
Discussion:
-Two options, hardwire or software solution
-IPod software solutions have been done; Brian and Jillian will look to see what type of software hacks for Ipods are available online
-Docking stations/stereos seem to have IPod control implemented through 30 pin cradle socket; Andy will look investigate further
-IPod price range is around $100-$150 for most inexpensive option that will work (i.e. having the 30 pin cradle socket)
-May not be possible to do hardwire solution with IPod (expensive and difficult to take apart)
-Alternative MP3 players may provide the option of doing either/both hardwire of software solution; William and Alex will look up potential MP3 players and hacks that may have already been developed.
-Scanning array; microcontroller? I spoke with Kalun about this and he has programmed microcontrollers for the purpose of an LED indicated scanning array. If we choose this option we could utilize his expertise. He said that the actually programming is not too difficult; cost should not be a factor for components, but the software to program the PICs is expensive. Andy will investigate further regarding using a PIC for the scanning array.
 
Report to moderator   Logged
williamli
Administrator
Newbie
*****
Offline Offline

Posts: 43


View Profile Email
« Reply #2 on: June 10, 2009, 07:36:52 PM »

Andy has done some prelim.
investigation into microcontroller requirements:
I found a way to make a scan array with a microcontroller by making a delay loop and iterating through different LEDs. Brian mentioned that the programming software for PIC is expensive, but I found a free one on the Microchip website:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002

My main concern is that how will the microcontroller interface with the sip and puff system and the one switch ipod controller? We also need to buy a programmer to program the microcontroller and maybe a development kit as well, unless we can borrow it from someone else ;)

Regards,
Andy
Report to moderator   Logged
williamli
Administrator
Newbie
*****
Offline Offline

Posts: 43


View Profile Email
« Reply #3 on: June 10, 2009, 07:38:20 PM »

Update from Brian:

Jillian and I spoke with Kalun and from our conversations with him it seems as if we can seemlessly switch from doing a hardwired solution to a software solution (the Ipod one) without too much trouble if something doesn't work out. In any case, he felt that programming of the scanning array can be done independently of which option we choose as the choice would only specify the type of outputs (i.e. like a close switch command vs a command matching the ipod protocol for the hardwire and software solutions respectively).
 
Jill was able to find lots of information online regarding the ipod pinouts and protocol for communication. I think it would be best if we started with an attempt at the software solution as this would be the cleanest and most flexible option (this would allow eric to update his mp3 as he sees fit without having to open it up....as long as he likes ipods..hehe). In addition, we would be able to test on any number of our own current players without having to purchase one first.
 
In terms of the hardwire solution, my biggest fear was that we would get one and open it up to find out we can't effectively solder to the proper points. Kalun suggested we look for older players with physical buttons to ensure we have available solder points. I think this could be a good backup if the protocols we find online don't work out.
 
All in all it seems like we can start working on the scanning array and output bit without putting too much emphasis on which mp3 we choose...for the time being.
 
Since there are more people familiar with this type of project coming to the meeting on Thursday we can re-evaluate our options and decide our steps forward from then...hopefully someone in the group has experience and resources to program a PIC to make short work of the software solution. I'll also speak with Kalun to see if he can drop by to have more meaningful conversations with people familiar with what we are trying to do.
Report to moderator   Logged
williamli
Administrator
Newbie
*****
Offline Offline

Posts: 43


View Profile Email
« Reply #4 on: June 10, 2009, 07:49:38 PM »

Hi everyone,

I have a high school friend I met today who did three software engineering coop terms at Apple in Cupertino, California, and is now working at a Mac software development company in the GTA.

He informed me that the new iPod touch software development platform, coming out in 1.5 weeks, could be very interesting for us. The version 3 of the SDK (I hope I am using the right terminology - I've asked him to look at this post and correct me) will offer full control of the iPod touch through the USB cable That means that everything that the iPod touch can do could be controlled by and external computer with a USB port using Apple's own SDK. We would then have some microcontroller-based hardware between the wheelchair environmental control unit and the Apple USB cable (and iPod).

He informed me that the iPod nano and shuffle have their own proprietary software and that it wouldn't fit with this SDK. Generally, the people who make docking stations for stereos have some sort of high-priced commercial agreement with Apple to be able to access the control of the iPod (which I understand that a number of Web sites show us how to do).

Reading my above paragraphs, it's not 100% clear even to me the advantage of this new SDK. I think it might be that it gives full functionality control to any software developer (including, potentially, ourselves). I've asked my friend for clarification and he may post directly to the board or let me know by email.

Also, some practical considerations:
- iPod touches may be out of the range of our budget
- we would have to buy the SDK for $99. This is not out of the question - we could get funding to do this - but just an extra hurdle
- the SDK only works on a Mac







Report to moderator   Logged
williamli
Administrator
Newbie
*****
Offline Offline

Posts: 43


View Profile Email
« Reply #5 on: June 10, 2009, 07:52:50 PM »

This could eventually be useful:
http://www.podgizmo.com/index.php?act=viewProd&productId=27
Report to moderator   Logged
williamli
Administrator
Newbie
*****
Offline Offline

Posts: 43


View Profile Email
« Reply #6 on: June 10, 2009, 08:41:35 PM »

I feel like these kinds of players  would be sufficiently easy to de-solder the switches for and make a simple scanning microarray:
http://rjcooper.com/mp3-player/
http://www.pcstats.com/articleview.cfm?articleID=947
http://www.bestbuy.ca/catalog/proddetail.asp?sku_id=0926INGFS10096904&catid=22576&logon=&langid=EN
http://www.bestbuy.ca/catalog/proddetail.asp?sku_id=0926INGFS10120705&catid=22576&logon=&langid=EN

The last 2 are in the $15-$30 range.
The switches might be small but it should still be feasible to solder in a switch. Not sure to what size they make them for.
Report to moderator   Logged
Zongyi
Newbie
*
Offline Offline

Posts: 8


View Profile Email
« Reply #7 on: June 10, 2009, 11:21:05 PM »

I have some experience in PIC programming and embedded electronics. If you are still interested in the hardware approach, I feel that I would be able to contribute.
Report to moderator   Logged
operon
Guest


Email
« Reply #8 on: June 11, 2009, 05:32:34 PM »

This could eventually be useful:
http://www.podgizmo.com/index.php?act=viewProd&productId=27
I like this a lot... very elegant solution. Also, if this exists, then the protocol specs must be out there. This page http://pinouts.ru/Devices/ipod_pinout.shtml seems to be the way there.
Report to moderator   Logged
operon
Guest


Email
« Reply #9 on: June 11, 2009, 05:44:47 PM »

This may be a bit of an overkill, but my friend did use it for a long time just to turn on/off his wheelchair... I have hooked it to Eric's chair before so it would just be a matter of substituting the Robot with the MP3 player:

http://www.youtube.com/watch?v=ONB67936S6E

the necessary info is here:

http://wiki.komodoopenlab.com/index.php/Tutorials/OpenEADL

Even better... phones can play MP3 files... and I have code for hooking up a bluetooth MC with a phone for this kind of thing:

https://openeadl.svn.sourceforge.net/svnroot/openeadl/trunk/

so it would just be a matter of looking for the right MP3 control API in JavaME or something like that. Here is the project page:

http://komodoopenlab.com/use/openeadl/

it's all free and open source and the hardware is sitting on my desk at UofT (has to be put together), so let me know if you want to try it out.
« Last Edit: June 11, 2009, 06:06:28 PM by Jorge Silva » Report to moderator   Logged
andy
Newbie
*
Offline Offline

Posts: 12


View Profile Email
« Reply #10 on: June 12, 2009, 12:52:54 AM »

hey everyone,

here are the links that we looked at during today's meeting

Cornell Ipod Control Project
http://courses.cit.cornell.edu/ee476/FinalProjects/s2007/awr8_asl45/awr8_asl45/index.html
Ipod dock pinout (already mentioned by Jorge)
http://pinouts.ru/Devices/ipod_pinout.shtml
Ipod linux wiki
http://ipodlinux.org/wiki/Apple_Accessory_Protocol
PIC programming tutorial
http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm

Hi Zongyi, we can definitely use someone who has PIC programming experience. Right now we are leaning toward doing something like the Cornell Ipod Project. We'll let you know when our next meeting is.
Report to moderator   Logged
williamli
Administrator
Newbie
*****
Offline Offline

Posts: 43


View Profile Email
« Reply #11 on: June 12, 2009, 10:56:30 PM »

Hi everyone,

I went to Creatron today, which is on College Street between Spadina and Huron. I spoke to the owner, Lawrence about the project:

1. They sell the Atmel Mega32 microcontroller used by http://courses.cit.cornell.edu/ee476/FinalProjects/s2007/awr8_asl45/awr8_asl45/index.html for $10.50.

2. There is a programmer for the Atmel 32 microcontroller for $28.99. In terms of the software, there should be free versions available for educational/student purposes. These sometimes have limits on total program size but it shouldn't be a limit for us.

3. Lawrence estimated that the cost of the microcontroller+associated electronics to run it (i.e. oscillators, voltage regulators, etc.) would be around $50 in total. This is a board made from scratch - it would take 1-2 days of work to solder it together. So, we are looking at $50+iPod cost for the total cost of the project.


Here are some other points that he raised:
- Atmel vs. PIC: PIC is a more established brand but Atmel is cheaper. They are essentially equivalent - he noted that U of T researchers and profs seem to favour PIC more, Waterloo people like Atmel, Ryerson engineers like PIC, while Ryerson comp.sci's like Atmel. The PIC programmer downloads the program to the chip more quickly than the Atmel but this should be significant, and the performance of that program is essentially the same. The equivalent PIC for the Atmel Mega32 is around $13.50, so slightly more expensive.
- Once the chip is programmed, it needs to run with a power supply, timer, oscillators, etc. Basically, it is this: http://www.nbb.cornell.edu/neurobio/land/PROJECTS/Protoboard476/index.html. However, I am not sure yet how we would print this circuit board economically (does the lab have the facility to do this?)

In theory, we can use the STK500 board that the project used: http://ca.mouser.com/Search/Refine.aspx?N=4294759229&Keyword=ATSTK500... however, it is more expensive.





Report to moderator   Logged
operon
Guest


Email
« Reply #12 on: June 13, 2009, 12:20:58 AM »

Seriously guys... I have gone through all of this before, I have the STK500 as well as an ISP programmer (http://www.raphnet.net/divers/avrprog/avrisp.jpg) sitting in a shelf at my UofT office. The software for programming Atmel MCs is completely FREE and downloadable from here: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 and here: http://winavr.sourceforge.net/ (no limitations or trials... these are the full SDKs). If anyone uses linux, there are also avr linkers and compilers in Ubuntu and most mayor distros.

I also have like 4 Mega16 and a couple Tiny26 MCs (I may have a 32 lying around), but there is absolutely no need to solder, draw schematics or print PCBs... the cornell schematic uses an emulated serial protocol on 2 pins so a $40 Arduino board (also sold on college and also based on ATMEL) will do just fine: http://www.arduino.cc/ besides, it's a bit easier to program and the software is also free.

I also have an ECU emulator that Ka Lun @ bloorview lent me a while ago... as well as Invacare Mark IV power connectors (these are actually automotive connectors) to draw juice from the wheelchair's battery...

Re: PIC vs. Atmel, Lawrence's timing is a bit off, what he said was true 5 years ago. Every single piece of commercial electronics I've hacked in the last 2-3 years has an Atmel MC inside... Eric's wheelchair has one controlling the display's LEDs, as do all Invacare Mark IV/V chairs. It makes sense that Waterloo students use Atmel... their curriculum is a bit more up to date :(

I also think it is still worth to consider the cell phone option... if you are going to solve this, you might as well just expose as much functionality as you can. If I have a chance to look at the JavaME APIs, I'll add links to relevant documents here.

I'd be open to showing a couple of slides on campus to the group and share all the info I have... it sucks that I don't have as much time as I would like to spend on this, but at least that way I won't feel so useless.
Report to moderator   Logged
Shahed Al-Haque
Administrator
Newbie
*****
Offline Offline

Posts: 37


View Profile Email
« Reply #13 on: June 24, 2009, 06:30:33 PM »

Project Update:

-need to contact original leaders of project to get more information about project
-original idea was to hack mp3 player and hook it to an appropriate switch
-Jorge will proceed with project
Report to moderator   Logged
Dave.W
Newbie
*
Offline Offline

Posts: 1


View Profile Email
« Reply #14 on: June 24, 2009, 11:37:00 PM »

Hey guys,

This is David.

I recently joined Tetra Society and I've talked to Jorge and will be joining you guys for the implementation of the mp3 player adaptation!
« Last Edit: June 25, 2009, 08:41:22 AM by Jorge Silva » Report to moderator   Logged
Pages: [1] 2  All   Go Up
  Print  
type="text/javascript" src="http://tetragta.org/forum/Themes/default/spellcheck.js"> type="text/javascript" src="http://tetragta.org/forum/Themes/default/xml_topic.js"> type="text/javascript">

    
'; // And this is the replacement for the subject. var smf_template_subject_edit = ''; // Restore the message to this after editing. var smf_template_body_normal = '%body%'; var smf_template_subject_normal = '%subject%'; var smf_template_top_subject = "Topic: %subject%  (Read 7830 times)" if (window.XMLHttpRequest) showModifyButtons(); // ]]>
 
Jump to:  

Creative Commons License
All projects by Tetra Society, GTA are licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License type="text/javascript">
Powered by MySQL Powered by PHP Powered by SMF 2.0.2 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Reflection Theme by [cer]