O módulo NRF24L01 é um circuito poderoso e barato de comunicação por Radiofrequência (RF) sem fio que opera na faixa de 2,4GHz de baixo consumo de energia e que vem ganhando espaço em diversas aplicações industriais, o melhor de tudo é que ele pode ser usado no Arduino.
O circuito é baseado no chip nRF24L01+ da Nordic Semiconductor que integra um transceptor (Transmissor e Recepitor) de RF a 2,4 GHz, um sintetizador de RF, e também inclui o protocolo acelerador de hardware ShockBurst™ dando suporte a uma interface avançada SPI (Serial Peripheral Interface) de alta velocidade para o controlador de aplicação.
O Módulo
Figura 1 - Exemplo do Módulo NRF24L01 |
Características
Por se sustentar sob um chip de baixo custo de aquisição (mas lembrem-se, poderoso) existem várias implementações deste hardware no mercado, mas todas desempenham as mesmas funcionalidades. Recomendo fortemente que baixe e leia o DATASHEET do nRF24L01+ para uma total compreensão do equipamento.
- Comunicação RF sem fio a 2,4GHz. (Obs:. Este módulo opera na mesma frequência do padrão IEEE 802.11 [b | g | n] "redes de internet sem fio" que é uma faixa de frequência livre "Não há necessidade de pagamento de taxas para aplicações que operem nessa faixa, desde que respeitem os limites de banda e potência vigentes em cada País" mas não causa interferência significativa no sinal da rede sem fio, contudo para melhor performasse deste modo uma analise dentre os 128 canais possíveis de se trabalhar deve ser feita para manter-se completamente fora da interferência exterior)
- Permite comunicação entre vários pontos de acesso.
- Velocidade de dados [256kbps | 1Mbps | 2Mbps]
- Distancia de operação entre 70m a 100m para 256kbps (600m a 1Km nos módulos que vem com antena)
- Modos de operação [Modo de baixa potencia | Modo de Standby | Modo RX | Modo TX]
- Sensibilidade de operação de -85dBm em 1Mbps.
- Tensão de operação entre 1.9V e 3.6V.
- Corrente de operação em 13,2 (RX) e 13,5mA (TX) para 2Mbps. (1uA se no modo de baixa potencia)
- Dimensões figuram em média de 20mm x 29mm x 0.8mm
Para conectar o módulo NRF24L01 com o Arduino (Pois usaremos a biblioteca RF24) basta seguir o especificado na Tabela 1, é importante ressaltar que algumas placas do módulo vem com 8 pinos e outras com 10 (Estas possuem 2 pinos para o VCC e GND) mas a conexão é feita da mesma forma.
Pinos do Módulo
| Pinos do Arduino | Pinos Arduino Mega | Descrição |
GND
| GND | GND | Alimentação negativa |
VCC | 3.3V | 3.3V | Alimentação positiva (Atenção, cuidado para não ligar ao 5V) |
CE | 9 | 49 | Habilitador que ativa o modo de RX ou TX |
CSN | 10 | 53 | SPI Seletor do chip |
SCK | 13 | 52 | SPI Clock |
MOSI | 11 | 51 | SPI (Escravo) Dados de Entrada |
MISO | 12 | 50 | SPI (Escravo) Dados de Saída |
IRQ | 2 | 2 | Pino de interrupção (Uso não obrigatório) (Serve para alertar quando tem dados chegando ou o número máximo de retransmissão foi alcançado) |
Biblioteca
Programação
Passo 1 - Instalação
Para instalar a biblioteca basta ir no LINK oficial do desenvolvedor hospedado no GitHub, fazer ou download ou um git clone do código e salvar tudo na pasta /libraries na pasta do Aruduino IDE, pronto, é só reiniciar a IDE.
Passo 2 - Escolher um canal de operação
Escolher um canal de operação é muito importante para se trabalhar com este módulo. Com falado anteriormente ele opera na faixa de frequência de 2,4GHz, faixa está que livre de taxas e por isso possui diversos dispositivos operando nela (rede de internet sem fio, bluetooth, telefone residencial sem fio e muitos outros), para isso a biblioteca RF24 possui um código já pronto para fazer essa tarefa, para acessá-lo basta abrir o Arduino IDE então no Menu Principal escolha FILE -> Exemplos -> RF24 -> scanner
Não há a necessidade de alterar nada no código, basta conectar o módulo ao Arduino como foi previamente descrito e fazer o UPLOAD do código, ao abrir o Monitor da Serial (Repare que o código está configurado para 57600 de baundrate) você verá uma saída semelhante a exibida na Figura 2, esse sketch (Código) monitora os 128 canais da faixa 2,4GHz possíveis de se trabalhar com o módulo e mostra a atividade periodicamente neles.
Figura 2 - Saída serial gerada pelo sketch "scanner" |
Passo 3 - Testar
Para testar o módulo, tudo que você precisa são de dois Arduinos e dois Módulos RF24L01. Faça a conexão como descrito anteriormente faça o upload do Código 1 no primeiro Arduino, este será a estação de transmissão:
No outro Arduino faça o upload do Código 2, este será a estação de recepção:
Veja na saída serial o resultado final.
NRF24L01 com Arduino
Reviewed by AJ Alves
on
sexta-feira, fevereiro 15, 2013
Rating:
Um comentário:
da um monte de erro esse codigo ai
Postar um comentário