當(dāng)使用 Arduino 進(jìn)行藍(lán)牙通信時,我們可以輕松地實(shí)現(xiàn)與其他藍(lán)牙設(shè)備之間的數(shù)據(jù)交換。藍(lán)牙通信在各種物聯(lián)網(wǎng)和遠(yuǎn)程控制應(yīng)用中非常有用,因為它提供了無線連接和簡便的數(shù)據(jù)傳輸。在本篇博客中,我們將介紹如何在 Arduino 上設(shè)置藍(lán)牙通信,并進(jìn)行基本的數(shù)據(jù)傳輸。
1. 介紹
藍(lán)牙通信是一種無線通信技術(shù),用于在短距離范圍內(nèi)傳輸數(shù)據(jù)。在 Arduino 項目中,我們可以使用藍(lán)牙模塊與其他設(shè)備進(jìn)行通信,如智能手機(jī)、電腦或其他支持藍(lán)牙的設(shè)備。這樣,我們可以通過藍(lán)牙通信在 Arduino 和其他設(shè)備之間傳輸數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程控制、傳感器數(shù)據(jù)監(jiān)測等功能。
2. 準(zhǔn)備材料
Arduino 開發(fā)板(如 Arduino Uno)
藍(lán)牙模塊(hc05,或者h(yuǎn)c08)
杜邦線和面包板
電腦或智能手機(jī)
3. 接線
**藍(lán)牙模塊的 VCC 引腳連接到 Arduino 的 5V 引腳。
藍(lán)牙模塊的 GND 引腳連接到 Arduino 的 GND 引腳。
藍(lán)牙模塊的 TX 引腳連接到 Arduino 的 10 引腳。
藍(lán)牙模塊的 RX 引腳連接到 Arduino 的 11 引腳。**
4. 代碼
#include <SoftwareSerial.h>
SoftwareSerial blue(10, 11); // RX, TX
void setup() {
Serial.begin(9600);//初始化 Arduino 的硬串口
blue.begin(9600); // 初始化軟串口與藍(lán)牙模塊的通信
pinMode(13,OUTPUT);
}
void loop() {
if (blue.available() > 0) {
char receivedChar = blue.read();
if (receivedChar == '1'){
digitalWrite(13,HIGH);
Serial.println("led on");
}
else if(receivedChar == '2'){
digitalWrite(13,LOW);
Serial.println("led off");
}
Serial.print("Received Data: ");
Serial.println(receivedChar);
}
}
這一個基本的 Arduino 藍(lán)牙通信示例程序。它使用了軟串口庫(SoftwareSerial)來與藍(lán)牙模塊進(jìn)行通信,并控制 Arduino 板上的 LED。
在 setup() 函數(shù)中,我們初始化了 Arduino 的硬串口(Serial)和軟串口(blue)的通信波特率為 9600。我們還將引腳 13 設(shè)置為輸出,以控制連接到該引腳的 LED。
在 loop() 函數(shù)中,我們檢查藍(lán)牙模塊是否有可用數(shù)據(jù)。如果有可用數(shù)據(jù),我們讀取接收到的字符,并根據(jù)接收到的字符來控制 LED 的狀態(tài)。如果接收到字符 ‘1’,則將引腳 13 的電平設(shè)置為高電平(點(diǎn)亮 LED),并在串口監(jiān)視器中打印 “l(fā)ed on”。如果接收到字符 ‘2’,則將引腳 13 的電平設(shè)置為低電平(關(guān)閉 LED),并在串口監(jiān)視器中打印 “l(fā)ed off”。無論接收到的字符是什么,我們都會在串口監(jiān)視器中打印 "Received Data: " 和接收到的字符。
這樣,當(dāng)您通過藍(lán)牙發(fā)送字符 ‘1’ 到 Arduino 時,LED 將點(diǎn)亮,并在串口監(jiān)視器中顯示 “l(fā)ed on”。當(dāng)您發(fā)送字符 ‘2’ 到 Arduino 時,LED 將關(guān)閉,并在串口監(jiān)視器中顯示 “l(fā)ed off”。接收到的字符也將打印到串口監(jiān)視器中。
請確保您正確連接了藍(lán)牙模塊和 LED,并將藍(lán)牙模塊與 Arduino 的軟串口引腳(10 和 11)連接。同時,請確保串口監(jiān)視器的波特率設(shè)置與代碼中的波特率(9600)相匹配。
這是一個簡單的示例,您可以根據(jù)自己的需求進(jìn)行擴(kuò)展和修改。希望這可以幫助您實(shí)現(xiàn)基本的 Arduino 藍(lán)牙通信功能。
5.測試
1.將 Arduino 開發(fā)板連接到電腦,并上傳代碼到 Arduino。
2.打開串口監(jiān)視器,設(shè)置波特率為 9600。
3.打開藍(lán)牙設(shè)備(如智能手機(jī))的藍(lán)牙設(shè)置,并搜索附近的藍(lán)牙設(shè)備。
4.找到并連接到 Arduino 的藍(lán)牙模塊。
5.在串口監(jiān)視器中輸入一些字符,并觀察藍(lán)牙設(shè)備是否接收到相同的字符,并將其顯示出來。
6.在藍(lán)牙設(shè)備上發(fā)送一些字符,并觀察串口監(jiān)視器是否接收到相同的字符,并將其顯示出來文章來源:http://www.zghlxwxcb.cn/news/detail-719163.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-719163.html
在這里寫入數(shù)字“1”打開LED燈,輸入數(shù)字“2”關(guān)閉LED燈
到了這里,關(guān)于Arduino藍(lán)牙模塊與手機(jī)通信---實(shí)現(xiàn)藍(lán)牙控制LED的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!