View Single Post
Old 12-08-2010, 11:35 AM   #19 (permalink)
mluckham
EcoModding Lurker
 
Join Date: Feb 2009
Location: Ontario, Canada
Posts: 35
Thanks: 2
Thanked 14 Times in 7 Posts
Quote:
Originally Posted by bobski View Post
Unfortunately, I don't think I2C has provisions for a hierarchy like that. There's one master and all the other devices on the bus are slaves. I guess you could get around that by using two busses, but the Arduino uses specific pins for I2C because of hardware provisions in the ATmega controller. There's only hardware for one bus.
I think there can be one Master "at a time", but it doesn't mean that only device can be the master on the bus, period. Certainly, it would need to be coordinated.

I could re-think the heirarchy and treat the uLCD as a slave device, but I'm sort of visualizing the touch-screen LCD as a general-purpose "control panel" for multiple I2C slave devices - which is more suitable to it being the master.

The port expander is an interesting idea. Another would be to change the method of detecting buttons to use only one pin, but such method would need to retain the feature of detecting multiple concurrent button presses. The simplest solution - in software, anyway - would simply be to move the button signals to ANA1 and ANA2, and free up ANA4-5 for I2C.

My personal goal is to work with the current MPGuino design and adapt it - if another MPGuino were to be laid out, that's another matter entirely ... it would be nice to accept more input signals, for example, and expand the functionality of the device. Without making it way more expensive - I think it is the price point that makes people want to get one and experiment

Last edited by mluckham; 12-08-2010 at 11:44 AM..
  Reply With Quote