Arduino browser based remote control (linux)

Summary of Arduino browser based remote control (linux)


This project details creating a web-based remote control system using an Arduino Uno to replace lost physical remotes. It involves connecting an IR LED and IR receiver to the Arduino, programming it with the irremote library, and using a computer with Apache and PHP to host a web interface. Users must first record IR codes from their existing remotes. The setup allows controlling satellite and TV devices via the internal network, solving the problem of kids hiding physical remotes.

Parts used in the Arduino browser based remote control (linux):

  • Arduino Uno R2
  • Breadboard
  • Mounting enclosure (plastic case with transparent lid)
  • Infrared LED (desoldered from a remote)
  • Infrared Receiver (from a magic eye remote extender)
  • BC547 Transistor
  • 1.5k ohm variable resistor (set to 1k ohm)
  • Breadboard jumper wires (from solid core RJ45 cable)
  • USB lead to connect Arduino to computer
  • Computer running Apache web server with PHP installed

We have kids.  I love them to bits but they keep hiding the remote control for the satellite and TV when they put the children’s channels on.

After this happening on a daily basis for several years, and after my darling wife allowing me to have an Arduino for Christmas I decided that it was time to make something useful (in her eyes!) with the Arduino.

So here we have the culmination of that: a web-based interface to the Arduino that replaces my remotes and is accessible from my internal network.
Arduino remote control
When I figure out why my ethernet shield won’t allow my arduino to keep a sketch I will write a new sketch that uses the ethernet shield as the web server, meaning I don’t need apache installed on my computer.  Stay tuned, I will get there!

Step 1: Prerequisites

Hardware:

Arduino side:
Arduino – I am using an Arduino Uno R2
Breadboard – your local electronics shop, or the kitchen if you want an authentic breadboard
Mounting enclosure – I used an old plastic case with a transparent lid

Components:
Infrared LED – I desoldered one from a broken remote control (thanks kids!)
Infrared Receiver – I got mine from a magic eye remote extender
Transistor – I used a BC547
Resistor – I used a 1.5k ohm variable resistor set to 1k ohm
Breadboard jumper wires – I got mine from a solid core RJ45 cable reel

Computer side:
Computer to use as server
USB lead to Arduino

Software:
Arduino software – from arduino.cc
irremote library – from http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html (thanks Ken, great work!)
Apache web server with PHP installed – apache.org
Internal IP address – mine is 192.168.0.9
Picture of your remote control – google or a picture taken on your camera.  I saved mine at 200×600 resolution

Step 2: Building the board

Arduino pins used for this project:
5v, ground
Digital pins 3, 11 (pin 3 controls the IR LED, pin 11 connects to the IR receiver)

Step 3: Schematic

This schematic is very simple, 4 components and 6 wires.

IR LED connections:
Connect one of the legs of the resistor to Arduino digital pin 3
Connect the other leg of the resistor to the base pin of the transistor (the middle leg in my case)
Connect the emitter of the transistor to ground
Connect the collector of the transistor to the negative leg of the LED (short leg, flat side of the LED)
Connect the positive leg (long leg, curved side) of the LED to the 5v pin
Schematic Arduino remote control
IR receiver connections (you would need to find the pinout for your particular IR receiver):
GND pin to ground
VS pin to 5v
VO pin to Arduino digital pin 11

Step 4: Add irremote library to the Arduino software

irremote is a great library written by Ken Shirriff and is available from his blog at http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html

Download the library from http://arcfn.com/files/IRremote.zip and install it as you would any other library for the arduino.

His blog has a lot of helpful information about the library and how to install it.

Step 5: Record the codes from your remote controls

Here is the start of the boring (but unavoidable) part:
Pressing every button on the remote control, saving the output string and mapping it to the virtual remote control.
You only need to do it once, expect to take approximately 20 minutes or so.

Start a text editor to save your output.
Create a new document and type out every button on your remote control, one per line:
Power
Up
Down
Left
Right
.. et cetera

Start the Arduino IDE and click on “Files->Examples->IRremote->IRrecvDump” and upload it to your Arduino.
This example will dump the remote codes to the serial port.

Major Components in Project
Arduino side:
Arduino
Breadboard
Mounting enclosure

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top