在本教程中,我們將 XBee 模塊與 Arduino Uno 板連接。與 Arduino 板連接的 XBee 將充當接收器,它將與使用 Explorer Board 與筆記本電腦串行連接的其他 XBee 模塊進行無線通信。因此,讓我們進一步探索使用 XBee 進行 Arduino 無線通信。
硬件要求
1 x Arduino Uno
2 x XBee Pro S2C 模塊(可以使用任何其他型號)
1 x Xbee 瀏覽器板(可選)
1 x Xbee 分線板(可選)
USB 電纜
發光二極管
使用 XCTU 配置 XBee 模塊
正如我們在之前的教程中了解到的,XBee 模塊可以充當協調器、路由器或終端設備,但需要將其配置為在所需模式下工作。因此,在將XBee 模塊與 Arduino 一起使用之前,我們必須使用 XCTU 軟件配置這些模塊。
要將 XBee 模塊與筆記本電腦連接,需要使用 USB 轉串口轉換器或專門設計的資源管理器板。只需將 XBee 模塊連接到 Explorer 板,然后使用 USB 電纜將其插入筆記本電腦。
如果您沒有任何轉換器或資源管理器板,則可以將 Arduino 板用作 USB 轉串口設備,可以輕松與 XBee 和筆記本電腦通信。只需在 Arduino 板上上傳空白草圖,現在它就可以像 USB 轉串口轉換器一樣工作了。
電路圖中顯示了將ZigBee 模塊與 Arduino連接的連接。
連接:
XBee 的 Tx (pin2) -》 Arduino 板的 Tx
Xbee 的 Rx(pin3) -》 Arduino 板的 Rx
Xbee 的 Gnd(pin10) -》 Arduino 板的 GND
Xbee 的 Vcc (Pin1) -》 Arduino 板的 3.3v
在本教程中,Explorer board 用于配置 XBee 模塊。
從此鏈接下載 XCTU 軟件并安裝。下載并安裝 XCTU 軟件后,打開它并確保您的 XBee 模塊連接正確。在設備管理器中檢查 Arduino 板的 COM 端口。
第 1 步:-現在,單擊搜索按鈕。這將向您顯示與您的筆記本電腦連接的所有射頻設備。在我們的例子中,它將只顯示一個 XBee 模塊。
第 2 步:- 選擇 Explorer 板/Arduino 板的串行端口,然后單擊下一步。
第 3 步:- 在下一個窗口中,設置 USB 端口參數,如下所示,然后單擊完成。
第 4 步:- 選擇發現的設備,然后單擊添加所選設備。此過程會將您的 XBee 模塊添加到 XCTU 儀表板。
第 5 步:- 現在,您可以在此窗口中配置您的 XBee 模塊。使用 AT 命令或手動輸入數據。如您所見,左側面板上顯示 R 表示 Xbee 處于路由器模式。我們必須使它成為發送器部分的協調器。
首先,通過單擊更新固件來更新固件。
第 6 步:- 選擇 XBee 模塊背面提供的設備產品系列。選擇下面突出顯示的功能集和固件版本,然后單擊更新。
第 7 步:- 現在,您必須提供 ID、MY 和 DL 數據才能與其他 XBee 建立連接。兩個模塊的 ID 保持不變。只有 MY 和 DL 數據交換,即接收器 XBee 的 MY 變為發送器 XBee(協調器)的 DL,接收器 XBee 的 DL 變為發送器 XBee 的 MY。將 CE 設為Coordinator,然后點擊Write按鈕。如下所示。
步驟8:- 將上述數據寫入發射器部分后,將其從探索板中拔出并插入第二個XBee模塊。重復與上述相同的過程,僅更改 DL、MY 和 CE。因為我們將第二個 XBee 作為終端設備,所以在 CE 下拉菜單中,選擇終端設備并點擊寫入按鈕。
第 9 步:- 現在,我們的 XBee 模塊已準備好與 Arduino 板連接。我們將使用 Arduino 板將發射器 XBee 連接到筆記本電腦和接收器 XBee。然后使用筆記本電腦向接收器部分發出命令。
接收器部分的電路圖:
連接:
XBee 的 Tx (pin2) -》 Arduino 板的 Rx
Xbee 的 Rx(pin3) -》 Arduino 板的 Tx
Xbee 的 Gnd(pin10) -》 Arduino 板的 GND
Xbee 的 Vcc (Pin1) -》 Arduino 板的 3.3v
如果您使用 Arduino 板將發射器 ZigBee 與筆記本電腦連接,則連接將與編程 ZigBee 相同。
使用 Arduino 編程和測試 XBee 通信
現在,我們將為接收器 Arduino 編寫一個代碼,以在接收器部分接收到“a”時打開 LED,并在接收到“b”時閃爍 LED,對于其他字符 LED 將保持關閉。
代碼簡單易懂。我們將使用Serial.available()函數檢查傳入的字符,并使用 Serial.read() 將該字符存儲在變量中;函數并將其與“a”和“b”匹配。如果匹配正確,則執行條件中指定的任務。最后給出了Receiver部分的完整代碼。上傳接收器部分 Arduino 中的代碼。上傳前移除 XBee 的 Tx 和 Rx 線。
現在,我們都準備好測試我們的發射器和接收器了。為了向發射器部分發出命令,我們將使用 XCTU 的控制臺終端。單擊設置選項附近的控制臺圖標。然后,單擊打開按鈕將 XBee 連接到筆記本電腦。
在控制臺日志中輸入“a”。您會看到 LED 將亮起 2 秒鐘,然后輸入“b”以使 LED 閃爍 5 次。
您還可以將發射器 XBee 連接到 Arduino 板,只需稍微更改接收器代碼。代替 Serial.read() 函數,使用 Serial.println() 函數發送字符。
國際領導= 13;
收到的int = 0;
詮釋我;
無效設置(){
序列.開始(9600);
pinMode(LED,輸出);
}
void loop() {
if (Serial.available() > 0) {
收到 = Serial.read();
if (received == 'a'){
digitalWrite(led, HIGH);
延遲(2000);
數字寫入(領導,低);
}
else if (received == 'b'){
for(i=0;i<5;i++){
digitalWrite(led, HIGH);
延遲(1000);
數字寫入(領導,低);
延遲(1000);
}
}
}
}
?
評論
查看更多