I am sorry for bothering you all with this question again, but I am torn between my choices for interfacing some analog sensors, switches (bumper and user buttons) and finally some status leds. I am using a PC as main host for my robot so I have to communicate with the other devices through USB-I2C or a serial interface to a microcontroller.
I asked here earlier and was recommended the GPIO14 which seems like a brilliant little I2C enabled chip - and quite cheap too.
Since I have the SD21 servo controller though I thought that I'd explore the choices there as well since this can fit either a BS2p or a Picaxe - both which would then act as the I2C master (and I have to disconnect my USB-I2C). Well I thought about this and I guess it wouldnt be hard to make sw that could do the sensor/switch polling and based on commands from the serial interface hooked up to the PC host I could send data back to the host or distribute them as commands on the I2C bus (to control servos, motors, etc).
The problem here though seems to be how the serial interface works on these microcontrollers. The picaxe seems to be limited in the way that its serial input interface is only used for programming the picaxe and cannot be used for host communcation. This severely limits is use. The BS2p doesnt seem to have this limitation, but is very very expensive compared to my other options.
The main advantage for having a separate microcontroller is autonomous operation for vital functions like cutting off the motor when bumpers have contact or the motor is stalling - or an ultrasonic sensor pointing at an angle indicates that the robot is soon about to crash to its death down the stairs! A PC based host might introduce a latency that is unacceptable for critical operations since the PC is using all its power trying to process something in its vision (webcamera).
I guess my question here is, can the picaxe be interfaced in the way I want so I have a realtime serial command interface to it as well as a programming interface? I assume the SD21 is wired up in a way that its the serial i/o pins that is connected to the pins that you can hook up to a computer? And it can therefore only be used to program the picaxe?
Any thoughs on this would be very helpful.