I was looking for simple and cheap input devices for an upcoming Arduino Project. I used OSC in past projects, however there are some issues if the user does not have up-to-date hardware (for example if the router does not support Bonjour/Zeroconf, no DHCP server etc.).
Native Capacitive Sensors without additional Hardware
Pros:
- All you need is a piece of wire – very simple to build
Cons:
- Not reliable if Arduino is not Grounded. It worked fine on my coach, however if I moved the Arduino to a table, it did not work anymore. I had to touch a ground pin of the Arduino (USB connection), then it worked fine.
- No ESD protection
Capacitive Sensing Library
Pros:
- Easy to build (resistor, foil)
- Depending how you build the devices, you have kind of ESD protection
Cons:
- Not reliable if Arduino is not Grounded. It worked fine on my coach, however if I moved the Arduino to a table, it did not work anymore. I had to touch a ground pin of the Arduino (USB connection), then it worked fine.
PS2 Scroll Wheel Mouse
Pros:
- Easy to use, all you need is a (obviously) a PS2 mouse, connect 4 cables to your Arduino
- Most mouses have a long cable
Cons:
- Looks kinda ugly
PS2 Keyboard
Pros:
- Easy to use, all you need is a (obviously) a PS2 keyboard and connect 4 cables to your Arduino
- Most keyboards have a long cable
Cons:
- Looks kinda ugly
Pushbutton and the Arduino internal pullup resistor
Pros:
- All you need is a simple Push Button
Cons:
- You need to create a hardware case
Resistive Touchscreen
Pros:
- A lot of devices use Resistive Touchdevices (Palm devices, cheap china tablets…)
- You can add a picture behind the touchscreen, which describes the function – Looks nice
Cons:
- You need to connect to a 4 pin FFC (flat flex cable), and this is not really fun.
Sparkfun has some documents about their touchscreen. More information here and here.
There are more input devices I haven’t tested yet: