How to connect a USB Joystick to the arduino to control a Canon DSLR

arduinocamerausb

I'm starting in the Arduino world. I've been reading a lot on the subject and I have a few questions regarding a project in which I'm trying to get involve.

I want to control my Canon EOS 7D with a joystick using Arduino. I ran with this two projects.

http://www.instructables.com/id/Arduino-Lens-Controller-Synchronized-ZoomFocus-/

http://www.instructables.com/id/Building-the-YaNis-EOS-Controller/

Both have parts of what I'm trying to achieve. The main doubts that I have are related with the USB port. If I want to connect a USB Joystick to Arduino and then the Arduino to the camera using USB, Do I need to have two USB host shields?

How is it that in the first example the Wii gamepad is connected straight to the Arduino? Can I do that with an USB generic gamepad?

If I start the project with a regular USB gamepad, Do you think I'm going to be able to replace it with a wireless gamepad on the future?

Is it possible to take advantage of the USB port that, the Arduino UNO already have?

As you can see, a little of orientation would be good!, THANKS!!

Best Answer

A quick glance at the Arduino UNO page shows that this board is not setup to be a USB host which is necessary to control your camera and receive input from the joystick. You'll need to choose a development board that can be used as a USB host. Even then, you'll need a hub for two devices.

I know nothing of Arduino, but a quick search yielded this.

Regarding the Wii controller, it uses a much simpler serial interface (I2C) which allows direct connection to his Arduino. This is not possible with USB (without additional hardware). However, one thing you could do is open up a generic USB controller and make your own connections to the various buttons/pots within, then route them out of the controller to your application.