Buen día a todos. Apreciaría mucho que me ayudaran con esto:
Quiero enviar los datos que me proporciona un módulo GPS Neo-6m mediante un módulo de radiofrecuencia NRF24L01 que será el emisor, hacia otro módulo NRF24L01(receptor) y ver los datos del receptor en el monitor serie de Arduino.
Los códigos que tengo hechos hasta ahora no me funcionan, no puedo ver los datos en el monitor serie y creo que ni siquiera se envían; también estoy mandando los valores que obtengo de un potenciómetro y un pulsador y esos datos sí puedo visualizarlos correctamente en el monitor serie, pero como he mencionado los de GPS no.
Estos son los códigos que tengo que no funcionan correctamente que me gustaría que me ayudaran a corregir;
Emisor:
///////////////////////////////////////EMISOR///////////////////////////////////
#include <SPI.h>
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SoftwareSerial.h>
SoftwareSerial gps(4,3);
const int CE = 9;
const int CSN = 10;
RF24 radio (CE , CSN );
const uint64_t canal[2]= {0xE8E8F0F0E1LL,0xE8E8F0F0E2LL};
float pot ; //Potenciómetro
float boton; //Pulsador
float datogps; //GPS
float lectura_datos[3];
//*
void setup() {
radio.begin();
//*
gps.begin(9600); //*
radio.setRetries(5,10);
radio.openWritingPipe(canal[0]);
radio.openReadingPipe(1,canal[1]);
radio.setPALevel(RF24_PA_MAX);
}
void loop() {
radio.stopListening();
datogps=gps.read();
pot=analogRead(A0);
boton=digitalRead(7);
lectura_datos[0] = pot ;
lectura_datos[1] = boton;
lectura_datos[2]= datogps;
radio.write(&lectura_datos,sizeof(lectura_datos));
delay (5);
}
Receptor:
//////////////////////////RECEPTOR//////////////////
#include <SPI.h>
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
const int CE = 9;
const int CSN = 10;
RF24 radio (CE , CSN );
const uint64_t canal[2]= {0xE8E8F0F0E1LL,0xE8E8F0F0E2LL};
float lectura_datos[3];
void setup() {
Serial.begin(115200);
radio.begin();
radio.setRetries(5,10);
radio.openWritingPipe(canal[1]);
radio.openReadingPipe(1,canal[0]);
radio.setPALevel(RF24_PA_MAX);
}
void loop() {
radio.startListening();
if (radio.available())
radio.read(&lectura_datos,sizeof(lectura_datos));
Serial.print("GPS= ");
Serial.print(lectura_datos[2]);
Serial.println();
Serial.print("Batería= ");
Serial.print(lectura_datos[0]);
Serial.print(" V, ");
Serial.print("Led= ");
Serial.print(lectura_datos[1]);
Serial.println();
delay(5);
}
De antemano gracias por su atención amigos.