Wireless remote control robot using nrf and arduino

Hey everyone
A wireless controlled Omani directional robot.a wireless controlled robot can be used in many ways.i made this for playing a soccer because there was an event of soccer playing robots in my institute.it's quit easy to communicate between two arduino's using nRF 24L01+ module.there are few simple steps to make Omani directional wireless controlled robot.First thing is to make it wireless controlled then turn it to soccer,pick and place,cleaning or any other purpose whatever you want.

soccer robot design.robot for robocup , wireless remote control robot using nrf

Getting started:
Components Required:

  • An acrylic or aluminium chassis
  • 4x DC Geared motors
  • 4x omani wheels
  • 2x arduino uno
  • 2x nRF 24L01+ module
  • 2x L298 H-bridge module
  • jumper wires
  • battery
There are three components in mechanical section.first thing is to make a base i used four aluminium sheets (28cm diameter) and these were much costly.we can also use two acrylic sheets.we can use already made robotics kits but for making soccer robot we need a little much bigger size so i will prefer you to make it your own.make a sketch design in solids works or sketch up.these are best software in 3D designing.
The four DC Geared motors needed i used around 350 RPM,and 4 Omani wheels these were i bought from online store.I used 12 volt 5A battery .Two arduino uno boards will be used for wireless communication with each other.
nRF24lo1+ is the best choice for wireless communication and it has a very good range.but remember it works on 3 volt.i will not explain much about the components here but you can read about it on google or Wikipedia etc.
 Pin out Configuration making transmitter(TX) and receiver(RX):


The second step is the pin out configuration of nRF24L01+ with arduino. we have to make one one nRF module TX and other Rx.
Here is the pin out of nRF24l01+ as you can see in the figure.
First make the Transmitter part (TX):
Before connecting with arduino don't forget to add a capacitor at both the ends of TX and RX of nRF between the pin VCC and GND.connect a 50 Uf or higher Capacitors with both modules because sometimes they will not work properly.the TX will send but RX will not recieve.
Connect CE and CSN in 7 and 8 SCK and MOSI in 11 and 12 MOSI in 13 GND and VCC in 3V
See the photos for pinout of RX and H-bridge
Connect the h-bridge with motors and enable pins in pwm pins on arduino and others with any digital pin of arduino.
Assembling and Coding:
assembling of robot with chassis.remote control robot using nrf.

Once you complete assembling of parts there comes the main part that is programming.start with initializing as according to your pin out arduino board with nRF and h-bridge.don't forget to add the library for nRF.The library file is attached.
#include "nRF24L01.h"
#include "RF24.h"
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };
// 13 is SCK on nRF
// 12 is MISO on nRF
// 11 is MOSI on nRF
// 10 is CSN on nRF
RF24 radio(9,10); // 9 is CE on nRF
After initialization there is a pipeline between two arduino's it should be the same on both transmitter and receiver. now initialize the radio and it will begin the conversation between two pipelines.
void setup(void)
Serial.println("RADIO STARTED");}
Now in loop function it checks if receiving serial available then it will start sending data.
char data[] = "1";
void loop()
{ if(millis()%1000==0)
{ data[0]++;
Serial.print("Sending: ");
bool ok = radio.write( data, 2 );
if (ok) Serial.println("ok\n\r");
else Serial.println("failed\n\r");
if(data[0]=='6') data[0]='1'; } }
void radio_initialize(void)
{ radio.begin();
radio.startListening(); }
Don't just copy and past .it will only work according to your connections.i hope you will understand the code easily if you are aware about the adruino's coding.here is the sample code for both Tx and Rx.now open the serial monitor in both Tx and Rx side and send 1 from Tx and it will receive on Rx serial monitor window.as it is for other number we initialize 1 in the code for forward function now initialize 2 for back and so on.

Submit your E-mail and get complete Code files:

I hope you understand how to communicate between two arduino's. the main purpose is to make the wireless controlled once it's done add whatever you want.now we can use it in many ways...have fun...!!!
I have covered this topic in another post of making soccer robot so you can get the additional information from it.
See the similar posts on  how to make robot for robocup  and how to control it from keyboard or joystick.

Next Post »


Click here for comments
Steve Berke
26 April 2017 at 23:58 ×

I enjoyed reading your article :) PLease continue publishing helpful topics like this. Regards, from Let's get gadget, a company whose into selling
remote extender

Congrats bro Steve Berke you got PERTAMAX...! hehehehe...