Boa noite, desculpe a demora… esse é meu código q estava tentando por ultimo, aproveitado de um tutorial e tentei realizar algumas mudanças…
#include <RF24.h>
//*************** Controle do RF ***********************
#define radioID 1 //Informar “0” para um dispositivo e “1” para o outro dispositivo
struct estruturaDadosRF
{
boolean ligando = false; //Esta variavel será usada para solicitar os dados do outro aparelho.
boolean botao1 = false;
};
typedef struct estruturaDadosRF tipoDadosRF;
tipoDadosRF dadosRF;
tipoDadosRF dadosRecebidos;
boolean transmitido = true;
boolean alterado = false;
RF24 radio(7,8);
byte enderecos[6] = {“1node”,“2node”};
//*************** Controle do Projeto LOCAL ************
int pot1Ant;
int pot1 = 0;
int pot2Ant;
int pot2 = 0;
void setup() {
//*************** Controle do RF ***********************
radio.begin();
#if radioID == 0
radio.openWritingPipe(enderecos[0]);
radio.openReadingPipe(1, enderecos[1]);
#else
radio.openWritingPipe(enderecos[1]);
radio.openReadingPipe(1, enderecos[0]);
#endif
//Solicita os dados do outro aparelho, se ele estiver ligado. Tenta a comunicação por 2 segundos.
dadosRF.ligando = true;
radio.stopListening();
long tempoInicio = millis();
while ( !radio.write( &dadosRF, sizeof(tipoDadosRF) ) ) {
if ((millis() - tempoInicio) > 2000) {
break;
}
}
dadosRF.ligando = false;
radio.startListening();
//*************** Controle do Projeto LOCAL ************
pinMode(A0, INPUT);
pinMode(A2, OUTPUT);
pinMode(A1, OUTPUT);
}
void loop() {
//*************** Controle do RF ***********************
// se houve alteração dos dados, envia para o outro radio
if (alterado || !transmitido) {
radio.stopListening();
transmitido = radio.write( &dadosRF, sizeof(tipoDadosRF) );
radio.startListening();
alterado = false;
}
//verifica se esta recebendo mensagem
if (radio.available()) {
radio.read( &dadosRecebidos, sizeof(tipoDadosRF) );
//verifica se houve solicitação de envio dos dados
if (dadosRecebidos.ligando) {
alterado = true;
} else {
dadosRF = dadosRecebidos;
}
}
//*************** Controle do Projeto LOCAL ************
//void apagaleds()
//{
// digitalWrite(A2, LOW);
// digitalWrite(A1, LOW);
//}
pot1 = analogRead(A0);
if (dadosRF.pot1 > 0 && pot1 < 400)
{
digitalWrite(A2, LOW);
digitalWrite(A1, HIGH);
}
pot2 = pot1;
if (dadosRF.pot1 > 800 && pot1 < 1024)
{
digitalWrite(A1, LOW);
digitalWrite(A2, HIGH);
}
pot2 = pot1;
delay(100);
}