Bom dia não sei se já tem esta duvida sobre a ligação desta modulo NRF905 Wireless pois fiz uma pesquisa no fórum antes de postar e não achei nada,

gostaria de saber como eu faço para ligar este modulo no arduino uno?

desde já muito obrigado!

Exibições: 2793

Responder esta

Respostas a este tópico

Eh... Acho que ninguém por aqui usou ainda, pelo menos eu não...

Nesse link nRF905 datasheet electrodragon você pega uma library simples, exemplos e como ligar no arduino.

Para funcionar direito, exclua a palavra "PROGMEM" na linha 7 do arquivo NRF905.cpp e mude o modo de operação para 433 Mhz, trocando o valor HEX da linha 9 do arquivo NRF905.cpp de 0x0E para 0x0C.

Muito obrigado vou tentar!

Desenterrando o tópico...

...mas alguém já utilizou o módulo em questão? Qual o alcance máximo e taxa que conseguiu?

Ola, A interface dele é SPI. 

http://www.nordicsemi.com/eng/Products/Sub-1-GHz-RF/nRF905

Segue algumas que eu criei para este módulo. 

/*********************************************************************************************************
* Configure the module to Rx mode
*********************************************************************************************************/

void rfSetRxMode(void)
{
__RESET_WATCHDOG(); /* feeds the dog */
RF_TX_EN=0;
RF_TRX_CE=1;
delay_1ms();
}
/*********************************************************************************************************
* Configure the module to Tx mode
*********************************************************************************************************/

void rfSetTxMode(void)
{
__RESET_WATCHDOG(); /* feeds the dog */
RF_TRX_CE=0;
RF_TX_EN=1;
delay_1ms();
}

/*
*********************************************************************************************************
* Transmite bytes
*********************************************************************************************************/
void nrf_Tx_Pacote(void)
{
unsigned char i;
RF_PWR_UP = 1; //Tira o módulo do sleep
delay_5ms(); //Aguarda 5ms
RF_CSN=0; // habilita SPI
__RESET_WATCHDOG(); /* feeds the dog */
spiWr(WTP); //Comando de transmissão
for(i=0;i<15;i++)
{
spiWr(TxBuf[i]); //enche a pilha com os dados a serem transmitidos
}
RF_CSN=1; //Desabilita SPI
RF_TRX_CE=1; //Inicia transmissão por shockburst
CSDELAY(); //Tempo para transmissão do pacote vide manual
RF_TRX_CE=0; //Desabilita chip para recepção e transmissão.
__RESET_WATCHDOG(); /* feeds the dog */
delay_5ms(); // aguarda 5ms.
// RF_PWR_UP = 0;

}
/*********************************************************************************************************
* Ler dados Recebidos da pilha
*********************************************************************************************************/
void nr_fRx_pacote(void)
{

unsigned char i;


__RESET_WATCHDOG(); /* feeds the dog */
RF_TRX_CE=0; // habilita o nrf905 para receber ou transmitir dados
RF_CSN=0; // habilita SPI
spiWr(RRP); //Manda comando para iniciar leitura da pilha.
for( i=0; i < (BUF_MAX ) ; ++ i)
{
RxBuf[i] = spiRd(); //Ler os dados
}
RF_CSN=1; //Desabilita SPI
while(RF_DR||RF_AM); //Certifica-se que o buffer esta vazio. Esta parte pode ser melhorada
//
RF_TRX_CE=1; // desabilita SPI
mensagem = 1; // Uso interno do meu programa
if (configuracao.modo == MODO_TX) RF_PWR_UP = 0; // Se o modulo esta em transmissão coloca o modulo em sleep.
}

/*********************************************************************************************************
* Inicializa o módulo nrf 905
*********************************************************************************************************/
void rfConfig905(unsigned char *cfg)
{
unsigned char i;

RF_PWR_UP = 1; //Habilita módulo
RF_CSN = 1; //
RF_CSN = 0; // habilita spi
spiWr(WC); //Envia coando de configução NRF
for(i=0; i<10 ; i++) // envia payload de configuração;
{
spiWr(*cfg++);
}
RF_CSN = 1; //desabilita spi e aguarda 1ms
delay_1ms(); //delay 1ms
RF_CSN=0; //habilita spi
spiWr(WTA); //grava endereço de transmissão. Sempre que for transmitir para outro receptor
//WTA deve ser enviado.
for(i=0;i<4;i++)
{
spiWr(*cfg++);
}
RF_CSN=1; //Desabilita SPI
RF_TRX_CE = 1;
}

Alguém poderia me ajudar a ligar o nrf905 no arruino mega e no arruino nano?? Já tentei de diversas formas porém sem sucesso
Galera, qual que é o alcance desse módulo. Por que deve ter algo muito errado com o módulo ou com a programação de exemplo que eu peguei.
Se as antenas estiverem a mais de 2 cm não funciona.
Eu vou tentar mudar as antenas que vieram por antenas de roteador.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço