Mô tả
MX-315Mhz Bộ Thu Phát RF bao gồm một bộ phát và bộ nhận không dây hoạt động ở tần số 315Mhz hoặc 433Mhz. Chúng có thể dễ dàng phù hợp với một breadboard và hoạt động tốt với các bộ vi điều khiển để tạo ra một liên kết dữ liệu tần số (MHz) rất đơn giản.
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
Module thu
- Điện áp hoạt động: DC5V
- Dòng điện khi không hoạt động: 4mA
- Tần số nhận: 315Mhz hoặc 433Mhz
- Độ nhạy của máy thu: -105DB
- Kích thước: 30 x 14 x 7mm
- Anten ngoài: Dây lõi đơn 32CM, quấn thành hình xoắn ốc
Module phát
- Điện áp hoạt động: 3,5-12V
- Kích thước: 19 x 19mm
- Chế độ hoạt động: AM
- Tốc độ truyền: 4KB/S
- Công suất phát: 10mW
- Tần số truyền: 315Mhz hoặc 433Mhz
- Một ăng ten ngoài: lõi đơn 25cm
- Header từ trái → phải: (DATA; VCC; GND)
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:
Nhấn vào đây để tải thư viện RadioHead.
- Giải nén thư viện RadioHead .
- Di chuyển thư mục Radiohead vào thư viện Arduino IDE.
- 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.
Kết nối & Code
Sơ đồ kết nối module thu với Arduino
Sơ đồ kết nối module thu |
Code Arduino Receiver
#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);
}
}
Sơ đồ kết nối module phát với Arduino
Sơ đồ kết nối module phát |
Code Arduino Transmitter
#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.
Nhận xét