راهنمای کامل ماژول فرستنده/گیرنده RF 433 مگاهرتز با آردوینو UNO
این پست آموزش ماژولهای محبوب فرستنده / گیرنده 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 دلار
اردوینو با ماژولهای فرستنده / گیرنده 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/
دیدگاهتان را بنویسید