Arduino to USB Keyboard

Hello, I am wondering if this project sounds feasible.

I want to use any keyboard (I’ll stick with one if need be) and hook it up to an arduino that will be listening for keyboard inputs to play sounds (kind of like a piano, but it’s a computer keyboard).

I would like to be able to use it anywhere (maybe a 5v power supply? I’m not sure what the minimum would be needed).

It sounds simple enough, though I’m not sure if there are any parts that I may need.

Does this sound like a doable project?
Your thoughts and suggestions would be much appreciated.

I have attached a high level diagram of what I intend to do.

Thanks.

The Uno doesn't have USB host capability so you'll need to use a USB host shield.

Try get older PS/2 type keyboard, that can be used, there's a library for it.

Cheers,
Kari

Just to add to what GaryP said, if you use a PS/2 keyboard, you don't need the host shield. It's easy to wire it directly to your Uno:

But you need a real PS/2 keyboard. You can't just slap one of those common passive PS/2 adapters on a USB keyboard.

pert:
But you need a real PS/2 keyboard. You can't just slap one of those common passive PS/2 adapters on a USB keyboard.

Why not?

I was interested in this topic a while back and the information I found indicated that some "smarts" were needed on the computer's end to use a USB device with a passive PS/2 adapter. However, I just looked for that source and instead found this:

which indicates that the smarts are in some keyboards. If your keyboard has the smarts, it will work with the passive adapter. If it doesn't, it won't work.

I have a bunch of those adapters so I'll give it a try with the various keyboards I have on hand when I get some time tomorrow and report back with my findings.

pert:
If your keyboard has the smarts, it will work with the passive adapter. If it doesn't, it won't work.

That was my point. :grinning:

I have - somewhere - those adapters.

Not to be confused with the opposite adapter:

I have a few of those too. A couple in use to "use up" PS/2 mice and keyboards - or to make them less attractive to thieving!