راهنمای کامل ماژول فرستنده/گیرنده RF 433 مگاهرتز با آردوینو UNO

9 ماه پیش | 860 مشاهده شده
ماژول های فرستنده و گیرنده 433 مگاهرتز

این پست آموزش ماژول‌های محبوب فرستنده / گیرنده RF 433MHz با Arduino است. ما توضیح خواهیم داد که چگونه کار می‌کنند و یک نمونه پروژه Arduino را به اشتراک می‌گذاریم که می‌توانید در پروژه‌های خود اعمال کنید.

طی این آموزش، ما از فرستنده FS1000A و گیرنده متناظر استفاده خواهیم کرد، اما دستورالعمل‌های ارائه شده نیز با سایر ماژول‌های فرستنده / گیرنده 433MHz که به شکل مشابهی کار می‌کنند، کار می‌کند. این ماژول‌های RF در میان طرفداران Arduino بسیار محبوب هستند و در انواع گسترده‌ای از برنامه‌هایی که نیاز به کنترل بی‌سیم دارند استفاده می‌شوند.

این ماژول‌ها بسیار ارزان هستند و شما می‌توانید آن‌ها را با هر میکروکنترلر، چه Arduino، ESP8266 یا ESP32 باشد، استفاده کنید.

مشخصات گیرنده RF 433MHz

دامنه فرکانس: 433.92MHz

مدولاسیون: ASK

ولتاژ ورودی: 5V قیمت: 1 تا 2 دلار

مشخصات فرستنده RF 433MHz

دامنه فرکانس: 433.92MHz

ولتاژ ورودی: 3-12V

قیمت: 1 تا 2 دلار

ماژول های فرستنده و گیرنده 433 مگاهرتز
ماژول های فرستنده و گیرنده 433 مگاهرتز

اردوینو با ماژول‌های فرستنده / گیرنده RF 433MHz

در این بخش، ما یک نمونه ساده ایجاد خواهیم کرد که یک پیام را از یک برد اردوینو به برد اردوینو دیگری با استفاده از 433 مگاهرتز ارسال می‌کند. یک برد اردوینو به یک فرستنده 433 مگاهرتز متصل خواهد شد و پیام “Hello World!” را ارسال خواهد کرد. برد اردوینو دیگر به یک گیرنده 433 مگاهرتز متصل خواهد شد تا پیام‌ها را دریافت کند.

قطعات مورد نیاز

  • Arduino – دو عدد برد آردوینو UNO
  • RF 433MHz Receiver/Transmitter – ماژول های فرستنده گیرنده 433 مگاهرتز
  • Breadboard برد بورد
  • Jumper wires سیم های جامبر برای متصل کردن ماژول ها به آردوینو

نصب کتابخانه RadioHead

کتابخانه RadioHead راه آسانی برای کار با فرستنده / گیرنده 433 مگاهرتز با Arduino فراهم می‌کند. مراحل زیر را دنبال کنید تا آن کتابخانه را در Arduino IDE نصب کنید:

اینجا را کلیک کنید تا کتابخانه RadioHead را دانلود کنید. شما باید یک پوشه .zip در پوشه Downloads خود داشته باشید. کتابخانه RadioHead را unzip کنید. پوشه کتابخانه RadioHead را به پوشه کتابخانه‌های نصب Arduino IDE منتقل کنید. Arduino IDE خود را دوباره راه اندازی کنید کتابخانه RadioHead عالی است و با تقریباً تمام ماژول‌های RF در بازار کار می‌کند. شما می‌توانید درباره کتابخانه RadioHead اینجا بیشتر بخوانید.

مدار فرستنده ماژول فرستنده را با دنبال کردن نقشه زیر به اردوینو متصل کنید.

مهم: همیشه پین‌های ماژول فرستنده‌ای که استفاده می‌کنید را بررسی کنید. معمولاً برچسب‌هایی در کنار پین‌ها وجود دارد. به طور جایگزین، شما همچنین می‌توانید به دیتاشیت ماژول خود نگاهی بیندازید.

مدار فرستنده با آردوینو
مدار فرستنده با آردوینو

برنامه فرستنده کد زیر را به برد اردوینویی که به عنوان فرستنده عمل خواهد کرد آپلود کنید. این بر اساس یکی از نمونه‌های ارائه شده توسط کتابخانه RadioHead است.

#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);
}


مدار گیرنده ماژول گیرنده را با دنبال کردن نقشه زیر به اردوینو دیگری متصل کنید.

مهم: همیشه پین‌های ماژول فرستنده‌ای که استفاده می‌کنید را بررسی کنید. معمولاً برچسب‌هایی در کنار پین‌ها وجود دارد. به طور جایگزین، شما همچنین می‌توانید به دیتاشیت ماژول خود نگاهی بیندازید.

مدار گیرنده با  آردوینو
مدار گیرنده با آردوینو

برنامه گیرنده زیر را به اردوینویی که به گیرنده متصل است پروگرم کنید. این بر اساس یکی از نمونه‌های ارائه شده توسط کتابخانه RadioHead است.

#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);         
    }
}

در این پروژه فرستنده پیام “Hello World!” را از طریق RF به گیرنده ارسال می‌کند. این پیام‌ها در مانیتور سریال گیرنده نمایش داده می‌شوند. شکل زیر نشان می‌دهد که چه چیزی باید در مانیتور سریال Arduino IDE خود ببینید.

نمایش پیام دریافت شده در گیرنده

منابع

https://randomnerdtutorials.com/rf-433mhz-transmitter-receiver-module-with-arduino/




دیدگاهتان را بنویسید

در سایت ما نظر خود را بیان کنید.