在使用 Arduino 做項(xiàng)目時(shí),我們總是需要將 Arduino 連接到 PC 以便將程序上傳到其中。但有時(shí)總是將電路板與 PC 連接起來非常不舒服,就好像它是一個(gè)機(jī)器人項(xiàng)目一樣,那么你總是必須將機(jī)器人移到 labtop 附近重新編程。這個(gè)問題可以通過對(duì) Arduino 進(jìn)行無線編程來解決。所以在這里我們正在構(gòu)建一個(gè)電路來使用藍(lán)牙模塊 HC-05 對(duì) Arduino 進(jìn)行無線編程。
使用的組件:
Arduino UNO
HC05藍(lán)牙模塊
穿孔板
男、女頭
跳線
1K、2.2K電阻
0.1uF電容
9V電池
HC-05 藍(lán)牙模塊
HC05 基本上是一個(gè)支持串行端口協(xié)議 (SPP) 的藍(lán)牙模塊,廣泛用于許多無線應(yīng)用中。HC05可用于主從模式切換,自由空間傳輸距離20-30米。我們之前用HC-05和其他藍(lán)牙模塊做了很多藍(lán)牙項(xiàng)目。
引腳:
引腳說明:
+5V: HC05 的電源引腳,可以給+5V。
GND:接地引腳。
TX:用作 UART 中的發(fā)送器引腳。
RX:用作 UART 中的接收器引腳。
EN/KEY: HC05 的使能引腳。它可以保持浮空狀態(tài),也可以連接到 3.3V 電源以啟用 HC05。如果它接地,則模塊將被禁用。它也用于在 AT 命令模式下制作 HC05。
STATE:狀態(tài)引腳,在未連接到任何設(shè)備時(shí)為低電平,在連接到任何設(shè)備時(shí)為高電平。
為 AT 命令編程 Arduino UNO:
首先,我們必須對(duì)Arduino 進(jìn)行編程以通過串行監(jiān)視器響應(yīng) AT 命令。程序很簡(jiǎn)單,附在本教程的最后,這里我們逐行解釋程序。
首先包含軟件串行庫的頭文件,并在 Arduino 中定義軟件串行的發(fā)送器和接收器引腳,在本例中為引腳 3 和 2。
#includeSoftwareSerial HC05(2,3);
接下來,在設(shè)置功能中,定義硬件串口和軟件串口的波特率。這里我們將它們分別取為 9600 和 38400。
無效設(shè)置() { 序列號(hào).開始(9600); Serial.println("輸入AT指令:"); HC05.開始(38400); }
在循環(huán)函數(shù)中,有兩個(gè)條件 - 一個(gè)是向 HC05 發(fā)出任何命令并將它們寫入 Arduino 串行監(jiān)視器。另一個(gè)條件是當(dāng) Arduino 串行監(jiān)視器發(fā)出任何命令時(shí),它會(huì)將它們發(fā)送到 HC05。
無效循環(huán)() { 如果 (HC05.available()) Serial.write(HC05.read()); if (Serial.available()) HC05.write(Serial.read()); }
AT命令模式下HC05的配置:
首先,按照下面的電路圖連接組件。然后按照以下步驟將模塊置于 AT 命令模式。
要進(jìn)入HC05的AT模式,我們需要使用KEY鍵。首先長(zhǎng)按按鍵直到模塊 LED 開始以 2 秒的間隔閃爍。如果 LED 每 2 秒開始閃爍,則表示模塊處于命令模式。我們現(xiàn)在可以使用 Arduino IDE 的串行監(jiān)視器向它發(fā)出 AT 命令。
如果模塊里面沒有按鍵,那么我們可以將模塊的KEY/EN引腳連接到3.3伏引腳,以將模塊切換到命令模式。
AT 命令配置 HC05 進(jìn)行無線編程:
將草圖上傳到 Arudino 后,以 9600 波特率打開串行監(jiān)視器,選擇 CR+NL,您應(yīng)該能夠向 HC-05 發(fā)送 AT 命令。
成功完成上述步驟后,現(xiàn)在發(fā)送相應(yīng)的 AT 命令來配置 HC05。在 Arduino 串行監(jiān)視器上一一發(fā)送以下 AT 命令,并返回 OK 響應(yīng)。否則,請(qǐng)重新檢查連接并重試。
在
這是HC05的基本測(cè)試命令。每次我們發(fā)送AT,它必須返回OK。
AT+ORGL
該命令將恢復(fù) HC05 的默認(rèn)設(shè)置。默認(rèn)設(shè)置為從模式,密碼=1234 和波特率=38400 位/秒。
AT+NAME= 電路文摘
此命令將設(shè)置 HC05 模塊的名稱。就我而言,我將其命名為“CIRCUIT DIGEST”。
AT+角色=0
此命令會(huì)將 HC05 配置為從屬模式。
AT+POLAR=1,0
此命令設(shè)置 PIO LED 驅(qū)動(dòng)配置。
AT+UART=115200,0,0
這會(huì)將波特率更改為 115200,停止位為 0,奇偶校驗(yàn)為 0。
AT+初始化
這將初始化模塊的 SPP 配置文件。
Arduino無線編程的電路連接
成功向 Arduino 發(fā)送 AT 命令后,只需刪除所有連接并按照下面的示意圖重建它。
在我的情況下,我將它焊接在穿孔板上,以便它可以輕松地安裝 Arduino 引腳并可以用作Arduino Shield。完成焊接后,如下圖所示:
然后按照下圖將這個(gè)屏蔽放在 Arduino 上,然后將 Arduino 連接到 9V 電池電源。
之后,在您的 PC 中搜索藍(lán)牙設(shè)置,然后單擊添加藍(lán)牙設(shè)備。這將掃描新設(shè)備,結(jié)果我們將獲得我們的藍(lán)牙設(shè)備。選擇設(shè)備并單擊下一步。點(diǎn)擊“輸入設(shè)備配對(duì)碼”選項(xiàng)。當(dāng)它要求輸入配對(duì)碼時(shí),輸入“1234”作為您的密碼。然后您將收到設(shè)備配對(duì)成功的確認(rèn)。
設(shè)備配對(duì)成功后,接下來的任務(wù)就是找出HC05藍(lán)牙模塊的COM口。為此,請(qǐng)搜索Change Bluetooth Settings,然后單擊選項(xiàng)卡COM Ports。這將顯示兩個(gè) COM 端口,一個(gè)用于傳入,另一個(gè)用于傳出。我們必須記下傳出的 COM 端口號(hào),因?yàn)槲覀冊(cè)谏蟼鞒绦驎r(shí)需要它。
最后一步是將示例程序無線上傳到 Arduino,以檢查這個(gè)Arduino 無線編程是否正常工作。為此,從 Arduino IDE 示例程序中選擇任何 Arduino 程序,這里我選擇了 LED 閃爍程序。在 board 中選擇 Arduino UNO,然后在 Port 中選擇正確的 COM 端口,如上圖所示。之后單擊上傳按鈕,它應(yīng)該成功上傳到您的 Arduino 板。
#include
SoftwareSerial HC05(2,3);
無效設(shè)置()
{
序列.開始(9600);
Serial.println("輸入AT指令:");
HC05.開始(38400);
}
void loop()
{
if (HC05.available())
Serial.write(HC05.read());
if (Serial.available())
HC05.write(Serial.read());
}
-
藍(lán)牙模塊
+關(guān)注
關(guān)注
30文章
582瀏覽量
55907 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187964 -
HC-05
+關(guān)注
關(guān)注
0文章
34瀏覽量
16986
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
開源資料HC-05藍(lán)牙模塊和Arduino入門參考方案
關(guān)于HC-05藍(lán)牙模塊的介紹
藍(lán)牙轉(zhuǎn)串口模塊HC-05怎么使用
HC-05 藍(lán)牙模塊 原理圖 PCB 及指令說明
如何使用HC-05藍(lán)牙模塊進(jìn)行單片機(jī)通訊
![如何使用<b class='flag-5'>HC-05</b><b class='flag-5'>藍(lán)牙</b><b class='flag-5'>模塊</b><b class='flag-5'>進(jìn)行</b>單片機(jī)通訊](https://file.elecfans.com/web1/M00/96/EF/pIYBAF0IT5mAV5VkAAEErFvgeGQ090.png)
HC-05藍(lán)牙模塊介紹
基于Arduino UNO和HC-05藍(lán)牙模塊控制伺服電機(jī)
![基于<b class='flag-5'>Arduino</b> UNO和<b class='flag-5'>HC-05</b><b class='flag-5'>藍(lán)牙</b><b class='flag-5'>模塊</b>控制伺服電機(jī)](https://file.elecfans.com/web1/M00/ED/61/pIYBAGCJD1KAd2cjAABrWglpNo4041.jpg)
stm32之藍(lán)牙模塊HC-05使用
![stm32之<b class='flag-5'>藍(lán)牙</b><b class='flag-5'>模塊</b><b class='flag-5'>HC-05</b>使用](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
HC-05的使用-詳細(xì)
![<b class='flag-5'>HC-05</b>的使用-詳細(xì)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
HC-05模塊使用
![<b class='flag-5'>HC-05</b><b class='flag-5'>模塊</b>使用](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
HC-05使用經(jīng)驗(yàn)
![<b class='flag-5'>HC-05</b>使用經(jīng)驗(yàn)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
HC-05藍(lán)牙AT指令無反應(yīng)問題
![<b class='flag-5'>HC-05</b><b class='flag-5'>藍(lán)牙</b>AT指令無反應(yīng)問題](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
通過HC 05模塊與Arduino進(jìn)行藍(lán)牙對(duì)話
![通過<b class='flag-5'>HC</b> <b class='flag-5'>05</b><b class='flag-5'>模塊</b>與<b class='flag-5'>Arduino</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>藍(lán)牙</b>對(duì)話](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論