Hướng dẫn sử dụng Module phát / thu RF 433 MHz với Arduino

Bài này là một hướng dẫn cho các mô-đun máy phát / thu RF 433 MHz phổ biến. Chúng tôi sẽ giải thích cách thức hoạt động, hiển thị cho bạn một số tính năng và chia sẻ ví dụ về dự án Arduino mà bạn có thể theo dõi và áp dụng cho các dự án của riêng mình.

Miêu tả


Các mô-đun RF này rất phổ biến trong số các tinker Arduino. Các mô-đun thu / phát 433 MHz được sử dụng trên nhiều ứng dụng yêu cầu điều khiển không dây.

Các mô-đun này rất rẻ và bạn có thể sử dụng chúng với bất kỳ vi điều khiển (MCU) nào, cho dù đó là Arduino, ESP8266 hay ESP32. .

Thông số kỹ thuật Bộ thu RF 433 MHz

  • Dải tần: 433,92 MHz
  • Điều biến: ASK
  • Điện áp đầu vào: 5V
  • Giá: $ 1 đến $ 2

Thông số kỹ thuật Máy phát RF 433 MHz

  • Dải tần: 433,92 MHz
  • Điện áp đầu vào: 3-12V
  • Giá: $ 1 đến $ 2

Nơi để mua?

Bạn có thể mua các mô-đun này tại cachdung.com.

Arduino với các mô-đun RF 433 MHz


Hãy xây dựng một ví dụ đơn giản bao gồm gửi tin nhắn từ Arduino đến người khác bằng 433 MHz. Một board Arduino sẽ được kết nối với một máy phát và sẽ gửi tin nhắn “Hello world!” Board Arduino khác sẽ được kết nối với một máy thu để nhận tin nhắn. Bạn cần các linh kiện sau đây cho ví dụ này:

  • 2x Board Arduino
  • Bộ thu / phát RF 433 MHz
  • Breakboard
  • Dây điện

Cài đặt thư viện RadioHead


Thư viện RadioHead cung cấp một cách dễ dàng để làm việc với bộ thu / phát 433 MHz. Thực hiện theo các bước tiếp theo để cài đặt thư viện đó trong Arduino IDE:

  1. Nhấn vào đây để tải thư viện RadioHead.
  2. Giải nén thư viện RadioHead .
  3. Di chuyển thư mục Radiohead vào thư viện Arduino IDE.
  4. Khởi động lại Arduino IDE của bạn

Thư viện RadioHead rất tuyệt và nó hoạt động với hầu hết các mô-đun RF trên thị trường.

Mạch thu


Thực hiện theo sơ đồ tiếp theo để nối mô-đun với Arduino.

Tải code dưới đây lên Arduino được kết nối với mạch thu.

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

Mạch phát


Đấu dây mô-đun máy phát cho Arduino còn lại bằng cách làm theo sơ đồ tiếp theo.

Sau đó tải đoạn code sau lên board Arduino.

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

DEMO


Trong dự án này, máy phát đang gửi tin nhắn “Hello World!” cho người nhận qua RF. Những tin nhắn đang được hiển thị trong màn hình nối tiếp của người nhận. Hình dưới đây cho thấy những gì bạn sẽ thấy trong màn hình nối tiếp Arduino IDE của bạn.

Lưu ý


Bạn cần biết một số khả năng lỗi thực tế khi sử dụng mô-đun này. Chúng hoạt động rất tốt khi máy thu và máy phát gần nhau. Nếu bạn tách chúng ra quá xa, bạn sẽ mất liên lạc. Phạm vi giao tiếp sẽ thay đổi. Nó phụ thuộc vào mức điện áp mà bạn cung cấp cho mô-đun máy phát, nhiễu RF trong môi trường của bạn và nếu bạn đang sử dụng ăng-ten ngoài.

Dịch từ: https://randomnerdtutorials.com/rf-433mhz-transmitter-receiver-module-with-arduino/

 

 

 

 

 

 

 

 

 

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *