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: