First connect the nRF24L01+ Transceiver Module to an Arduino microcontroller, set up 2, one as Transmitter and other as Receiver.
CAUTION the current VCC is in 3.3v only
Primero conecte el Módulo Transceptor nRF24L01 + a un microcontrolador Arduino, configure 2, uno como Transmisor y otro como Receptor.
CUIDADO la corriente VCC es en 3.3v únicamente
then download and install the nRF24 library https://github.com/nRF24/RF24
Luego descargue e instale la Libreria nRF24 https://github.com/nRF24/RF24
#include "RF24.h"RF24 myRadio (7, 8); // in Mega can use> (48, 49); byte addresses[][6] = {"0"}; struct package{ int id=1; float temperature = 18.3; char text[100] = "Text to be transmitted";};typedef struct package Package;Package data;void setup(){ Serial.begin(115200); delay(100); myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MAX); myRadio.setDataRate( RF24_250KBPS ) ; myRadio.openWritingPipe( addresses[0]);}void loop(){ myRadio.write(&data, sizeof(data)); Serial.print("\nPackage:"); Serial.print(data.id); Serial.print("\n"); Serial.println(data.temperature); Serial.println(data.text); data.id = data.id + 1; data.temperature = data.temperature+0.1; delay(50);}#include "RF24.h" RF24 myRadio (7, 8); // in Mega can use> (48, 49); byte addresses[][6] = {"0"}; struct package{ int id=0; float temperature = 0.0; char text[100] ="empty";};typedef struct package Package;Package data;void setup() { Serial.begin(115200); delay(100); myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MAX); myRadio.setDataRate( RF24_250KBPS ) ; myRadio.openReadingPipe(1, addresses[0]); myRadio.startListening();}void loop() { if ( myRadio.available()) { while (myRadio.available()) { myRadio.read( &data, sizeof(data) ); } Serial.print("\nPackage:"); Serial.print(data.id); Serial.print("\n"); Serial.println(data.temperature); Serial.println(data.text); }}#include "RF24.h" int Eapera = 0;int Vuelta = 0;RF24 myRadio (7, 8); //--------- >>>>>>>> Paquete >>>>>>>>>struct package{ int CHN2=0; int CHN3=0; int CHN4=0;};typedef struct package Package;Package data;//--------- <<<<<<<< Paquete <<<<<<<<<void setup() { //Serial.begin(115200);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MAX); //<< RF24_PA_MIN,/ RF24_PA_LOW,/ RF24_PA_HIGH,/ RF24_PA_MAX, <<ojO myRadio.setDataRate( RF24_250KBPS ); //<< RF24_1MBPS,/ RF24_2MBPS,/ RF24_250KBPS <<ojO myRadio.openWritingPipe(1); myRadio.openReadingPipe(1, 1); myRadio.startListening(); delay(100);}void loop() {//>>>> -------------------------- Recibe >>>>>>>>Eapera=0;if (myRadio.available()) { while (myRadio.available()) { myRadio.read( &data, sizeof(data) ); } Vuelta=0; digitalWrite(10, HIGH); digitalWrite(5, data.CHN2); digitalWrite(6, data.CHN3); digitalWrite(9, data.CHN4); } else { Vuelta++; if (Vuelta > 5) { digitalWrite(10, LOW); //Serial.print(" No Avalible = ");//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< // Serial.println(Vuelta); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< } } //<<<< -------------------------- Recibe <<<<<<<<<//>>>> --------------------------- Send >>>>>>>>> delay(100); myRadio.stopListening(); //=================== Send >>>> if (digitalRead(2) == HIGH){if (data.CHN2 == 1){data.CHN2 = 0;}else{data.CHN2 = 1;}Eapera=1;} if (digitalRead(3) == HIGH){if (data.CHN3 == 1){data.CHN3 = 0;}else{data.CHN3 = 1;}Eapera=1;} if (digitalRead(4) == HIGH){if (data.CHN4 == 1){data.CHN4 = 0;}else{data.CHN4 = 1;}Eapera=1;} digitalWrite(5, data.CHN2); digitalWrite(6, data.CHN3); digitalWrite(9, data.CHN4); //=================== Send <<<< myRadio.write(&data, sizeof(data)); myRadio.startListening(); if(Eapera==1){delay(300);}else{delay(100);}//<<<< -------------------------- Send <<<<<<<<<}