Multiple questions in one post... hope that is ok. I'm a complete noob. Ground zero.
I am experimenting with making a distributed control setup. I'd like to have a host / master issue a command to a remote / slave device via I2C comms. This slave device would either turn on or off a PWM signal, and monitor it's environment for a single bit state change.
Once it sees the state change, it reports back to the host the state change.
1) Can an I2C slave device initiate communications on I2C bus? Or does it have to wait to be polled? 2) I'm trying to figure out a way to use the I2C bus to communicate over a distance of 30' with as many as 6 I2C drops on the bus. Is there a means for decreasing the data rate of the I2C interface? I am good with a rate as low as 1kbs. 3) Finally, I need to build multiples of these systems, and would like to be able to port this to a small custom board with a minimal BOM. I'd like to have an ATMEGA328, a regulator, and perhaps some external pullup resistors and decoupling caps. Is there an easy way to port the R3 board code directly to a bare bones processor?
Sorry... still trying to get up to speed on the Arduino system, I'm an analog guy and not a processor guy so this is more than a bit of a challenge. Seeing some mid-school kids use these has bolstered my confidence. We'll see how that goes!