ماژول DRA886RX یک گیرنده ASK بر پایه RFIC ها می باشد . این ماژول دارای خاصیت ضد تداخلی قوی و همچنین پایداری و حساسیت بالا است . جهت ارتباط با این ماژول می توان از ماژول DRA886TX استفاده کرد . به راحتی با استفاده از این ماژول می توان ارتباط بین دو MCU را به صورت وایرلس در آورد . ماژول های DRA886RX در فرکانس های مختلفی ساخته می شود که تنها فرستنده و گیزنده های هم فرکانس توانایی برقراری ارتباط را دارند .

 

ویژگی های :

  • ولتاژ تغذیه 3.6 ولت تا 5 ولت
  • حساسیت -107dBm
  • جریان مصرفی 4m A
  • دارای برد 100 متری
  • فرکانس کاری 433MHz
  • مدولاسیون ASK
  • نرخ انتقال دیتا 9600 بیت بر ثانیه
  • مدت زمان شروع به کار پس از اتصال تغذیه 9ms

 

پین های ماژول DRA886RX :

این ماژول دارای 6 پین به شرح زیر می باشد .

از چپ به راست :

1- پین GND زمین ماژول می باشد .

2- پین ANT جهت اتصال به آنتن است .

3- پین VCC تغذیه ماژول است که باید به 3.3 تا 5 ولت متصل شود .

4- پین CS جهت فعال سازی ماژول می باشد که اکتیو لاو هست .

5- پین DATA خروجی دیتای ماژول می باشد که به MCU متصل می شود .

6- پین آخر نیز GND می باشد .

 

راه اندازی DRA886RX :

جهت راه اندازی ماژول پس از اتصال تغذیه جهت فعال سازی ماژول باید پین cs صفر گردد . در این حالت هر دیتای سریالی بر روی ورودی دیتای ماژول DRA886TX قرار گیرد همان دیتا نیز بر روی خروجی دیتای DRA886RX قرار خواهد گرفت.جهت انتقال دیتا بین دو MCU با ماژول DRA886RX می توان از پروتکل های UART  و I2C و… استفاده کرد . البته باید به حداکثر بیت ریت ماژول و همچنین منطق قرار گرفته بر روی خروجی دقت نمود ( در برخی از ارتباط ها شما مجبور به استفاده از گیت NAOT در ورودی فرستنده و یا در خروجی گیرنده خواهید بود )

 

راه اندازی ماژول DRA886RX با استفاده از آردوینو :

راه اندازی این ماژول ها بسیار ساده بوده و تنها کافی است تغذیه ماژول متصل گردد که در این صورت با قرار گیری هر دیتای سریالی در پین دیتای فرستنده همان دیتا عینا در پین دیتای گیرنده قرار می گیرد (باید دیتا ارسالی دارای بادریتی کمتر از حداکثر باد ریت ماژول های فرستنده و گیرنده باشد).

در مدار زیر از ماژول DRA886TX استفاده شده است .

برنامه سمت فرستنده :

از ماژول های فرستنده ASK 433MHz مانند FS1000A می توانید به عنوان فرستنده برای ماژول DRA886RX استفاده کنید .

#include <RH_ASK.h>
#include <SPI.h> // Not actually used but needed to compile

RH_ASK driver;

void setup()
{
    Serial.begin(9600);   // Debugging only
    if (!driver.init())
         Serial.println("init failed");
}

void loop()
{
    const char *msg = "Hello World!";
    driver.send((uint8_t *)msg, strlen(msg));
    driver.waitPacketSent();
    delay(1000);
}

 

 

برنامه سمت گیرنده :

#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile

RH_ASK driver;

void setup()
{
    Serial.begin(9600); // Debugging only
    if (!driver.init())
         Serial.println("init failed");
}

void loop()
{
    uint8_t buf[12];
    uint8_t buflen = sizeof(buf);
    if (driver.recv(buf, &buflen)) // Non-blocking
    {
      int i;
      // Message with a good checksum received, dump it.
      Serial.print("Message: ");
      Serial.println((char*)buf);         
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

Tags:
About Author: USER_4