Abhay and Akshay here!
Today we are going to make a TV remote controlled Robot that not only works like a charm but you can also upgrade it by editing the code and utilising a few more buttons present on the TV Remote. You can also create other projects with this code like door lock or home automation or home lighting by just using relay shield in place of motor shield and editing the code a little bit.
So now let's make this build.
Step 1: Watch the Video
If you don't want to read the full tutorial and scroll down 15+ steps just check out the video. It also features some tips and tricks to make your work easier and faster.
Step 2: Download
This step comprises everything that you need to download from internet by converging them into a self-extracting compressed file that comprises everything ranging from schematics to codes to libraries. So go ahead and save your money.
P.S.- Time is Money.
To download just click this link or type this in address box- http://bit.ly/DriveDownloadTVRobotMrAbAk .
Step 3: Let's Take a Look at the TV Remote
This is a 38KHz IR TV Remote that transmits data throught IR or Infrared light.Normally, most TV's use this type of remote but if your TV Remote works on another frequency or is not an IR Remote then you might change it with another or find appropriate receiver for it. Here, we are using TSOP4838 receiver. As you may have noticed, the last two numbers represent its frequency, so TSOP4838 means of 38KHz frequency.
Step 4: Let's Take a Look at the Microcontroller
We are using Freeduino v1.16 that is a cheap version of Arduino.
This is basically a cheap version of the Arduino Decimilanove. It has all same pins as that of Decimilanove and is compatible with all shields compatible with it.
So you can also use Decilmilanove in place of it or even Arduino Uno with compatible motor shield as we require only two - three pins and it can be changed by editing the code. There are about 14 Digital pins and 5 Analog pins on the board. It also has a inbuilt LED on pin 13.
Step 5: Let's Take a Look at the Motor Shield
This is Freeduino Motor Shield v1. this shield is compatible with Arduino Decimilanove too. This shield can control two servos, two stepper motors and four DC motors bi-directionallly. Motor 3, 4 are low frequency motor output and have a default setting of 1KHz while motors 1,2 can have this value up to 64KHZ. This motor shield can also be powered with external voltage ranging from 5-25v. It is important to not power it with more than 25v as it can short circuit as we have already did this mistake before. Even your Arduino can be destroyed. Visit this motor shield's page for more information here.
Step 6: Now Let's Upload the Test Code to Freeduino
To upload code, first of all star Arduino IDE from Start menu in your computer. Now connect your Freeduino to your computer through USB cable and make sure your Power Jumper is set to USB in your board. Now open the test code which you can download from this step below. Make sure your correct board and serial port is selected from Tools menu. This code requires a Library. Download it from Download step and then install it. We will use the inbuilt LED of Freeduino for testing by selecting pin 13. You can change it to any other too. Now first upload the code as it is and then open up the serial monitor from tools menu. Now press any key on the remote by pointing it towards the IR Receiver. You need to connect the vcc pin of the receiver to +5v and gnd to gnd and the output pin to pin 11. You can change it too. Now copy the code shown in serial monitor (EX-85ACFF23) and paste in the test code replacing the original code. Now upload your code again to the board and then press the key from the remote again pointing towards the IR Receiver to see if the LED lights up. If it does you can proceed further but if it doesn't you may need to check your connections, remote for dead cells and even replace your components.
Step 7: Testing With Test Code
To test just connect +5v, Gnd and Output pins of the sensor and press the key whose value we have already put in the test code.
Step 8: Now Let's Upload the Main Code to the Freeduino
To upload the main code just follow the same steps as previously done but this time you need to copy five key's value in the code. Now you also need one more library which you can download from the download step. With the help of integer vel in the code you can change the speed of your Robot by changing it to any value between 1 to 255 for desired speed. You can also modify this code so you may have more motors controlling different functions on your Robot. You can also use this code with other shield to automate things like to press specific keys of your TV Remote in a specific pattern to open up your Motor controlled Door Lock or to even automate your home with a relay shield so you can things on/off with your TV Remote without even getting up from your place.
Step 9: Now We Have Soldered the Motor Shield to the Freeduino
As you can see we have soldered all the pins correctly and this took us 1 hour for cutting and snipping the wires and 1/2 hour for soldering them. And we have also covered most of Freeduino and Motor Shield with transparent, non-conductive tape.
Note- You need not to solder them if they can be connected by headers.
Step 10: Let's Take a Look at Motors and Wheels
These are two geared 3-12v DC bi-directional motors. These are brought for $1 each. Also these are matching wheels for $1/2 each. You can use any type of wheels and motors.
Step 11: Let's Take a Look at the Chassis and Caster Wheels
This chassis can be easily brought online from a robotics store and costs about $5. This would be the main body of our robot. A caster wheel is basically a omni-wheel which comprises of a metal ball similar to that rubber balls in ball mouse. It will add support to the robot.
Step 12: Building Up the Robot
Our robot would be a basic one with just two motors, a caster wheel, two wheels and the micro controller. So first of all we will screw the motor shield and the Freeduino to the chassis. We added a foam piece for insulation.
You can check the main schematic for more info. As you can see Akshay and our friend Rajat are making this robot. Rajat also has a instructables page. Check it out here. After adding the shield we will add the motors. We will also add the wheels. Now we will connect the motors to the controller. Now we will stick the sensor to the chassis. And here it is, the completed IdiotBox.
Step 13: Testing the Robot With the Test Code
Actually nothing to say here, it just works awesome.
Step 14: This Completes the Robot
So here your own TV Remote controlled bot is ready. Now just make him move with you while watching TV or take him anywhere and see people react to it.
Step 15: Thanks for Reading
Our work in this project ends here, but your work has just started. Now after completing this project, please like, share so we can get more audience and more inspiration to make projects and feel free to subscribe on our channel on youtube and follow us on instructables for more awesome stuff. You can also show your support for our project by just clicking the orange vote button in the above corner.
Thanks for reading, Stay tuned, Happy DIYing and Please Subscribe!