2022年1月26日 星期三

[ARDUINO] 315/433MHz RF模組實驗

1. 硬體

發射模組

DAT:資料輸入

模組與ARDUINO接線
發射模組腳DAT<-ARDUINO腳10

接收模組

DAT:資料輸出

模組與ARDUINO接線
接收模組腳DAT->ARDUINO腳9

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


使Arduino Nano Every在ARDUINO IDE支援ATmega4809 48pin包裝

軟體環境 ARDUINO IDE 2.3.2 板函式庫MegaCoreX 1.1.2, https://github.com/MCUdude/MegaCoreX ARDUINO IDE 選擇48pin,編譯時會產生以下錯誤 修正錯誤 修改C:\Users\<your_acc...