Introduction: Hacking With TV Remote Control
Do you have an old TV remote? What if I told you can create your code to make communication with this remote controller.
You can do it!
Infrared remote control is cool, the idea of this content is turn it in presentation tool. It is easy with this remote to keep your finger on the advance button and simply advance slides — or turn the screen back, at your favorite PDF viewer.
Think like MacGyver, to handle a difficult situation through improvisation using only available materials to do an intelligent activity...
Its Ok, lets go to the hack...
First step you need to get this stuffs:
Computer with Unix Like OS(at my tests i using Fedora Linux) Any TV remote control (i use a samsung model “AA59-00469A”)
Arduino nano 12,00 USD
IR recv (model “1838B”) 2,00 USD
Jumpers 1,00 USD
Breadboard 2,50 USD
Step 1: Assembly Schema
Total of costs is 17.50 USD, looks good is not expensive, try following this image to assembly your hardware.
Green wire is GND Orange wire is 5v Yellow wire is pin 6(this is input to make communication with arduino) USB connected at arduino(usually at mini series uses FTDI input)
Step 2: Mapping Your TV Remote Control
At this step we are get some libraries, look this following:
$ git clone https://github.com/shirriff/Arduino-IRremote
$ mv Arduino-IRremote ArduinoRemote; sudo cp -rf ArduinoRemote/ /usr/share/arduino/libraries
At your arduino IDE tool, you can view examples of use it at tab "File", load example that show the input of serial, look this image following.
The function Serial.println() shows the output of serial input. for example: when you hold the button one of TV remote control, this action shows the hexadecimal value "E13DDA28".
Done the mapping process of buttons, the next step is use syscall open() to open the file "/dev/ttyUSB0" and use the syscall read() to get INPUTs of arduino device, remember to put diferent condition at each button input of device.
To automate keyboard hold keys, at Unix like system, you need use some libraries like libXtst and libX11, to emulate keys to turn screens of presentation, to install this libraries look the following:
$ yum install libXtst-devel libX11-devel
Deb based distros find to libXtst-dev and libx11-dev...
To get final code, rewrite this lines 152 and 159 with address of your button mapping, compile it and run:
$ git clone https://github.com/CoolerVoid/arduino_ppt_walk
$ gcc IR_remote.c -o IR_remote -lX11 -lXtst -Wall
$ ./IR_remote /dev/ttyUSB0
Look this following:
thats all folks!