Shop OBEX P1 Docs P2 Docs Learn Events
Guitar Hero Controller (project) — Parallax Forums

Guitar Hero Controller (project)

computer guycomputer guy Posts: 1,113
edited 2008-09-17 17:17 in Propeller 1
I have started this topic for discussion about my latest project which can be found at robot.tmcp.com.au/buildingblock/projects/guitar.htm.

Please feel free to leave comments or advice.
If you come up with a solution to a problem I have then I will be most happy.

Thank you smile.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Check out my robot using the propeller RECONAUTOR
If you like my avatar then check this out Propeller Domed Stickers for sale

Building Blocks To The Propeller Chip

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2008-07-13 12:48
    If you're having problems running out of I/O pins and what you want to add is a high speed device, you want to move the low speed device(s) to an I/O Expander and directly connect the high speed device to the Propeller.

    The Microchip MCP23016 is a 16-bit I2C I/O Expander that can be attached to the boot EEPROM lines, comes in a DIP package, and can drive up to 16 LEDs (at 15mA or so). There's sample code in the I2C Library object from the Propeller Object Exchange.
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-13 12:53
    The problem is space.
    As you can see in the pics I uploaded to the site, the circuit board is really low on space and I require it to be single sided.
    I will see what I can do about adding an I/O expander.

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
    If you like my avatar then check this out Propeller Domed Stickers for sale

    Building Blocks To The Propeller Chip
  • BaggersBaggers Posts: 3,019
    edited 2008-07-13 14:16
    You say your running out of pins, why not add a second prop?
    It'll be a lot nicer to code than adding any pic chip [noparse]:D[/noparse]
    As for space, can you use surface mount, and a double sided board?

    Baggers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • Mike GreenMike Green Posts: 23,101
    edited 2008-07-13 14:24
    The PCA9554 is a smaller I2C 8-bit I/O Expander in a 16-pin DIP package. It has weak pullups on its I/O pins designed for easy direct switch connection. You could eliminate the resistors on the I/O lines for the switches to make board space for the PCA9554. It's addressable so you could have more than one.

    Mount resistors vertically to save board area.

    You need a couple of 0.1uF ceramic bypass capacitors for Vdd/Vss. You've got them for the Prop, but you might add them for the EEPROM and, for sure, for any I/O expanders.

    Post Edited (Mike Green) : 7/13/2008 2:29:49 PM GMT
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-14 02:27
    The second prop sounds good but would involve communicating between the two.
    Using a second prop for nothing more than controlling leds seems like a waste considering the need for an external clock and eeprom.
    Thank you anyway Baggers.


    I have the resistors mounted horizontally to allow for the tracks to run under them.
    Will put 0.1uf cap on eeprom and on any I/O expanders I add.

    Would it be possible to put the I/O expander on a separate board and join them with a ribbon cable or would there be to much noise?
    Will most likely have to do this with SD card as well.

    I need to keep them single sided as I am making them myself with the Press-n-peel method.
    Depending on the price I might get some boards made up if the home made ones work well.


    I would like to take this time to thank you both for your contributions to the community, you have both done a lot to help everyone.

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
    If you like my avatar then check this out Propeller Domed Stickers for sale

    Building Blocks To The Propeller Chip
  • Mike GreenMike Green Posts: 23,101
    edited 2008-07-14 02:44
    You could put the I/O Expander on a separate board. The only connections would be +3.3V, ground, SCL, and SDA. You could optionally run a 5th line for the interrupt pin of the PCA9554. Put the pullup for the interrupt pin on the Propeller board. Consider allowing for daisy chaining of the I/O Expander boards. You'd carry the 4 or 5 connections through. Use jumpers on the I/O Expander board for the address lines of the PCA9554. This way, you could add several 8-bit I/O Expanders.
  • PropabilityPropability Posts: 142
    edited 2008-07-14 02:58
    Couldn't you make a pin do double duty if all it had to do was turn an led on or off and sense a switch? Put the sensing of switches·and the turning on or off the leds into one cog so you can control the pin.
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-14 03:34
    The datasheet for the PCA9554 specifies that VDD needs to be within -0.5v to +6.0v however the example circuit shows it connected to 5v with 10k pullups on the I2C lines.

    Will it run at 3.3v with 10k pullups? Or does it need 5v?


    edit: Also if I was to omit the INT connection should I connect it to VDD or VSS.

    edit2: I have updated the web page with a correct pin usage table.
    Will update the PCB pictures once I have made the modifications.

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
    If you like my avatar then check this out Propeller Domed Stickers for sale

    Building Blocks To The Propeller Chip

    Post Edited (computer guy) : 7/14/2008 3:46:55 AM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2008-07-14 03:42
    The PCA9554 works just fine with Vdd = 3.3V. Pages 2 and 11 of the datasheet clearly say "Operating power supply voltage range of 2.3V to 5.5V". You can use 10K pullups to 3.3V. If the device is more than a couple of inches from the Propeller, you might need lower value pullups. Philips (NXP now) has some good application notes on the design of I2C busses which discusses considerations for choice of pullup values.

    INT is an output from the PCA9554. If you don't use it, leave it unconnected.
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-14 04:39
    If I have the pullups on the expander board and I daisy chain them then wouldn't that cause problems?

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
    If you like my avatar then check this out Propeller Domed Stickers for sale

    Building Blocks To The Propeller Chip
  • Mike GreenMike Green Posts: 23,101
    edited 2008-07-14 04:47
    Yes. The pullups should be on the Propeller board.
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-14 05:52
    Is this how the expander board should be wired?

    attachment.php?attachmentid=54560
    attachment.php?attachmentid=54561

    edit: The led board will have a 240ohm resistor for each led and the 3v3 connection.
    when the I/O pin is low the led will light when it is high led wont.

    So 3v3---/\/\/\/----<|
    Expander I/O

    /\/\/\/\ = 240ohm resistor
    <| = led

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
    If you like my avatar then check this out Propeller Domed Stickers for sale

    Building Blocks To The Propeller Chip

    Post Edited (computer guy) : 7/14/2008 6:00:43 AM GMT
    530 x 454 - 8K
    280 x 318 - 9K
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-14 08:40
    Nick,

    Thank you for your help. However considering the lack of schematics and code on their site at the current time they don't provide much help.
    I will continue to update my site with pictures and code and am planning on providing a step by step tutorial on how I make it.

    edit:
    For those interested in building one of their own without using my plans.
    Here is the website that Nick provided in a reply that has now been deleted.

    http://mechanizedrock.com/
    Thank you for the link Nick.

    Please note that the site above has nothing to do with my project.

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
    If you like my avatar then check this out Propeller Domed Stickers for sale

    Building Blocks To The Propeller Chip

    Post Edited (computer guy) : 7/14/2008 8:46:19 AM GMT
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-14 12:22
    I have updated the site with pictures of the I/O expander and SD boards.

    If you notice anything wrong with any of the boards please point it out to me.


    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
    If you like my avatar then check this out Propeller Domed Stickers for sale

    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE

    Post Edited (computer guy) : 7/14/2008 12:28:48 PM GMT
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-15 07:38
    I have updated the Main Board and Expander Board images with the current design. smile.gif

    edit: I have updated the main board image again as I decided a trimpot was needed on the ADC0831's REF pin.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE

    Post Edited (computer guy) : 7/15/2008 9:35:57 AM GMT
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-18 01:31
    I have put all of the schematics in a zip file.
    If someone could take the time to look over them and make sure there isn't any obvious mistakes it would be nice.


    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE

    Post Edited (computer guy) : 7/22/2008 8:44:43 AM GMT
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-22 12:16
    Anyone have a look.
    Coz I will be making these board in about a week.

    Just a small amount of your time.


    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE
  • scanlimescanlime Posts: 106
    edited 2008-07-22 17:02
    Just a few things to check:

    - Does the I/O expander chip have built-in pull-up resistors? If not, the buttons could use some.
    - Do your 3V and 5V regulator chips need input/output filter capacitors?
    - Where are the pull-up resistors for the SD card slot?

    --Micah
  • computer guycomputer guy Posts: 1,113
    edited 2008-07-23 06:03
    Thank you Micah.

    - Will look into the I/O expander and make changes if I need to.
    - I was thinking that but am running low on space. Would some ceramic or tantalum caps do. They are small and would not take up much space but would they do the job?
    - The SD card has a resistor network. This is shown as a rectangle and several lines in the schematic.


    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE
  • scanlimescanlime Posts: 106
    edited 2008-07-23 09:01
    Sorry, must have missed the resistor net on the SD board.

    Unless your regulators are specially designed to not need filter caps (I think there is one model by Burr-Brown that fits this description) you *do* need input and output caps. Check the regulator's data sheet, but it's usually best to put in both a 0.1uF cap (for high frequency rejection) and something larger.. in the tens or hundreds of uF range, depending on how noisy the input is and what kind of load you're driving.

    As an example, the Parallax demo board uses a 0.1uF cap on the input of its 5V regulator, and 10uF caps on the regulated 5V and 3.3V outputs. Something like this should be reasonable for most applications, but definitely check the data sheet on your particular regulator chips.
  • computer guycomputer guy Posts: 1,113
    edited 2008-09-17 11:06
    Just thought I would bump this thread to see if there is any more interest in this project.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE
  • scanlimescanlime Posts: 106
    edited 2008-09-17 17:17
    I think it's an interesting idea, but I'm not going to design it for you tongue.gif

    If you get it working and post pictures, schematics, and code, I'm sure people will be interested- and they may even want to build their own.

    You might also ponder doing a version of this which involves less mechanical construction, and just acts as a dongle that sits between a normal GH controller and the Playstation. It could accept SD cards, and have buttons for recording performances to the card or playing them back.

    --Micah
Sign In or Register to comment.