Radio Ricevente 2,4 gHz

In questo articolo spiego come creare una radioricevente a 2,4 gHz da utilizzare con un radiocomando che verrà illustrata in un'altro articolo.

Per il progetto e stato utilizzata l'Arduino Pro Mini 328 (3.3V/8MHz)

e la scheda nRF24L01+Module (Modulo radio TX/RX) con la libreria RF24

La ricevente può essere collegata direttamente a dei servo motori oppure ad un UAV.

Schema elettrico

Sketch Arduino :


#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>

#define CE_PIN 7
#define CSN_PIN 8

const uint64_t pipe = 0xE8E8F0F0E1LL; 

RF24 radio(CE_PIN, CSN_PIN); 

byte joystick[8];  

Servo CH1;
Servo CH2;
Servo CH3;
Servo CH4;
Servo CH5;

void setup() {

  CH1.attach(3, 1000, 2000);
  CH2.attach(5, 1000, 2000);  
  CH3.attach(6, 1000, 2000);  
  CH4.attach(9, 1000, 2000);    
  CH5.attach(10, 1000, 2000);

  radio.begin();
  radio.setPayloadSize(sizeof(joystick));

  radio.openReadingPipe(1,pipe);
  radio.startListening();

}

void loop() {
  if (radio.available()) { 
    // OLD RF24 Library
    //bool done = false;
    //while (!done) { 
    //  done = radio.read( joystick, sizeof(joystick) );
    //  if(!done) {
    //    delay(20);
    //  }
    //}

    radio.read(joystick, sizeof(joystick));

    radio.stopListening();

    CH1.write(joystick[0]);
    CH2.write(joystick[1]);
    CH3.write(joystick[2]);
    CH4.write(joystick[3]);
    CH5.write(joystick[4]);   

    radio.startListening();
  }

}

Galleria Immagini

ricevente_bb.jpg rr001.jpg rr002.jpg

rr003.jpg rr004.jpg rr005.jpg

rr006.jpg rr007.jpg rr008.jpg

rr009.jpg