Instructables

Controlling Arduino RoverBot with TV Remote

I am a poor 15 year old Arduino Hacker, who has little access to parts and materials to build a hi-tech robot.  I'm sure there are many others out there who are in my situation.  This little Instructable will explain and demonstrate how you can get your Arduino controlled by a TV or other Infrared remote in no time, with (hopefully) no cost at all!
 
Remove these adsRemove these ads by Signing Up

Step 1: Gather Materials

Parts Needed

Arduino project that needs to be remote controlled
IR receiver (easily attained from any old device that accepts input from IR remotes)
IR remote (pretty much any remote works, some may have issues in coding though)



The chassis I used is driven by 2 Tetrix CR Servos with K'Nex wheels Jury-rigged on, and is controlled by an Arduino Uno with a WingShield and an Adafruit MotorShield.

The IR receiver that I used is from an old USB TV remote adaptor that stopped working and had no use.  It took me 10 minutes to take it all apart and extract all components.

The IR remote that I used was a handy-dandy little Car MP3 remote.  If you want this remote, you can buy the remote with the player here.  You can also extract the IR receiver from the MP3 player if you need to.
batman961 month ago

I am trying to do the same thing, the only thing I want to do different is I want my robot to stop when I let go of the forwards key.

Is there a way to see if you are getting a contionous stream of "forewards" signals, and stop the motor when you no longer receive the forewards command?

Kamokaki2 months ago

hi im trying to controll my arduino to move a servo.

Could you help me put in the code?

The controll gives off the infrared as i press left: FF22DD and right FFC23D. Please help me figure this out.

#include <Servo.h>
#include <IRremote.h>

unsigned long Value1 = 0xFF22DD; // where XXXXXXXX is on our your remote's values
unsigned long Value2 = 0xFFC23D; // where XXXXXXXX is another button on your remote

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

Servo servo1;

// the setup routine runs once when you press reset:
void setup() {

Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver

// initialize the digital pin as an output.

servo1.attach(10); // attack servo to digital pin 10
}

// the loop routine runs over and over again forever:
void loop() {

if (irrecv.decode(&results)) {

Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}

if(results.value == Value1) {
servo1.write(160);
}
else if (results.value == Value2){
servo1.write(75);
}
}

ahadimalawi5 months ago
thank you very much man...you have cleared up some really abstract things for me.....i will make a simple lights switching system with the knowledge i have gotten here.....the first house in Malawi with remote controlled lights.....i just hope the other IR remotes wont interfere with my lights.....thanks man!
Hi , can you pls upload the whole code & diagram pls?
Frowney001 (author)  sunnyroboticano6 months ago
The code used to make the IR work in Arduino is in step 4. As for the diagram you are asking for, could you please be a little more specific?
incognito02888 months ago
I voted for you. just to support us poor hackers !... good job! though, I found out the hard way how NOT to wire an ir reciever....lol
Frowney001 (author)  incognito02888 months ago
Very sorry to hear about your IR receiver.. Like I said, you have to be careful :P
Thanks much for the vote!
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!