I need some advice on which Arduino board to purchase.
I'm doing a project where I'm creating a programmable 3 button usb-foot-keyboard which is usable while my regular keyboard is plugged in too. The foot buttons are simple two pole buttons, so no pots. As part of the project I explored what's technicly possible under Windows and hooked up a second keyboard to my system. It turned out that two simultaneously connected keyboard work perfectly fine, can be used simultaneously and do not conflict with each other, even in games. My main keyboard is hooked up through ps2 and the second one connected on a usb port (though with a ps2 to usb converter).
What I'm looking for in the Arduino board:
-It must be usable simultaneously with my main keyboard (and possibly 'act' as a keyboard?).
-It must be hooked up through usb.
-I must be able to program my connected foot buttons to actual keyboard actions. For example: footbutton 1 programmed to keyboard letter I, footbutton 2 programmed to keyboard letter O, footbutton 3 programmed to keyboard letter P. I've done some research and saw some Youtube video's similiar to what I want so this must be possible right?
-I'm a IT guy but I'm fairly new to electronics so a starter board with documentation/tutorials/test projects would be very suitable. I'd like to use the board for other learning and fun projects too.
I hope you guys can recommend me a suitable board. Thanks in advance.
Thanks for your reply. I've Googled that board and it's indeed very cheap. It looks like this is not an Arduino product however it says that it's compatible with Arduino IDE. I assume that means that it accepts code from the Arduino coding program?
Maybe there's some other products that are a bit more user friendly or easier to jump in for a beginner and meet the wishes I listed?
You'd be best to start with an Arduino Uno. The USB interface library (google "VUSB") works with quite a few chips but an Uno is the obvious starting point, will be easier to work with, and has many more IO pins than a Digispark.
The Uno is a better all round board, but getting it to pose as a USB keyboard is much harder. For general "getting started", then Uno is the way to go. For building a foot operated USB keyboard its not.
For a footswitch you only need 2 i/o pins, but you do need USB HID which Uno doesn't have and Digispark does.
Digispark used the Arduino IDE, and is code comparable (within its limitation). They have moded version of the IDE which comes with example code to act as a USB keyboard - no extra components required, just plug in and go. Download it and have a look. To make it do what you want you just need to attach the switches, and write about two lines of new code to check the switches before sending key presses.
You probably want both - Uno for tinkering with. Digispark for putting in this project, and leaving it in there.
The digispark sounds like the right way to go so I think I'm gonna go for that (hope I can find a store that ships to Holland). I might buy the Uno too for some other projects and since you're able to combine it with the starter kit, it should be a good choice.
Just a question for dctsystems about only needing two pins. Will this also work with the 3 pedals I'm planning to use? Because when I think if it, I see no way for the digispark to differentiate the 3 pedals when I connect them all to two pins. Or should I maybe put 3 different resistors (100ohm, 300ohm, 500ohm) on each footpedal so the digispark can measure and differentiate pedal 1,2,3 in case I connect 'm all on 2pins? (I might say something really stupid here )
yes you need three(isn) pins for three switches (you could do something clever, but probably better not to!). The system I built had two pedals (so I was thinking if the two pins I used). The digispark has 6, though a couple are used for USB, so as you're using USB that still leaves 4 to play with.
Buy direct from Digistump they'll sell you one for 7Euros, and ship it to you for 3.
Unlike the other suggestions, this device (Leonardo) is hardware-based to function as a HID (keyboard, mouse etc.). It is specifically designed for this very purpose.