Olá garagistas, estou com um problema ao usar o módulo nRF24l01. Não consigo fazer ele funcionar, ou pelo menos verificar se funciona. 

Estou usando dois arduinos, um nano e um Mega 2650 e tentando comunicação entre eles.

Procurei a referencia do Arduino pra SPI e coloquei nos ports específicos de SPI de ambos os arduinos.

Estou tentando rodar um programa simples para exibir texto no monitor serial do Arduino Nano usando um código que peguei desse site: site dos sketchs

Também encontrei problemas similares com o meu em que o sugerido era soldar um capacitor de 10uf no gnd e na alimentação de 3.3v.Então soldei dos capacitores um em cada módulo e ainda assim não funcionou. O que eu posso fazer?

https://www.arduino.cc/en/reference/SPI

Sketch receptor: sketch_nov16a.ino

Sketch envia: sketch_nov16b.ino

Exibições: 1345

Responder esta

Respostas a este tópico

Boa tarde COC,

siga este tutorial e veja se funciona.

Ele usa outra biblioteca.

RV

https://www.filipeflop.com/blog/arduino-modulo-nrf24l01-tutorial/

Boa noite Mineirin RV, obrigado por responder a meu tópico.

O sketch do filipeflop tem um erro na linha 180: 

C:\Users\T-Gamer\Documents\Arduino\teste_rf24\teste_rf24.ino: In function 'void loop()':

teste_rf24:180:53: error: void value not ignored as it ought to be

done = radio.read( &got_time, sizeof(unsigned long) );

^

exit status 1
void value not ignored as it ought to be

Boa tarde COC,

copiei aquele sketch do site que indiquei,

              https://www.filipeflop.com/blog/arduino-modulo-nrf24l01-tutorial/

Instalei a biblioteca baixada do link:

             https://github.com/maniacbug/RF24.

Modifiquei as seguintes  linhas do sketch:

#include "nRF24L01.h"   ------------->   #include <nRF24L01.h> 
#include "RF24.h" ------------------->   #include <RF24.h>
   Salvei e fechei a IDE.
   Copiei o arquivo print.h que está dentro do exemplo GettingStarted para dentro
    da pasta com o meu sketch.
   Abri novamente a IDE e o sketch, e compilei.
  Compilou ok.
RV

Bom dia Mineirin RV.

Fiz o mesmo, incluindo copiar o printf.h para dentro da pasta do sketch, mas ainda assim não está compilando...

Olá Caiuá ( cacete bicho tua mãe se inspirou em algum pajé pra achar esse nome kkkkk)

   Vamo lá,   NRF24L01 é minha especialidade, modestia a parte kkk

    Seguem alguns conselhos:

1º -  Para testes iniciais ate você se familiarizar use sempre dois arduinos do mesmo,  tipo, dois UNO, ou dois MEGA,, e mais, não misture por exemplo UNO com chip SMD com UNO com Sochet DIP,   a razão é que nem todo arduino usa o mesmo cristal de 16 MHZ,   alguns usam de 12Mhz e ate de  8  Mhz,   e toda Radiocomunicação se baseia na frequencia geradas pelos cristais, logo, se possivel use dois arduinos do mesmo ate a coisa funcionar, depois você muda.

2º -  Ao contrario dos XBEE que tem radio e bibliotecas criados pelo proprio fabricante, os NRF24L01 tem Vaaaaaaaaaaaaaarias bibliotecas e todas são criadas pela comunidade,  mas pra iniciante, a melhor bibliteca disparado é a RF24 do MANIACBUG , segue o link pra ela:     ******* BIBLIOTECA RF24 ********

3º - Se ligue nas ligações corretas dos pinos,  aqui tem um tutorial com o site do maniacbug que te ensina a fazer as ligações corretas :   ***** site maniacbug *********

4º -  A Graaaande vantagem da bibliteca rf24 do maniacbug é que ele tem um Sketch cmadado GETTINGSTARTED,,  upe ele pra seus arduino,  em seguida abra um monitor serial e veja o que vai aparecer,  se as indicações estiverem tudo zeradas, você fez merda, fez alguma ligação errada,  se ao contrario aparecerem numeros em hexadecimal, é porque vocÊ ligou ok e a biblioteca e o radio estão funcionando.

5º -  Faça a mesma coisa no segundo radio, apos isso feche tudo.

6º - O proximo passo é ligar os dois arduinos e abrir duas IDEs,  se possivel de versões diferentes,  dai abra o monitor serial de ambas , ira aparecer as leituras e depois a informação para teclar em alguma tecla,    agora vem a coisa legal,  no primeiro arduino aperte T, e aperte ENTER  e aguarde,  se outro não responder é normal, vai ficar aparecendo no monitor serial uma sequencia de frase,  então aperte R e enter, e tudo vai parar.

     Agora va pra o monitor serial do segundo arduino, e aperte T e dê enter,  e se vocÊ fez tudo certo os dois vão começar a se falar.

  PRONTO, DAQUI PRA FRENTE É COM VOCÊ

Muito obrigado por responder ao meu tópico, Weider.

Fiz o teste em dois Arduinos Mega e conferi a pinagem de a cordo com as entradas SPI do Mega.

Usei o exemplo do GettingStarted e consegui complilar e carregar o código de um computador, mas não do meu principal (?),que a IDE exibe um erro nessa linha: 

done = radio.read( &got_time, sizeof(unsigned long) ); (erro: void value not ignored as it ought to be)

De qualquer maneira quando eu entro no monitor serial dos dois as indicações aparecem zeradas... não sei o que pode ser, mas até aqui, muito obrigado pela ajuda!

Bom dia, 

Sugiro que faça esses testes:

nRF24L01 – How It Works, Arduino Interface, Code, Schematic

https://howtomechatronics.com/tutorials/arduino/arduino-wireless-co...

Poor Man's 2.4 GHz Scanner

https://arduinoinfo.mywikis.net/wiki/Nrf24L01-Poor_Man's_2

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço