我所知道的無線通訊設備分為這么幾種類型:
1.藍牙發送數據
2.wifi發送數據
3.nRF24L01模塊發送數據
4.433MHZ模塊(單向通訊)
今天我介紹一下433MHZ模塊在兩塊arduino uno開發板上實現通訊
發射器:連接示意圖如下
模塊有三個連接:
VCC:可以是3-12V的直流電壓(電壓要和接送器匹配,5V-5V或者其他anyway)
GND:連接板子上的GND
DATA OUT:連接板子的PIN 12
接收器:示意連接如下圖
模塊有三個連接:
VCC:可以是3-12V的直流電壓(電壓要和接送器匹配,5V-5V或者其他anyway)
GND:連接板子上的GND
DATA OUT:連接板子的PIN 11
下面是代碼區域:
發射器代碼
/* 433 MHz RF Module Transmitter Demonstration 1 RF-Xmit-Demo-1.ino Demonstrates 433 MHz RF Transmitter Module Use with Receiver Demonstration 1 DroneBot Workshop 2018 https://dronebotworkshop.com */ // Include RadioHead Amplitude Shift Keying Library #include <RH_ASK.h> // Include dependant SPI Library #include <SPI.h> // Create Amplitude Shift Keying Object RH_ASK rf_driver; void setup() { // Initialize ASK Object rf_driver.init(); } void loop() { const char *msg = "Welcome to the Workshop!"; rf_driver.send((uint8_t *)msg, strlen(msg)); rf_driver.waitPacketSent(); delay(1000); }
接收器代碼
/* 433 MHz RF Module Receiver Demonstration 1 RF-Rcv-Demo-1.ino Demonstrates 433 MHz RF Receiver Module Use with Transmitter Demonstration 1 DroneBot Workshop 2018 https://dronebotworkshop.com */ // Include RadioHead Amplitude Shift Keying Library #include <RH_ASK.h> // Include dependant SPI Library #include <SPI.h> // Create Amplitude Shift Keying Object RH_ASK rf_driver; void setup() { // Initialize ASK Object rf_driver.init(); // Setup Serial Monitor Serial.begin(9600); } void loop() { // Set buffer to size of expected message uint8_t buf[24]; uint8_t buflen = sizeof(buf); // Check if received packet is correct size if (rf_driver.recv(buf, &buflen)) { // Message received with valid checksum Serial.print("Message Received: "); Serial.println((char*)buf); } }
arduino庫如下:
鏈接:https://pan.baidu.com/s/1_jWYNHKuXuSTUG3Br0XaBQ
提取碼:7hm6
庫文件導入步驟:
現在打開你的Arduino IDE。轉到項目下拉菜單,然后打開加載庫子菜單。選擇添加ZIP庫
將打開一個對話框,允許您導航到放置RadioHead ZIP文件的位置。找到該文件並選擇它。
該庫將安裝到您的Arduino IDE中。執行此操作后,您可能需要重新啟動IDE。
現在,RadioHead已成為Arduino IDE的一部分,您已准備好進行編碼。