Tutoriales

Tutoriales

Módulo RF NRF24L01 con Arduino

Código del transmisor:

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

//Declaremos los pines CE y el CSN
#define CE_PIN 9
#define CSN_PIN 10
 
byte canal[6] ={"00001"};                   //Variable con la dirección del canal por donde se va a transmitir
RF24 radio(CE_PIN, CSN_PIN);                //Creamos el objeto radio (NRF24L01)
int joy;                                    //Variable con los datos a enviar

void setup()
{
  radio.begin();                            //Inicializamos el NRF24L01 
  radio.openWritingPipe(canal);             //Abrimos un canal de escritura
}
 
void loop()
{ 
  joy=map(analogRead(0), 0, 1023, 0, 180);  //Cargamos el dato del joystick en datos
  bool ok = radio.write(&joy, sizeof(joy)); //Enviamos los datos
  delay(5);
}

Código del receptor:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
 
//Declaremos los pines CE y el CSN
#define CE_PIN 9
#define CSN_PIN 10
 
byte canal[6] ={"00001"};             //Variable con la dirección del canal por donde se va a transmitir
RF24 radio(CE_PIN, CSN_PIN);          //Creamos el objeto radio (NRF24L01)
int angulo;                            //Variable con los datos a enviar
Servo myServo;                        //Declarando un servo

void setup()
{
  Serial.begin(9600);                 //Inicializamos el puerto serie para vizualizar lo que enviamos
  myServo.attach(5);                  //Asignando un pin al servo
  radio.begin();                      //Inicializamos el NRF24L01 
  radio.openReadingPipe(1, canal);    //Abrimos el canal de Lectura
  radio.startListening();             //Empezamos a escuchar por el canal
}
 
void loop() {
  if ( radio.available() ){
    radio.read(&angulo,sizeof(angulo)); //Leemos los datos y los guardamos en la variable datos
    Serial.print("Dato= " );          //Reportamos por el puerto serial los datos recibidos
    Serial.println(angulo);
    myServo.write(angulo);
  }
  delay(5);
}

Descargas:

error: