I recently bought a Samsung TV with the new SmartTV Hub that offers some nice Internet capabilities. Ideal for a quick look into the News, some clips from Youtube, the weather forecast or a quick Google search! But there is one shortcoming that spoils the fun: Text entry has to be done with the remote control in a SMS like manner. Painful and impossible to handle, at least for me! Samsung already offers a remote control with a touchscreen keyboard, but it is rather expensive and has bad reviews, so I looked for a cheaper and better alternative...and I think I found one:
(See pictures below)
The keyboard is from my old desktop computer lying around in the cellar, an infrared diode also was also easily found and, of course, an Arduino Duemillanove. To interact with the keyboard I used the PS/2 keyboard library from the Arduino playground( http://www.arduino.cc/playground/Main/PS2Keyboard
). I had to make some modifications to change the keyboard layout to German and to include the F1 to F12 keys.
To communicate via Infrared I used Ken Shiriff's Multi-Protocol Infrared Remote Library for the Arduino( http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
) and added the Samsung protocol as described in the discussion section of the above page. Thanks a lot to all contributors!
The hardware setup is very simple: first connect the keyboard to the arduino. In my case (with an IBM 3K 8820 keyboard the wires are connected like this:
|green ||pin 2|
|yellow ||pin 7|
The infrared diode is connected to pin 3 with a 100 Ohm resistor and to ground. See the hardware section setup section in Ken Shirif's Blog (link above) for assistance on that.
The program I wrote is simulating the SMS-like text entry. If for example the b-Button is pressed, the infrared code for 2 is sent twice, if c was pressed, three times, and if 1 was pressed, 4 times. Because of this the keyboard is of course slower in reaction as a usual keyboard, but it works surprisingly well. Not good enough for lengthy texts, but sufficient for URLs or google search strings. Navigation is done with the arrow keys, page up and page down scroll the page and the F1 to F12 buttons are responsible for the function keys. At the moment I use the following layout:
|F3 ||FAST FORWARD (>>)|
|F4 ||REWIND (<<)|
|F5 ||A (red)|
|F6 ||B (green)|
|F7 ||C (yellow)|
|F8 ||D (blue)|
The keyboard can easily be connected and reprogrammed. I'm still trying around a lot and often add or relocate buttons, so the code is not final. There is also some debug code included that could be deleted in a final version.
As mentionend, I have a Samsung TV, but I'm quite sure the keyboard could be useful for other brand TVs as well with a little reprogramming...
The code had to be moved to a separate post, because the size of the post grew too big...