The goal of this project was to come up with a way to use my Android phone as my Samsung TV remote. This has been achieved using some fairly basic things; my trusty Arduino, and IR LED, and a Bluetooth Module.
Thanks to Hackaday for featuring this project!!! -> see here.
NOTE: This code only works with Samsung IR Protocol other TV types will not work.
The phone talks to the Arduino via Bluetooth, the Arduino then sends the IR signals corresponding to the command given from the phone. I started by seeing if I could get the Arduino to generate an IR signal, to do this a borrowed some great code that Lucas Eckels created (see his blog post here) that was just what I needed. The code is designed to take in three digit function codes via the serial port then generates the correct sequence of IR pulses for the Samsung NEC protocol remotes. I uploaded the sketch to my Arduino I got it working fine (apart from one mistake that was in the code where a serial write command was used instead of a serial print). Using the Arduino serial monitor I could send the function commands without any problem.
Next I had a go at making the Arduino work via Bluetooth, I went for a cheap module of ebay rather than a proper shield (they a little expensive). The Bluetooth was easy to set up and worked like a charm straight away. All you need is to connect the rx on the Arduino to the tx on the module, and vice versa. Then connect 3.3V to Vcc and Ground to Ground. The Bluetooth Module had 9600 set up as default baud rate. I’ve noticed a few instructions say to change the Baud rate for use with Arduino but I thought I would stick with 9600 and change it if I noticed any problems.
Using a Bluetooth terminal program downloaded off the Android Marketplace called BlueTerm I was able to send the codes to the Arduino via my mobile. The three digit codes are the function codes for each button on the remote. A comment on Lucas Eckels blog gave some of the codes, but most of the codes I found by trying random 3 digit numbers in the BlueTerm program. A list of the functions I have found is given at the bottom of this page.
Next I decided to see if I could make my own app that would send particular codes for different button presses. I’ve had a go with AppInventor using Kucza’s project BennyBlue as a starting point to model my own bluetooth app. App inventor is free and very easy to use. I added more buttons and changed the graphics. Instead of sending single letters to serial, I changed it so it sends the various 3 digit function codes. I also made it so that the phone vibrates a little after each button press to give the user feedback that the app has registered the button press.
For future development: Multiple protocol support (maybe using the Arduino IR library) and a nice enclosure might be nice, though I think I would switch to an Arduino Nano first.
Samsung LCD TV Device Code 7.7
Samsung TV Remote Function Codes: