Arduino Mega 2560 USB Port

Hello,
I'm new to Arduino. I want the Arduino to read text from either keyboard or Barcode reader (in a keyboard emulation mode). NOTE: I need something that will interface with a USB device.

I expected the USB on the Mega 2560 to take an input from a keyboard - but is that correct? (If not, what is the purpose of this additional USB on this Arduino).

Can anyone point me in the right direction?

IN CASE YOU NEED FURTHER DETAILS:
I'm open to suggestions, including different Arduino, USB to serial converters, etc. I prefer 5v to 3.3v. Also, I need 2 spare digital outputs, 2 spare digital inputs, (capacity for 2x16 LCD preferred), Ethernet (which I currently have a shield for).

Thanks,
Dave

DavePick:
I expected the USB on the Mega 2560 to take an input from a keyboard - but is that correct? (If not, what is the purpose of this additional USB on this Arduino).

The Arduino Mega 2560 doesn't have an 'additional USB'. Perhaps you are thinking of the Arduino ADK (Andriod Development Kit)? http://arduino.cc/en/Main/ArduinoBoardADK

I think you will need the ADK or a USB Host Shield to connect a USB keyboard to an Arduino.

The Arduino Leonardo can EMULATE a USB keyboard but I don't think it will accept a connection from one.

John,
Well spotted. I made a school boy error. It is an Arduino ADK.

What is needed to read a Keyboard or Barcode? (any samples would be great).

Thanks for your assistance.
Dave

"USB Host: MAX3421E. The MAX3421E comunicate with Arduino with the SPI bus. So it uses the following pins:
Digital: 7 (RST), 50 (MISO), 51 (MOSI), 52 (SCK).
NB:Please do not use Digital pin 7 as input or output because is used in the comunication with MAX3421E
Non broken out on headers: PJ3 (GP_MAX), PJ6 (INT_MAX), PH7 (SS)."

So you just have to find an example of using the MAX3421E to connect to a keyboard. I bet Google can help there.

Thanks for the prompt reply, but I am still struggling.
Maybe its something really fundamental.

I have tried Googleing MAX3421E and Arduino, but I can only come up with USB Shield articles. Is this the same as the ADK?

I gave a few of the articles a go - but got errors. Before I dig too deep I wanted to establish if I the USB Host Shield projects should work with ADK.

Regards,
Dave

A lot of Keyboard controllers are usb/serial devices, check the datasheet of the matrix controller ic.

The ADK board is just a mega 2560 with a usb host built in. This library works with the Mega ADK board.

In the readme it tells you how to do a little renaming and some uncommenting to get it working.

Thanks,
I'll give it some more attention now I know it should work OK.
Regards,
Dave

Thank You All for your support.

It turns out I needed to un-comment the following line in avrpins.h:
#define BOARD_MEGA_ADK

Not sure this is common with other features, but I'll be on the look out in future.
Also - Reading the readme file which I downloaded is not to clear - if you read the one at:

it is much more clear.

Regards,
Dave