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 quite easy to communicate between two Arduino's using nRF 24L01+ module.there are few simple steps to make Omani directional wireless controlled the 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.


Wireless Remote Control soccer robot Robot
This media file is the property of (make it mech) or used with proper permissions 
If you have any query please contact us






Getting started:
Components Required:
Mechanical:

  • An acrylic or aluminum chassis
  • 4x DC Geared motors
  • 4x Omni wheels

Electronics:

  • 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 aluminum 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 the 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):

See the figure about Pinout configuration of Nrf with Arduino and the H-Bridge pin configuration from this link:
https://1.bp.blogspot.com/-Sy3_tXwgciU/WZh4qvt6AMI/AAAAAAAAB0E/rHmUQiINs-QqkWZJxxx8kqDyMrR2IMuMACLcBGAs/s640/Copy%2Bof%2BCopy%2Bof%2BCopy%2Bof%2BCopy%2Bof%2BCopy%2Bof%2BA%2BNew%2BDesign%2B%25283%2529.jpg
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 pinout of nRF24l01+ as you can see in the figure.
1-GND
2-VCC
3-CE
4-CSN
5-SCK
6-MOSI
7-MISO
8-IRQ
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 receive.
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 the 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:
Wireless Remote Control Robot
This media file is the property of (make it mech) or used with proper permissions 
If you have any query please contact us


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
#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.begin(9600);
    radio_initialize();
    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: ");
    Serial.print(data[0],DEC);
    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.openWritingPipe(pipes[1]);
    radio.openReadingPipe(1,pipes[0]);
    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.



      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 a robot for RoboCup and how to control it from keyboard or joystick.



      Share To:

      Post A Comment:

      1 comments so far,Add yours

      1. 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

        ReplyDelete