Module thu phát RF không dây (cặp)

Mã số sản phẩm : 1701091
35.000₫


Module thu phát RF không dây (cặp)

Thông số kỹ thuật:
- Điện áp hoạt động: DC5V
- Dòng Hoạt Động (mA): 4mA 
- Điều Chế: AM (OOK) 
- Nhiệt độ làm việc: -10 ℃ ~ 70 ℃ 
- Độ Nhạy (dBm):-105dB

- Tần số hoạt động (MHz): 433 MHz 
- Kích thước (LWH): 30x14x7MM

Thứ tự chân:
1. VCC: Nguồn cung cấp
2. DATA: Dữ liệu nhận
3. DATA: Dữ liệu nhận
4. GND: Mass
Note:
- Khoảng cách không có Anten là 20Cm. Nếu bạn cần khoảng cách xa, bạn phải thêm Anten = 1/4 bước sóng. Sử dụng chiều dài Anten cho 315Mhz là 23Cm, Cho 433Mhz là 17Cm. Điện trở nội của dây là 50R (Ohm).
Module RF truyền nhận không dây (cặp)
Truyền tín hiệu với modul RF 433 Mhz
Với cuộc sống hiện đại thì việc truyền tín hiệu bằng sóng Radio chắc hẳn đã không còn xa lạ đối với các bạn. Ứng dụng vào cuộc sống là vô cùng phong phú. Bạn đã bao giờ tự muốn làm 1 chiếc oto điều khiển từ xa?  Hôm nay mình xin hướng dẫn cơ bản về bộ module thu phát tín hiệu.
Chuẩn bị 
1 :  Bo mạnh chính Arduino uno 3 ( 2 chiếc )
2 : 1 Bộ Module RF 433 Mhz 
3 : Mạnh test và đén led (x3)
LẮP MẠCH
Transmitter module: là cái module nhỏ hơn đó, gồm 3 chân: từ trái qua phải: DATA (hoặc ATAD), VCC, GND. 
Transmitter module
Arduino
DATA
D 8
VCC
5V
GND
GND
 
Receiver module: là cái to hơn, gồm 4 chân: từ trái qua phải: GND, DATA, DATA, VCC. (chúng ta chỉ dùng 1 trong 2 chân DATA này)
Transmitter module
Arduino
DATA
D8
VCC
5V
GND
GND
 
Các bạn tiến hành lắp mạnh như trên 
LẬP TRÌNH
Để sử dụng RF module 1 cách dễ dàng hơn, chúng ta sẽ download thư viện VirtualWire tại link sau: http://www.mediafire.com/download/arifhobvq12772i/thư_viện_VirtualWire-1.27.zip
Sau đó, các bạn mở Arduino IDE, chọn Sketch/ Import Library.../ Add Library...  và chọn vào file .zip vừa tải về để cài đặt thư viện.
Mình sẽ gửi lệnh từ Transmitter đến Receiver để điều khiển bật/tắt các LED.
Lệnh sẽ có cú pháp: "number STATE"
VD: 1 ON ===> led đỏ sáng, 2 OFF ===> led xanh tắt, 3 ON ===> led vàng sáng, A ON ===> bật tất cả led, A OFF ===> tắt tất cả led,...
Các bạn kết nối led vào bộ thu nhé . Chân dương vào các vị trí Pin 5 -6-7
Nhập code bên dưới vào gõ lệnh trực tiếp .

Transmitter (tương tự như ví dụ trên):

#include <VirtualWire.h>

void setup()
{
  Serial.begin(9600);
  Serial.println("Ready.........");
  vw_set_ptt_inverted(true);
  vw_setup(1024);
  vw_set_tx_pin(8);
}

void loop()
{
  char text[20] = "";
  byte i = 0;
  while (Serial.available() == 0)
  {
    // nothing
  }
  while (Serial.available() > 0)
  {
    char ch = Serial.read();
    text[i] = ch;
    i++;
    delay(5);
  }
  Serial.print("sent: ");
  Serial.println(text);
  vw_send((byte *)text, sizeof(text));
  vw_wait_tx();
  delay(100);
  
}

Receiver:

#include <VirtualWire.h>

byte msg[VW_MAX_MESSAGE_LEN];
byte msgLen = VW_MAX_MESSAGE_LEN;
const int RED = 7; // led đỏ
const int GREEN = 6; // led xanh
const int YELLOW = 5; // led vàng
String text = ""; // biến String lưu dữ liệu 
void setup()
{
  Serial.begin(9600);
  Serial.println("READY..........");
  pinMode(RED, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(YELLOW, OUTPUT);
  vw_setup(1024);
  vw_set_rx_pin(8);
  vw_rx_start();
}
/* select */
void select(byte number, byte name)
{ 
  // lệnh có dạng "number STATE", VD: 1 ON, 2 OFF, 3 ON...
  // i bắt đầu tại 2 để bỏ qua "number" và "khoang trang"
  // bắt đầu kiểm tra được "STATE" luôn
  for (int i = 2; i < msgLen; i++) 
  {
    text += char(msg[i]);
  }
  Serial.print("got: "); // in kết quả ra cửa sổ Serial
  Serial.print(number);
  Serial.print("-");
  Serial.println(text);
  /* nếu "STATE" = ON ==> bật, nếu "STATE" = OFF ==> tắt*/
  if (text == "ON")
  {
    digitalWrite(name, 1);
  }
  else if (text == "OFF")
  {
    digitalWrite(name, 0);
  }
}
/* select All*/
void selectAll()
{
  for (int i = 2; i < msgLen; i++)
  {
    text += char(msg[i]);
  }
  Serial.print("got: ALL");
  Serial.print("-");
  Serial.println(text);
  if (text == "ON")
  {
    digitalWrite(RED, 1);
    digitalWrite(GREEN, 1);
    digitalWrite(YELLOW, 1);
  }
  else if (text == "OFF")
  {
    digitalWrite(RED, 0);
    digitalWrite(GREEN, 0);
    digitalWrite(YELLOW, 0);
  }
}
void loop()
{
  
  if (vw_get_message(msg, &msgLen))
  {
    if (msg[0] == '1')
    {
      select(1, RED);
    }
    else if (msg[0] == '2')
    {
      select(2, GREEN);
    }
    else if (msg[0] == '3')
    {
      select(3, YELLOW); 
    }
    else if (msg[0] == 'A')
    {
      selectAll();
    }
  }
  text = ""; // reset biến text
}

Sản phẩm liên quan