[PEDIDO AJUDA] Não consigo fazer funcionar radio NRF24L01+PA+LNA

Boa tarde Galera.. estou com dois módulos NRF24L01+PA e não estou conseguindo faze-los funcionar estável!!

já li todas as discussões a respeito na duvida, coloquei capacitor ajudou mas não resolveu, usei a biblioteca rf24 e a  rf24network e não resolveu!

vamos la explicando: quando ligo os módulos e passo o gettingstarted e coloco um dos módulos para receber e outro para transmitir um dos módulos não consegue enxergar a resposta de envio e quando inverto a situação passa a funcionar mas sempre tem demora no envio ok, mas então faco o teste de distancia e ele para de comunicar com um pouco mais de 20 mts e preciso de 200 mts no minimo.

a minha ideia e o transmissor vai ficar aguardando o sinal de ligar do receptor e quando o transmissor receber este sinal ele começa a transmitir enquanto o receptor enviar sinal de que esta recebendo, por isso não preciso deixar os rádios apenas transmitindo e outro recebendo.

já mexi em todas as config aumentando e abaixando a velocidade, mudando o PAlevel e não ajuda só piora.

Help Please!!! 

segue a foto de como eles se comunicam!!

Invertendo os papeis!!

Exibições: 517

Responder esta

Respostas a este tópico

Me parece que esse modulo NRF24L01 funciona somente até 100 metros sem obstáculos. 

Se tiver paredes, a distância vai ser menor. 

Existe um outro módulo que tem alcance de até 1 Km sem obstáculos. 

Olá Alisson, vamos por parte kkk

1º - Os NRF24L01 se tornaram bastante famosos e por serem baratos vendem feito água,  por isso rola muita pirataria deles, e infelizmente a pirataria é extremamente dificil de detectar, logo, se você esta usando dois radios pra testes e eles estão apresentando anomalias,  tente usar outros.

2º - Eu sempre que respondo duvidas da galera aqui proponho que se utilize as bibliotecas atualizadas do TMRH20, porem, pra muitos testes a rf24 original do maniacbug tem resultados melhores, logo, enquanto estiver na fase de testes, tenha no minimo duas IDEs do arduino instalada em sua maquina, cada uma utilizando uma versão da rf24, apenas lembre-se que radios gravados com bibliotecas diferentes não se falam ok.

3º - O exemplo gettingstarter é basico em qualquer biblioteca, mas curiosamente ele se comporta diferente de biblioteca pra biblioteca, no geral você tem que abrir dois monitores seriais em duas IDEs distintas dai no primeiro você aperta T aguarda um pouco e nele mesmo aperta R e aguarda um pouco, dai vai na segunda IDE com o seguindo radio e aperta T, dai a transmissão deve começar,   se não rolar, aperta R nessa segunda e T na primeira.

4º - Para alcançar 200 mts você vai ter que utilizar o NRF24L01+PA+LNA com ele você alcança fácil 200mt mesmo com paredes, porem, como ele é exigente com corrente aconselho utilizar esse adaptador/ base de conexão aqui ó:  ADAPTADOR  ele auxilia na correção da corrente, porem, um resistor de 10uF ligado diretamente nos pinos VCC e GND é bem vindo.

5º -  Quando for utilizar a versão  NRF24L01+PA+LNA, tome muito cuidado pra não deixar os radios em PA LEVEL MAX, se eles estiverem muito proximos,  pois eles dão tilt,   no geral eu escrevo um codigo com IF do tipo em que começo com PA LEVEL minimo e dai vejo se o outro radio responde, tento em geral umas 10 vezes com algum delay,  se não vou aumentando o PA LEVEL e quando rola resposta mando parar com essa potencia.

6º -  Alem do PA LEVEL é importante você tambem trabalhar com o payloadsize pra reduzir ao minimo necessario a taxa de dados,  quando menor a taxa melhor a comunicação.

Weider primeiro obrigado pelas dicas! e queria dizer que pelo que já li aqui no blog você e o cara desses radio!! eu estou utilizando o NRL24l01+PA e lendo seus comentários vi que você colocou o capacitor de 470uF e então também coloquei e melhorou a comunicação dos rádios. Eu consigo enviar e receber nos rádios com uma distancia de +/- 160 mts só que o radio não consegue enviar a resposta de recebimento ele so fica dando falha de recebimento da resposta e se eu inverto os radio ai consigo receber resposta de recebimento com atraso quando estou perto ate uns 20mts se vou distanciando passando de 20mts não recebo nada!!

O que eu quero fazer e bem parecido com o que você fez pois não quero deixar o radio que vai ficar a 200mts ligado o dia todo 365 dias do ano enviando, sendo que o receptor não vai estar nem ligado!! ai que começou os problemas!

quanto a corrente dos radio eu cheguei ate a ligar em uma fonte externa simétrica e não alterou em nada a comunicação!!

Eu estou usando o o PAleve no máximo e já tentei com ele de tudo quanto e jeito mas vou testa-los no minimo.. uma duvida !! quando configuro o PAleve para modo LOW ele aparece configurado como LAmed e não PAmin, você sabe porque?

Estou quebrando a cabeça com esses rádio já tem umas duas semanas!!

Toda ajuda e válida!

José obrigado pela dica, mas eu estou utilizando o NRL24l01+PA justamente o que tem alcance de 1000 mts!!

Alisson,

   Um dos problemas desses radios, quando você os utiliza realmente como transceivers, ou seja, coloca ele na escuta e quando estimulado ele inverte e vira transmissor,   ou o contrario,   é que fora o problema de mudança no hardware rola tambem um probleminha de lag que todas as bibliotecas tem, até as mais desconhecidas bomo a Radiohead.
  Um truque legal pra evitar isso é colocando dois radios,  um configurado exclusivamente como receptor e o outro exclusivamente como transmissor,  dai quando o pedido de dados chega pelo receptor, é o radios transmissor quem vai agora emitir,  sim, sai mais caro,  sim, consome mais energia,  sim dá muito mais trabalho de engenharia,  mas... funciona.
  Eu tenho um shield que criei pra testes e tem 3 radios,  já cheguei a colocar 4 radios em um só arduino UNO,  mas pra o que vocÊ precisa, só seria necessário 2, um receptor e um transmissor.

   Quanto a indicação do PA eu não sei, nunca prestei atenção nisso.

   Mas quando coloco o codigo que te falei, eu geralmente não coloco fixo,  sempre coloco um while dentro do void setup, e ele só sai dali depois que acha o melhor nível pra o PA.

   Ah! e valeu pelo elogio, o ego agradece kkk.

Weider..cara de tanto apanhar resolvi trocar os radio e ai consegui fazer eles conversarem com o sketch getting.. ufa!! e descobri que se eu colocar os capacitores que você me falou eles não funcionam direito, não sei porque!,

Então parti para fazer o meu sketch e consegui fazer enviar um sinal e ele se transforma em tx e começa a enviar mas agora o tx envia uma vez e não envia mais.

De tanto apanhar no sketch pois não conseguia enviar nada eu descobri que não pode colocar os comando de startlistening nem o de stoplistening no loop pois ele não faz nada ai coloquei um if para ele fazer isso apenas uma vez e ai sim funcionou mas agora como disse acima ele so envia uma vez e o radio.write  não esta dentro do if esta fora!!

voce teria uma dica?? estou quase conseguindo o que queria!!

Cara consegui fazer funcionar!! UFAAA

O rádio número 1 liga e aguarda o sinal para transmitir, quando recebe começa a transmitir e verifica se ele recebeu pois eu envio um sinal para ele, se ele não receber o ok ele volta a escutar.

O rádio número 2 quando ligado envia o comando para ligar e começa a escutar, quando recebe sinal ele envia resposta que recebeu.

Com isso o rádio que está a 200 mts só ficará enviando quando o rádio que escuta estiver ligado e recebendo!! se não ele passa a ficar escutando aguardando sinal para ligar!!

O que eu percebi e que se eu não colocar radio.startlistening e depois que eu escutar tenho que colocar radio.stoplistening. ai funciona!!! e depois que enviar usar  o radio.startlistening.

Alisson cara,

   Eu já te falei, NRF24L01 é muito barato, na china a versão PA+LNA sai pro menos de dez reais,  logo,  nem que seja como exercicio,  coloque dois radios em cada base ao inves de um só,  um radio só pra escurar e outro so pra falar,  a depender do projeto, parece ate que você ta querendo matar uma mosca com um canhão,  mas sinceramente, isso evitar muito trabalho.

   Pra meter dois radios em um só arduino é simples, na biblioteca em tudo que tiver o nome radio.blabla bla    voce coloca  radio1.blabla bla  e   radio2.bla blabla e chama tudo repetido, mas um como emissor e o outro como receptor.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço