Hello!
First post, first project (beyond various beginner tutorials)
I want to make a programmable/expandable USB Keyboard & Mouse switch using arduinos.
But one is planning on using BeagleBones & Teensies and the other using Arduinos is planning on PS/2 (instead of USB) and appears to be put on hold.
I was hoping for some guidance on where to start researching?
From the BeagleBone project, I like the idea of being able to emulate/clone a generic keyboard & mouse ID as well as it doesn't disconnect/reconnect every time you switch.
From the Arduino project, I like how... ITS USING ARDUINOS!
I already have:
1x Arduino UNO
1x Arduino Leonardo
1x USB Host Shield full size
2x Arduino Pro Micro (ATMega32U4)
?x All manner of beginner parts, components, breadboards, etc.
Any and all starting points and relevant projects will be helpful!
Thank you in advance!
I2C is probably not a good choice for the main data bus. I've had trouble extending an I2C bus to 10cm. The total bus capacitance is a problem, as well as cross-capacitance between SDA and SCL in standard ribbon cables. I2C extenders are available to go 20 feet or more, but they're surface-mount chips, not simple plug-and-play devices.
SPI is good for longer distances but stringing CS lines along that far will be tricky.
Good old serial might be the way to go. Just have all the slaves (computer) listen for their address in front of each key coming from the keyboard. Or use something more imaginative.
Start small. Get the Leonardo talking to one PC and sending just one key when you press a button. Then get the Uno and USB host shield talking to the keyboard. Then set up the network between the two. Then go out and buy as many Arduino Micros as you have computers. (The Micro has the identical processor as the Leonardo but it's smaller.)