Arduino + Transmissor Nrf24l01

Boa noite pessoal,

Estou com um projetinho e sou ainda novo com arduinos, estou tentando ligar 2 arduinos unos com transmissor Nrf24l01, em um gostaria que lesse a umidade do solo com o modulo mesmo e enviasse para o outro arduino para que ele acendesse os leds verde, amarelo e vermelho.

Se alguem puder me ajudar, tenho a maior parte do codigo já para mostrar.

Obrigado

Se quizer ajuda você tem que postar seu código aqui

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);
}

Tá voce utilizou o exemplo. Antes de inserir seu código você conseguiu fazer o exemplo funcionar?

deu certo sim… eu utilizei dois exemplos simples… mas ambos exemplos sincronizavam praticamente a mesma coisa um com o outro… e o que eu precisava é que um medisse a umidade e o outro acionasse os leds. quando faço esse codigo ai que postei… eles ficam ambos com leds vermelho acesso, e mesmo colocando sensor de umidade em ambos e molhando, continua o vermelho acesso