#1>RAN1103: IR Wireless Remote Controlled Robot

Rhino Robot Control Board is our most powerful, versatile and most easy to use robot control board. This tutorial series is intended for giving the idea of versatility and use of this board in many types of robots.

We also hereby assume that you have gone through Rhino Board Manual, Quick C IDE user manual and Quick C IDE library reference. It’s not necessary for you to understand everything written in those documents but you should have an overview so that you can use them as reference for some part in this document.

All files required for this tutorial could be downloaded from here : Tutorial

This tutorial covers:

  • Making a Wireless IR Remote Controlled Robot

#2>Required Resources:

* It’s not necessary to use the same items, you can use any similar items. However some coding may need to be changes as per hardware if it’s different this listed above.


#2.1>Resources used for in this tutorial:

General purpose robot chassis with 4 300 RPM motors and 4 cm width wheels


Inside view


IR Remote


We have chosen a general purpose chassis with 4 motors. An 11.1V 1500mAh battery is mounted inside with cable ties. Rhino Board is mounted on top and Battery and motor connections are made to the board. A TV remote control which is working on RC5 protocol is used.

#2.2>Which remote to choose? I have a remote, How do I test is it compatible?

Any remote with RC5 protocol will work with this board. Most TV remotes work on this protocol. If you are not sure what codes each button is transmitting check code 013 – IR Remote Tester in sample codes folder. GETRC5() function will return received RC5 code on call. If your remote is compatible with Rhino board it will show some value less than 255. If you get different values on different buttons that remote will work.

This code will also help to know codes for each button. Different remotes transmit different codes on same buttons, so you will need to know first which buttons you will be using to control the robot and what are the codes for that.

If you don’t get any number on LCD display after flashing this code, your remote will not work.

#2.3>Key codes for specific buttons: 

The remote which is shown above in picture, we chose CH+ button to move forward, CH- Button to move backward, VOL+ button to turn right and VOL- Button to turn left. Use buttons 1, 2 and 3 to change speeds.

When this remote was tested with remote tester code it returned these values



















#3.1>Code 1 : IR remote controlled robot (without speed control)

  • Code is similar to previous tutorials manual robot control code. Only difference is the input. Instead taking input from
    switches we will be taking inputs from a Remote control which is already tested and codes are known for each switches we will be using.

  • You can open 014 – IR Remote Controlled Robot code in sample codes folder.

  • Library used in this code : IO Notations, Motor – Motor 1 & 2 Active with PWM

  • Here num=GETRC5(); statement takes RC5 input and stores in num variable. Then in the same loop the if-else if tree checks for proper key press and action to be done upon pressing it. Here a variable delay is used which is set to 85ms. The GETRC5() function needs around 80 ms to process so till that time motors should remain on otherwise we get jerks in driving motors.

  • This code has fixed speed of 100 so motors will run continuously on full speed. If we need speed control over the same, see next code.

    #3.2>Code 2 : IR remote controlled robot (with speed control)

  • Open 015 – IR Remote Controlled Robot with Speed Control in sample codes folder.

  • Library used in this code : IO Notations, Motor – Motor 1 & 2 Active with PWM

  • Here the whole code is same the only difference is the speed is variable and changed through keys 1, 2 and 3. 1 is minimum and 3 is maximum speed.