Olá Amigos Boa Noite!!!!!

Alguém tem uma ideia de como posso fazer com que o NRF24L01 repita o sinal......

por exemplo:

Na base receptora tenho 3 dispositivos.

cada um desses dispositivos recebe um numero....

disp. 1  > recebe 1

disp. 2  > recebe 2

disp. 3  > recebe 3

envio 1 para ele fazer uma ação... no dispositivo 1

só que esse dispositivo não tem alcance...

mais o dispositivo 3 recebe esse envio.

como o dispositivo 3 só executa a ação com o numero 3 e não o numero 1

eu queria que ele repetisse esse sinal para que o numero 1 receba esse sinal e execute a ação....

Isso seria possível????

Se sim, meus amigos.. poderiam me dar uma luz para construir esse código????

Espero ter sido claro.... qualquer duvida podem perguntar.

Desde já! agradeço a atenção de todos.......Obrigado!!!!!

Exibições: 634

Respostas a este tópico

Olá Italo,

    O code eu não vou te dar pronto,  mas vou te mostrar o caminho ok, até porque aqui no forum, estimulamos a galera a crescer e quando damos pronto estamos matando isso, tudo bem.

   Bem, vamos lá,  

   Sim, é perfeitamente possivel colocar retransmissores de sinal para o NRF24L01,  porem, você deve estar atento que o NRF24L01 existe em 2 modelos,  um de 100m e outro de 1.000m que a depender das condições existem relatos de alcançe de até 1.300m,  logo, vê se a versão NRF24L01+PA+LNA não já resolve seu problema ok,  e se o problema for tamanho, o pa+lna existe em versão SMD que é menor até que o  NRF24L01+.

   Bem, agora pra começar vamos falar do mais importante:  Bibliotecas. - O  NRF24L01 tem váaaarias,  porem,  a mais moderna, atualizada e com correções são as bibliotecas do TMRH20  veja aqui elas :  https://github.com/TMRh20

   Existem varias, pois cada uma se presta a uma utilidade,  mas pra o que você deseja, vá de certo na RF24 basica mesmo do tmrh20.

  O truque esta no arquivo de exemplo o GETTINSTARTER,  inicialmente copie ele pra 2 arduinos com um radio em cada um.

  Tenha cuidado na montagem pois em praticamente todas as bibliotecas anteriores se utilizava os pinos 9 e 10 de setagem, já nessa biblioteca os pinos são os 7 e o 8.

  Pra começar, abra duas IDE com monitores seriais em cada uma,  em uma delas começe apertando T e em seguida dando enter, aguarde um pouco e em seguida aperte R,   dai na outra basta apertar T e dar enter que eles começarão a se falar.

  Esse é o teste basico pra saber se seus radios estão falando um com o outro.

   Depois disso abra o exemplo e o estude,  você verá os comando de setagem para tornar o radio um emissor ou um receptor,  visto que ele é um transcepcor e vc tem que setar o que deseja dele,  no exemplo gettingstarter os radios são tanto colocados como receptor como transmissor em momentos diferetnes.

   Para criar um retransmissor , existe 2 possibilidades:

1)A  so passa para X que so passa para F           e

2)A que passa pra quem ouvir, se não chegar a F e só a X esse retransmite,  mas se F ver A, pega o codigo diretamente.

   Bem, o truque para ter uma ou outra configuração é a manipulação de CANAIS e PIPES.

 no modo 1) o modulo A esta com o PIPE emissor 111 e o X com o receptor 111, já o X quando vira transmissor usa o Pipe 222 e o F que apenas ouve fica no pipe 222,  , você pode usar o mesmo canal pra tudo,  lembre-se no nrf24l01 canal é uma coisa pipe é outra.

no modo 2) o modulo A esta com o PIPE emissor 111 e tanto o X como o F estão ouvindo no 111,  se o F ouvir beleza, se não, o X quando ouvir, se transforma em transmissor ao inves de receptor.

    Volto a dizer,  tudo isso esta no exemplo gettingstarter que acompanha a bilioteca.

 Weider Duarte Bom dia!! mais é isso mesmo, eu não quero que venha tudo mastigado mesmo...... eu quero aprender... pois sou muito leigo com esses tipos de códigos...... então eu vou fazer como vc colocou descrito..... assim que eu tiver um resultado te aviso.... desde já Obrigado......

Ah! uma dica avançada que você não vai encontrar em lugar nenhum, essa vale grana kkk

Você pode colocar mais de um radio em um mesmo arduino,  tipo, no retransmissor colocar um radio exclusivamente para ouvir e outro exclusivamente para falar.

A vantagem disso é que quando você usar um único rádio, e fica alternando ele entre ouvir e falar, você provavelmente ira perder pacotes,  pois existe um tempo de adequação do hardware, ainda que em milissegundos, para mudar de um estado par ao outro, porem, tudo vai depender do seu projeto, isso só vale a pena se houver muitos dados em transito constante,  se for para baixo transito de dados, o melhor mesmo é colocar o radio ouvindo e quando dados chegar nele, transformar ele em transmissor e retransmitir o dado.

O truque para colocar 2 radios, depende tanto de hardware como de software, na parte do hardware, três pinos são fixos, e esses devem ser comuns aos dois radios,  já os pinos que você seta no sketch do arduino, são configuraveis,  dai o truque pra colocar dois radios,  basta fazer a ligação dele, colocando outros 2 pinos diferentes do primeiro radio.

Na parte de software,  onde aparece o nome radio.xxxxxx  basta vocÊ colocar radio2.xxxxxx  e fazer toooodas as configurações individuais pra cada um, e olha que tem configuração pacas,  tipo, indicar potencia, tamanho de pacote, se tera ativação de resposta de recebimento, etc.  tudo isso é explicado no site oficial da biblioteca.

Obrigado!!!!! essa eu vou guardar com minha vida.... Obrigado!!!!!!

 Weider Duarte Boa Tarde, fiz como indicado sua resposta acima, usei o GETTINSTARTER passo a passo, como o senhos falou......

mais infelizmente eu não conseguir fazer a comunicação como desejado.... somente da falido.....

no mesmo arquivo RF24 tem o exemplo TRANSFER TIMEOUTS, para fazer a comunicação entre os rádios, e esse está se comunicando perfeitamente..... será que estou errando em alguma coisa??

desde já Obrigado!!!!

Ola Italo,

    Cara, apesar do GettingStarter ser o arquivo base para aprendizagem dessa biblioteca,  a versão do GettingStarter na biblioteca antiga do Maniacbug é difetenta da do Greg Copeland que por sua vez foi bem modificada nessa versão final do TMRH20.

     O grande barato da versão do Maniacbug é que o GettingStarter antes de iniciar a comunicação, ele faz uma varredura local fisica no seu radio e na ligação, e informa no menu serial, dai dá pra ver se a ligação tá correta,  se não estiver aparece tudo zerado.

     Um conselho que te dou é o seguinte,  va em www.arduino.cc e lá em downloads tem umas versões do arduino pra baixar que não são de instalar,  basta dezipar e ele já sai rodando,   eu costumo ter no minimo 3 versões arduinos instaladas no meu PC,  no momento tenho a 1.0.6  a 1.5.6 e a mais recente que é 1.6.xxx que não lembro agora,  sendo somente essa ultima instalada por instalador.

    O legal de vocÊ ter mais de uma IDE com mais de uma versão,  é que dá pra você pegar versões diferentes de blibliotecas e estuda-las, sem estourar ou perder nada da sua ide principal e padrão.

    Logo, a ideia é essa vá em  https://maniacbug.wordpress.com/2011/11/02/getting-started-rf24/  e baixe a versão da RF24 do maniacbug,  baixe uma IDE descompactavel e coloque a biblioteca nela, e faça os testes,  depois você me conta o resultado ok.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço