# Arduino + Transmissor Nrf24l01

**URL:** https://forum.fazedores.com/t/arduino-transmissor-nrf24l01/6459
**Category:** Microcontroladores
**Created:** [Junho 20, 2019, 10:46pm UTC](https://forum.fazedores.com/t/arduino-transmissor-nrf24l01/6459 "2019-06-20T22:46:23Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![thiago8436](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@thiago8436](https://forum.fazedores.com/u/thiago8436)
#### Post date: [Junho 20, 2019, 10:46pm UTC](https://forum.fazedores.com/t/arduino-transmissor-nrf24l01/6459/1 "2019-06-20T22:46:23Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Arnold\_Rudge](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/arnold_rudge/32/1675_2.png) [@Arnold\_Rudge](https://forum.fazedores.com/u/Arnold_Rudge)
#### Post date: [Junho 22, 2019, 8:29am UTC](https://forum.fazedores.com/t/arduino-transmissor-nrf24l01/6459/2 "2019-06-22T08:29:45Z")

</div>

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

---

<div class="post-metadata">

### Author: ![thiago8436](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@thiago8436](https://forum.fazedores.com/u/thiago8436)
#### Post date: [Junho 24, 2019, 11:00pm UTC](https://forum.fazedores.com/t/arduino-transmissor-nrf24l01/6459/3 "2019-06-24T23:00:02Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Arnold\_Rudge](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/arnold_rudge/32/1675_2.png) [@Arnold\_Rudge](https://forum.fazedores.com/u/Arnold_Rudge)
#### Post date: [Junho 25, 2019, 9:42am UTC](https://forum.fazedores.com/t/arduino-transmissor-nrf24l01/6459/4 "2019-06-25T09:42:56Z")

</div>

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

---

<div class="post-metadata">

### Author: ![thiago8436](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@thiago8436](https://forum.fazedores.com/u/thiago8436)
#### Post date: [Junho 25, 2019, 12:24pm UTC](https://forum.fazedores.com/t/arduino-transmissor-nrf24l01/6459/5 "2019-06-25T12:24:10Z")

</div>

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
