ماژول انتقال بی سیم اطلاعات NRF905
nRF905 یک IC فرستنده و گیرنده رادیویی مشابه nRF24L01 است. با این تفاوت که در فرکانس های 433/898/915MHZ به جای فرکانس 2.4Ghz عمل می کند. این ماژول دارای گستره ی فرکانسی و پین های IO بیشتری به نسبت nRF24L01 می باشد.اگرچه نرخ دیتای nRF905 در هوا تنها 50Kbps است که در مقایسه با nRF24L01 که 2Mbps است کمتر می باشد. ماژول nRF905 دارای 511 کانال در محدوده 422.4MHz – 473.5MHz با گام 100KHz روی باند 433MHz و 844.8MHz – 947MHz با گام 200KHz روی باند 868/915MHz می باشد. اما به دلیل همپوشانی هر کانال بر روی کانال مجاور خود در مجموع تنها 170 کانال قابل استفاده میباشد. این ماژول با در اختیار داشتن چیپ رادیویی Nordic VLSI NRF905 و حساسیت 100dBm وضریب اطمینان بالا می تواند بطور گسترده در موقعیت های مختلف به همراه برد های آردوینو در ارتباطات بیسیم مورد استفاده قرار گیرد.
کاربرد ها
ریموت کنترل های صنعتی
تجهیزات دستی بیسیم
اندازه گیری های بیسیم
سیستم های امنیتی
سیستم های نظارتی
مانیتورینگ آب و هوا
روباتیک
ویژگی ها
مدولاسیون GFSK
مدت زمان سویچینگ کانال کمتر از 650ms
ولتاژ کاری: 1.9-3.6V
برد : 200-300 متر (وابسته به شرایط محیط و تنظیمات نرخ baud ارتباط)
جریان مصرفی پایین (Tx Out: 30mA< , RX in, 12.2mA, 433MHz)
کنترل قدرت خروجی برای تمامی فرکانسهای پشتیبان تا +10dBm
سازگاری با بردهای آردوینو
مثال
در مثال زیر با استفاده از ماژول nrf905 می توانید دو برد آردوینو را به هم ارتباط دهید و در پایان دریافت باید عبارات زیر را در Serial Monitor مشاهده کنید.
Hi, Arduino 0
Hi, Arduino 1
Hi, Arduino 2
کد مربوط به فرستنده
کد:
#include <NRF905.h>
#include <SPI.h>
#define BUF_LEN 32
#define CONF_LEN 10
#define NRF905_CSN 10
unsigned char tx_buf[BUF_LEN]= "Hi, Arduino \r\n";
unsigned char read_config_buf[CONF_LEN];
byte tx_address[4]= {0xcc,0xcc,0xcc,0xcc};
void setup()
{
unsigned char i;
pinMode(NRF905_CSN,OUTPUT); //to make sure SPI works
nrf905=NRF905(NRF905_CSN);
nrf905.init();
/**
default configuration, need to specify frequency
choose Z-Wave frequency band, support :
US 908.42Mhz
EUROPE 868.42MHz
AFRICA 868.42MHz
CHINA 868.42MHz
HK 919.82MHz
JAPAN 853.42MHz
AUSTRALIA 921.42MHz
NEW_ZEALAND 921.42MHz
BRASIL 921.42MHz
RUSSIA 896MHz
*/
nrf905.write_config(US);
nrf905.read_config(read_config_buf);
Serial.begin(9600);
for(i=0; i<10; i++)
{
Serial.print(read_config_buf[i],HEX);
Serial.print(' ');
}
tx_buf[12] = '0';
}
void loop()
{
/** transmit data packet with default TX Address */
nrf905.TX(tx_buf);
/** transmit data packet with specified TX Address */
// nrf905.TX(tx_buf, tx_address);
// NOTE: TX_Address and RX_Address must be the same
/** Count Sending times */
tx_buf[12]++;
if(tx_buf[12] == 0x3A){
tx_buf[12] = '0';
}
delay(50);
}
کد مربوط به گیرنده
کد:
#include <NRF905.h>
#include <SPI.h>
#define BUF_LEN 32
#define CONF_LEN 10
//NRF905 nrf905;
unsigned char rx_buf[BUF_LEN]= {0};
unsigned char read_config_buf[CONF_LEN];
unsigned char rx_address[4]= {0xcc,0xcc,0xcc,0xcc};
void putstring(unsigned char *str)
{
while(*str){
Serial.write(*str++);
}
}
void setup()
{
char i;
pinMode(10,OUTPUT);
nrf905=NRF905(10);
/** pin/port configuration */
nrf905.init();
/***************************************************
default configuration, need to specify frequency
choose Z-Wave frequency band, support :
US 908.42Mhz
EUROPE 868.42MHz
AFRICA 868.42MHz
CHINA 868.42MHz
HK 919.82MHz
JAPAN 853.42MHz
AUSTRALIA 921.42MHz
NEW_ZEALAND 921.42MHz
BRASIL 921.42MHz
RUSSIA 896MHz
*/
nrf905.write_config(US);
/***********************************************************
read register configuration, check register value written */
nrf905.read_config(read_config_buf);
/** serial communication configurate */
Serial.begin(9600);
/** test configuration */
for(i=0; i<CONF_LEN; i++){
Serial.print(read_config_buf[i],HEX);
Serial.print(' ');
}
}
void loop()
{
/** recieve data packet with default RX address */
nrf905.RX(rx_buf);
/** recieve data packet with specified RX address */
// nrf905.RX(rx_buf, rx_address );
// NOTE: TX_Address and RX_Address must be the same
/** send recieved data to PC through serial port */
putstring(rx_buf);
delay(1);
}
مرجع:
nRF905 AVR/Arduino Library/Driver
http://www.electrodragon.com/w/index.php?
title=NRF905_Transceiver_433MHz-Wireless_Module
جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.