Wireless Connection Between Micro controllers using nRF24L01 © GPL3+

nRF24L01 radio transceiver provides very efficient and inexpensive way to establish communication between microcontrollers.

  • 4,086 views
  • 3 comments
  • 26 respects

Components and supplies

Apps and online services

About this project

nRF24l01 module is in fact a radio transceiver module and it operates on 2.4 GHz frequency. This module has the capability to send and receive data simultaneously and this can be used for your various IOT projects . By display it is a very small size module but it’s features are astonishing.

This module can be used for two way communication purposes and in this tutorial we setup a one way communication between two Arduino uno.

Before beginning we have to download some Arduino libraries in order for the smooth running of the program. You can download the the library files here.

Pinout diagram for nRF24lL01

Reciver Circuit

Connect the nRF24L01 and servo moter to the arduino as per the above diagram.

Important note: Input voltage is of 1.9V~3.6V, do not exceed this voltage, otherwise it will fry your module.

Arduino-------------nRF24L01

Pin 9 -----------CE

Pin 10 --------- CS(N)

Pin 11 ---------- MOSI

Pin 12 --------- MISO

Pin 13 ---------- SCK

Pin3-------------Servo signal pin

3.3v ------------- VCC

GND ------------ GND

Now upload the receiver code given below to the first Arduino.

Transmitter Circuit

Connect the nRF24L01 and servo moter to the arduino as per the above diagram.

Important note: Input voltage is of 1.9V~3.6V, do not exceed this voltage, otherwise it will fry your module.

Arduino-------------nRF24L01

Pin 9 -----------CE

Pin 10 --------- CS(N)

Pin 11 ---------- MOSI

Pin 12 --------- MISO

Pin 13 ---------- SCK

Pin5-------------Button

3.3v ------------- VCC

GND ------------ GND

Now upload the transmitter code given below to the second Arduino.

Now power both the Arduino boards and press the button and find that the servo rotates.

Thank you and hope that the tutorial helped you...

Schematics

nRF24L01 Receiver
receiver.fzz
nRf24l01 Transmitter
transmitter.fzz

Code

nRF240L1 Transmitter C/C++
#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>

int msg[1];
RF24 radio(9,10);//check your pin number on RF24 github check you have the right
//pin for the arduino you're using. this pin number is diffrent for diffrent arduino models.

const uint64_t pipe = 0xF0F0F0F0D2L;

int buttonPin1 = 5;
int buttonState1 = 0;

void setup(void)
{
  Serial.begin(9600);
  radio.begin();
  radio.openWritingPipe(pipe);
  pinMode(buttonPin1, INPUT);
  
}

void loop(void)
{
  buttonState1 = digitalRead(buttonPin1);
 
  
  if (buttonState1 == HIGH)
  {
    msg[0] = 212;
    radio.write(msg, 1);
  }
 
}
nRF24L01 receiver C/C++
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>      // include the Servo library 
Servo myServo;   

int msg[1];
RF24 radio(9,10);//check your pin number on RF24 github check you have the right
//pin number for the arduino you're using. this pin is diffrent for diffrent arduino models.

const uint64_t pipe = 0xF0F0F0F0D2L;


void setup(void)
{
 myServo.attach(3);
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(1, pipe);
  radio.startListening();
  myServo.write(0);      // initial position of servo at angle 0
 
}

void loop(void)
{
  if(radio.available()){
    bool done = false;
    while (!done) {
      done = radio.read(msg, 1);
      Serial.println(msg[0]);
      if (msg[0] == 212) {
       myServo.write(180); 
      }
      else {   
            myServo.write(0); 
      }
    }
  }
}

Comments

Similar projects you might like

Know the Temp of Your Home From Anywhere with Arduino Cloud!

Project tutorial by Isaac100

  • 1,417 views
  • 1 comment
  • 9 respects

Water Softener

Project tutorial by moty

  • 339 views
  • 0 comments
  • 5 respects

Safe City: A Device to Keep You Safe

Project tutorial by Patel Darshil

  • 770 views
  • 0 comments
  • 8 respects

Simple Obstacle Senor With Arduino

Project tutorial by muhammed shameel k.v

  • 128 views
  • 0 comments
  • 2 respects

Scavenger Hunt Clues w/ Telephone Keypad

Project tutorial by Sam Horne

  • 990 views
  • 0 comments
  • 4 respects

Arduino Mini Shields Construction

Project tutorial by Patel Darshil

  • 378 views
  • 0 comments
  • 6 respects
Add projectSign up / Login