11:28 AM
4

Truyền tín hiệu không dây  với module radio frequence 433M





PHẦN CỨNG

  1. Board Arduino x2 ( mình sử dụng Arduino UNO R3 và Arduino Leonardo).
  2. Module RF 433 Mhz ( gồm 1 transmitter module và 1 receiver module) hoặc 315MHz.
  3. Breadboard x2.
  4. LED xanh, vàng, đỏ.
  5. Điện trở (220 - 560 ôm)
  6. pin 9V x2.
  7. Dây dẫn.

GIỚI THIỆU

MODULE RF 433Mhz: đây là 1 module giá rẻ, dùng sóng radio để truyền tín hiệu giữa bộ phát (transmitter module) và bộ thu (receiver module). 
Mẹo: Để tăng hiệu quả và khoảng cách khi sử dụng module RF, các bạn có thể chế 2 cái ăngten bằng dây đồng cuốn thành lò xo rồi gắn vào ăngten của transmitter và receiver.
như module của mình:

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 moduleArduino
DATAdigital Pin
VCC5V
GNDGND
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 moduleArduino
DATAdigital Pin
VCC5V
GNDGND
Chúng ta sẽ tìm hiểu cách truyền dữ liệu với RF module ngay bây giờ.

LẮP MẠCH

Trong Transmitter module, mình sử dụng pin 8 để phát tín hiệu.
Trong Receiver module, mình cũng sử dụng pin 8 để để nhận tín hiệu.

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.
Ở Transmitter module, mình sẽ nhận dữ liệu từ cổng Serial, sau đó gửi sang Receiver module.
Transmitter:
#include <VirtualWire.h> // khai báo thư viện VirtualWire

void setup()
{
  Serial.begin(9600);// giao tiếp Serial với baudrate 9600
  Serial.println("Ready.........");
  vw_set_ptt_inverted(true);// yêu cầu cho RF link modules
  vw_setup(1024);// cài đặt tốc độ truyền tín hiệu
  vw_set_tx_pin(8);// cài đặt chân digital để phát tín hiệu
}

void loop()
{
  char text[20] = "";// khai báo string dạng array
  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));// gửi tín hiệu đi
  vw_wait_tx();
  delay(100);
}
Receiver:
#include <VirtualWire.h> // khai báo thư viện VirtualWire

byte msg[VW_MAX_MESSAGE_LEN];// biến lưu dữ liệu nhận được
byte msgLen = VW_MAX_MESSAGE_LEN;

void setup()
{
  Serial.begin(9600);
  Serial.println("READY..........");
  vw_setup(1024); // cài đặt tốc độ truyền tín hiệu
  vw_set_rx_pin(8);// cài đặt chân digital để nhận tín hiệu
  vw_rx_start();// bắt đầu nhận tín hiệu
}

void loop()
{
  if (vw_get_message(msg, &msgLen)) // nếu có tín hiệu được truyền đến
  {
    Serial.print("got: ");
    for (int i = 0; i < msgLen; i++)
    {
      Serial.write(msg[i]);// in ký tự ra màn hình
    }
    Serial.println();
  }
}
Chú ý: Khi upload 2 đoạn code trên lên 2 boards Arduino, các bạn cần bật 2 cửa sổ Arduino IDE riêng biệt (tức là phải 2 lần double click vào biểu tượng Arduino IDE), vì mỗi board sẽ có 1 cổng COM riêng, nên các bạn chú ý vào Tools / Serial Port... để chọn đúng cổng COM cho board.
Sau khi upload code lên 2 boards Arduino, các bạn mở 2 cửa sổ Serial của 2 boards, rồi nhập vài ký tự vào cửa sổ Serial của Transmitter, KQ sẽ tương tự thế này:

GIẢI THÍCH

- Transmitter sẽ nhận dữ liệu từ Bàn phím qua cổng Serial, sau đó Transmitter sẽ gửi dữ liệu này đến Receiver bằng sóng radio, khi Receiver nhận được tín hiệu, nó sẽ giải mã và in ra cửa sổ Serial. 
- Theo mặc định, thư viện VirtualWire chọn pin 12 để phát tín hiệu, pin 11 để nhận tín hiệu. Các bạn có thể tùy chọn 1 chân digital bất kỳ để gửi và nhận tín hiệu với dòng lệnh: vw_set_tx_pin(pin) đối với transmitter và vw_set_rx_pin(pin) đối với Receiver.
- Các keywords:
  • vw_set_ptt_inverted(true): cần phải có đối với RF link modules, có thể không cần thiết đối với các loại modules khác.
  • vw_setup(speed): thiết lập tốc độ truyền dữ liệu giữa Transmitter và Receiver, đơn vị: bits/s. Chú ý: tốc độ của Transmitter và Receiver phải bằng nhau.
  • vw_set_tx_pin(pin): thiết lập chân phát tín hiệu.
  • vw_set_rx_pin(pin): thiết lập chân nhận tín hiệu.
  • vw_rx_start(): bắt đầu nhận tín hiệu.
  • vw_send((byte *)data, sizeof(data)): hàm gửi tín hiệu đi, gồm 2 tham số là:
  1. (byte *)data: biến con trỏ (byte *)data, trong đó: data là biến chứa dữ liệu cần được truyền đi, biến data cần được khai báo là biến mảng. Cụ thể ở ví dụ trên là biến text[20].
  2. sizeof(data): kích thước của dữ liệu được truyền đi, tính theo byte. Chú ý: nếu bạn khai báo string kiểu con trỏ, VD: const char *text = "hello"; lúc này bạn sẽ phải dùng strlen(text) thay vì sizeof(text).
  • vw_get_message(msg, &msgLen): hàm nhận tín hiệu, sẽ trả về giá trị true khi có tín hiệu được gửi tới, gồm 2 tham số là:
  1. msg: biến con trỏ msg, trong đó: msg là biến chứa dữ liệu vừa nhận được, biến msg cần được khai báo là biến mảng. Ở ví dụ trên là biến msg[VW_MAX_MASSAGE_LEN].
  2. &msgLen: địa chỉ của biến msgLen, biến msgLen chứ kích thước của dữ liệu nhận được.
  • vw_wait_tx(): đợi trước khi truyền tín hiệu tiếp theo.
  • VW_MAX_MASSAGE_LEN: thư viện VirtualWire đã define sẵn kích thước tối đa của dữ liệu là 30 bytes.
Bây giờ, mình sẽ sử dụng sóng radio để điều khiển các thiết bị điện tử. 

LẮP MẠCH 

Transmitter
Receiver

LẬP TRÌNH 

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,...
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
}
Sau khi upload thành công và test thử, chúng ta sẽ có cửa sổ Serial như sau:
Đây là 1 số hình ảnh về project của mình

LỜI KẾT

Kết hợp với rơle, các bạn hoàn toàn có thể điều khiển từ xa các thiết bị điện trong gia đình thông qua máy vi tính. 
Chúc các bạn thành công!
Mọi thắc mắc và sai sót các bạn cứ comment nhé!^^
Để hiểu rõ hơn về sóng radio, các bạn có thể tham khảo tại bài viết sau: 
Sóng vô tuyến là gì và những sức mạnh của nó khi kết hợp với Arduino

     Giới thiệu: Bạn đã từng chơi những chiếc xe điều khiển từ xa và rất muốn tạo ra một chiếc xe như vậy? Với tôi, đó đã từng là động lực thúc đẩy tôi nghiên cứu Arduino, vậy còn bạn thì sao?

     Định nghĩa về sóng đã được giải thích rất kĩ trong sách giáo khoa Vật lí lớp 12. Tuy nhiên, những kiến thức này chứa đựng khá nhiều kiến thức hàn lâm (kiến thức dùng trong nghiên cứu vật lý). Vì vậy, để bạn dễ dàng tiếp cận được khái niệm sóng một cách đơn giản nhất có thể, nhưng vẫn nắm được hết các nguyên lý của nó, tôi sẽ đi theo một hướng khác thiên về ứng dụng sóng và liên hệ thực tế để các bạn mong chóng nắm được bản chất vấn đề. Cuối cùng, điều quan trọng nhất mà tôi đặt ra ở bài này là tầm quan trọng của sóng trong Arduino.

Sóng vô tuyến là gì ?

Khi mới nghiên cứu về sóng vô tuyến (lúc ấy tôi học lớp 11), tôi thấy khái niệm này rất là lạ nhưng cũng lại rất là quen. Cái thân quen ở đây đó là việc tôi nghe rất nhiều về sóng vô tuyến, và cái lạ là tôi chẳng biết nó là gì ngoài sóng truyền tín hiệu cho xe điều khiển từ xa và ti vi.
Ban đầu, tôi tự hỏi: "Tại sao lại là sóng vô tuyến" mà không phải là một thứ gì đấy vô tuyến, vì tôi nghĩ, sóng (biển) nó chả liên quan gì đến vật lý cả.
Chữ "" thì tôi có thể hiểu được ý nó là không, nghĩa là sóng vô tuyến không thể nhìn thấy (bằng mắt thường) được. Còn chữ "tuyến" thì tôi hiểu là "hướng". Và nếu ghép hai chữ "vô tuyến" lại thì ta sẽ hiểu ý nghĩa là "không có hướng nào" ?!?. "Vô lý, vì có truyền từ điều khiển của tôi đến chiếc xe đồ chơi mà?". Và ngẫm một lúc, tôi hiểu rằng, chữ "" không chỉ có nghĩa là "không" mà còn có nghĩa là "mọi". Vì vậy, khái niệm "vô tuyến" sẽ có nghĩa là mọi hướng.
Vậy còn từ "sóng" nó thì liên quan gì đến vật lý chứ? Sau một hồi tìm kiếm trên Google, suy nghĩ của tôi đã dần dần được khai sáng:
  1. Sóng không tương đương với sóng biển (Có nghĩa là từ sóng biển ta sẽ suy ra bản chất nó là sóng, còn "sóng" không thể suy ra ngay là sóng biển được, vì có rất nhiều loại sóng).
  2. Sóng, bản chất của nó chính là những dao động. Ví dụ: Khi bạn cột 2 đầu của một dây chun (dây xu) vào 2 cây gỗ và "búng", nạn xem hình sau để hiểu được sóng là gì, chính những gì bạn rút ra sẽ dễ nhớ và giúp bạn nhớ lâu hơn.
"
Kết luận: Kết hợp lại những khái niệm trên, tôi nghĩ rằng, sóng vô tuyến là một dạng dao động sóng, không nhìn thấy được và được lan tỏa theo mọi hướng. Tiếng Việt thật hay, rất ngắn nhưng hàm chứa nhiều điều, đến nỗi nó bao hàm cả một định nghĩa, đúng không nào?

Sóng vô tuyến hoạt động như thế nào ?

Như đã tiềm hiểu ở trên, bạn đã nắm được sóng vô tuyến là gì. "À, mà nó hoạt động ra sao?", bạn đang nghĩ như vậy phải không? Đừng lo, tôi sẽ giúp bạn. Để hiểu kĩ càng và nắm hết được mọi "kiến thức" về sóng, tôi khuyên bạn nên đọc hết chương "Sóng" trong sách Vật lý 12. Nhưng cái quan trong ở bài này, như đã nói ở trên, chúng ta không đi sâu vào các định nghĩa, phép tính mà là cách dùng của nó. Vì vậy, tôi sẽ trả lời câu hỏi này bằng cách đơn giản nhất, ai đọc vào cũng có thể hiểu ngay được nguyên lý của nó.
"Khi bạn cột 2 đầu của một dây chun (dây xu) vào 2 cây gỗ và búng", bạn sẽ tạo ra sóng
Trong điện tử, một môi trường con người không tiếp xúc trực tiếp được mà phải tiếp xúc với nó thông qua dòng diện, vì vậy, bạn sẽ tạo sóng bằng điện.
Vậy, nó gửi tín hiệu như thế nào? Đơn giản thôi, bạn hãy xem rằng, khi sử dụng module phát sóng thì mọi dữ liệu của bạn sẽ được chuyển thành tín hiệu điện và sẽ được gửi đi trong không trung thông qua ănten.
Vậy làm sao, tôi thu được tín hiệu sóng vô tuyến. Sóng vô tuyến được truyền vào không trung, và càng đi xa nó càng rộng, vì vậy nó sẽ càng yếu đi. Để thu được sóng vô tuyến, bạn cần phải có một mạch thu sóng. Ăn ten của mạch thu sẽ dựa vào những dao động của sóng vô tuyến để tạo thành tín hiệu điện mà điện tử có thể hiểu được rồi từ đó dịch mã ra các giá trị.
Nếu như vậy lỡ có nhiều mạch phát và nhiều mạch thu thì sao, lúc này sẽ có chuyện gì xảy ra? Sóng có nhiều đại lượng đặc trưng cơ bản, trong đó có một đại lượng và bạn đã từng rất nhiều lần nghe qua, đó là tần số. Tần số nghĩa là số lần dao động trong 1 giây. Đại lượng này đặc trưng duy nhất cho mỗi mạch thu / phát sóng, nghĩa là mỗi mạch chỉ có thể truyền phát lẫn nhau khi nó cũng tần số. Ví dụ như xe điều khiển từ xa có tần số mạch phát = tần số mạch thu = 27MHz. Tần số trong truyền sóng thường rất lớn (từ 27Mhz - 5GHz) nên có rất nhiều tần số thoải mái cho bạn lựa chọn. Quay lại trọng tâm câu hỏi, nếu bạn sử dụng nhiều mạch phát và nhiều mạch thu thì có thể xảy ra 1 trong 2 trường hợp sau:
  • Nhiều mạch thu/phát khác tần số:
    • Lúc này thì bạn không cần lo lắng vì chỉ khi mạch thu đúng tần số của mạch phát thì mới truyền tin được. Nếu bạn có nhiều cặp thu phát vơi tần số khác nhau thì chẳng bao giờ bạn truyền tin sai lệch cả.
  • Nhiều mạch thu/phát cùng tần số: lúc này thì lại có 2 vấn đề con nảy sinh, nhưng không phải là khó để khắc phục
    • Nếu tôi gửi tín hiệu cho mạch A và mạch B cùng tần số, nhưng lúc thì mạch A, lúc thì mạch B, vậy có lỗi hay không? Trong truyền sóng, bạn có thể phát từ một module phát đến nhiều mạch thu. Thông thường, các module phát sẽ được kết nối với Arduino thông qua một thư viện, còn các module thu có thể dùng mạch thu có IC (không cần dùng Arduino, tự hoạt động độc lập), hoặc dùng mạch thu không IC (phải dùng thông qua thư viện của Arduino). Với loại thu có IC thì bạn có thể làm điều tôi vừa nói nhưng hơi phức tạp một tí, tôi sẽ nói ở bài sau, còn với loại thu không IC bạn sẽ sử dụng thư viện của Arduino với cấu trúc rẻ nhán để thực hiện các lệnh. Ví dụ: tôi sẽ gửi một dữ liệu là một số nguyên kiểu byte và...
      • mạch thu A sẽ làm đèn LED 13 của Arduino sáng nếu nó nhận giá trị <=100, ngược lại là tắt
      • mạch thu B sẽ làm đèn LED 13 của Arduino sáng nếu nó nhận giá trị > 100, ngược lại là tắt.
      • Như vậy, nếu tôi gửi giá trị 69 từ mạch thu thì đèn LED 13 của mạch A sẽ sáng còn mạch B sẽ tắt. Còn nếu tôi gửi giá trị 169 thì mạch A tắt còn mạch B tắt,...
    • Nếu tôi gửi từ 2 mạch phát đến 1 mạch thu thì như thế nào? Bạn KHÔNG THỂ gửi CÙNG MỘT LÚC từ 2 mạch phát đến một mạch thu được, vì lúc này, nó sẽ gây ra hiện tượng nhiễu, chẳng hạn mạch phát A gửi dữ liệu là 69 còn mạch phát B gửi dữ liệu là 169, như vậy mạch thu hoặc sẽ nhận được 69 hoặc sẽ nhận được 169 => nhiễu. Vì vậy, bạn cần phải canh thời gian sao cho khi mạch A gửi, bạn mạch B không gửi và ngược lại, nghĩa là chúng ta phải gửi tuần tự, KHÔNG ĐƯỢC GỬI MỘT LÚC.
Kết luận: Để truyền phát thông tin qua sóng vô tuyến chúng ta cần 2 module: 1 là thu, và 2 là phát. Tuỳ thuộc vào ứng dụng của ta mà ta lựa chọn tần số cho phù hợp. Những module có tần số cao thường truyền rất xa nhưng không "xuyên tường" được, trong khi đó các loại có tần số thấp hơn thì lại xuyên tường tốt. Cao và thấp ở đây, mình không dám định nghĩa, vì đó chỉ là suy nghĩ của mình, vì vậy mình xin đưa ra một ví dụ: bộ phát sóng Wifi mới nhất ở tần số 5GHZ truyền rất là xa (vài km) nhưng lại xuyên tường cực yếu, còn bộ phát Wifi ở tấn số 2.4GHz thì lại có khoảng cách thu sóng ổn định gần hơn nhưng được cái xuyên tường tốt,...
Có thể bạn sẽ đặt câu hỏi, nếu sóng Wifi (bản chất nó là sóng vô tuyến cả thôi) có tần số 2.4GHz thì sao điện thoại / máy tính lại bắt được nhiều sóng thế. Vâng, câu hỏi này rất hay, bởi vì, sóng Wifi có nhiều tần số khác nhau, và điểm chung của nó là gần bằng 2.4GHz (ví dụ: 2.39 GHz, 2.411 GHz,..) và bộ phận thu sóng Wifi có một chức năng khá hay là điều chỉnh, tìm và kết nối  (tiếng Anh là pair), vì vậy, nó sẽ quét hết các sóng có thể có của Wifi rồi chính bạn sẽ lựa chọn bộ phát để kết nối.

Ứng dụng của sóng vô tuyến trong thực tế

Nói đến sóng vô tuyến, tôi có thể kể cho các bạn nghe rất nhiều ứng dụng thực tế hay và thiết thực trong cuộc sống hàng ngày, đặc biệt trong lĩnh vực giải trí. Chẳng hạn như:
Xe điều khiển từ xa, tôi mê món này
Truyền hình ảnh vô tuyến
.... và còn rất nhiều ứng dụng khác nữa, trong đó đang chờ đợi ứng dụng của bạn

Sức mạnh của nó trong Arduino

Với Arduino, về căn bản, bạn có thể truyền mọi loại dữ liệu, từ số, chữ cho đến hình ảnh, âm thanh, video. Tất nhiên, mức độ khó sẽ tăng dần lên, và càng khó thì nó lại cần những bộ phận phức tạp. Thường thường, tôi hay sử dụng sóng vô tuyến để truyền tin điều khiển và dùng sóng wifi (bản chất nó là sóng vô tuyến) để truyền hình ảnh, âm thanh, video.
Nếu chỉ dựng lại ở việc truyền dữ liệu để điều khiển, thì mạch của tôi rất đơn giản, bạn chỉ cần một mạch thu, một mạch phát, 2 con Arduino, các linh kiện cần cho dự án của bạn và cuối cùng là tư duy lập trình thì đã có thể xây dựng cho mình một dự án truyền tin bá đạo rồi.
Mạch thu (trên) và mạch phát (dưới)
Còn nếu bạn muốn xây dựng một sản phẩm truyền tin có thể truyền được nhiều loại dữ liệu thì bạn phải xây dựng một mô hình bá đạo hơn trong đó phải xử dụng thêm các module wifi cho đến các máy tính mini-linux. Ví dụ, trong dự án mới nhất của mình (đến thời điểm hiện tại). Mình đã xây dựng một mô hình truyền tin qua Internet (tất nhiên trước đó phải liên lạc từ thu wifi đến phát wifi) và truyền tin qua sóng vô tuyến 2.4GHz. Và đây là mô hình của mình.
Kết luận: Về cơ bản, các sản phẩm của bạn sẽ CỰC KÌ bá đạo nếu sử dụng các công cụ truyền tin, hãy nghĩ đến một tương lai dây điện là một thứ gì đấy rất kém thẩm mĩ và trong tương lai mọi đồ dùng đều dùng sóng vô tuyến để giao tiếp với nhau. Theo mình, một thế giới điện tử thông minh, là thế giới không dây điện "ra ngoài"!

4 comments:

  1. cho em hỏi sao khi em cắm apc 320 vào thì k truyền nhận được kí tự ....nhưng lúc dùng 2 dây đấu tréo thì vẫn truyền bình thường

    ReplyDelete
  2. cho mình hỏi, sử dụng nhiều board gửi và nhận riêng biệt, cùng thời điểm có bị trộn không vậy

    ReplyDelete
  3. bác cho mình hỏi là,mình đang có đồ án muốn thực hiện như này: 1 arduino gắn module phát, 2 con arduino nữa mỗi con gắn module thu,mình muốn ở đây là làm thế nào để đk từng arduino riêng,ví dụ như con module phát gắn thêm nút nhấn hay cảm biến khói v.vv,khi có khói con arduino gắn module phát báo đk con arduino gắn module thu 1 sẽ tắt đèn còn con arduino gắn module thu 2 sẽ mở đèn.

    ReplyDelete

 

Lập trình

-

Arduino Hải Phòng

,