1. 硬體
發射模組
DAT:資料輸入
模組與ARDUINO接線
發射模組腳DAT<-ARDUINO腳10
接收模組
2. 軟體
安裝VirtualWire,以下網址下載:
http://www.airspayce.com/mikem/arduino/VirtualWire/index.html
目前最新版本為VirtualWire-1.27.zip
啟動ARDUINO IDE,草稿碼->匯入程式庫->加入.ZIP程式庫,選擇VirtualWire-1.27.zip後點選開啟,IDE即會自動加入
發送端程式
#include <VirtualWire.h>
void setup()
{
vw_set_tx_pin(10); //設定傳送腳位
vw_setup(2000); //每秒位數
}
void loop()
{
send("Hello");
delay(1000);
}
void send (char *message)
{
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx(); //等待整個消息傳送完畢
}
接收端程式
#include <VirtualWire.h>
byte message[VW_MAX_MESSAGE_LEN]; // 用於存儲傳入消息的緩衝區
byte messageLength = VW_MAX_MESSAGE_LEN; // 消息的大小
void setup()
{
Serial.begin(9600);
Serial.println("Device is ready");
vw_set_rx_pin(9); //設定接收腳位
vw_setup(2000); //每秒位數
vw_rx_start(); //啟動接收器
}
void loop()
{
if (vw_get_message(message, &messageLength)) //非阻塞
{
Serial.print("Rx: ");
for (int i = 0; i < messageLength; i++)
{
Serial.write(message[i]);
}
Serial.println();
}
}
結果
接收端每隔1秒收到Hello