0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用藍(lán)牙模塊HC-05對(duì)Arduino進(jìn)行無線編程

科技觀察員 ? 來源:circuitdigest ? 作者:Debasis Parida ? 2022-08-23 15:59 ? 次閱讀

在使用 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)目。

引腳:

poYBAGMEiGGAWt8LAAQNeTnm2bU333.png

引腳說明:

+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。

#include 
SoftwareSerial 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 命令模式。

pYYBAGMEiFuAbZb9AAFkmKghgeI476.png

要進(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 命令后,只需刪除所有連接并按照下面的示意圖重建它。

poYBAGMEiFSAQWXOAAKXF06l1Tw237.png

在我的情況下,我將它焊接在穿孔板上,以便它可以輕松地安裝 Arduino 引腳并可以用作Arduino Shield。完成焊接后,如下圖所示:

poYBAGMEiFCAIhNRAAmkYQOpLy4107.png

然后按照下圖將這個(gè)屏蔽放在 Arduino 上,然后將 Arduino 連接到 9V 電池電源。

pYYBAGMEiEuAFyA6AAZ-baqYvck666.png

之后,在您的 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)。

pYYBAGMEiDaAJWPMAAEpNYIobao223.png

poYBAGMEiDKAF2gGAAHES9heWVk517.png

poYBAGMEiC6AHa4tAAFr4Lvy94M136.png

設(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í)需要它。

pYYBAGMEiCqAS9BWAALUSdDl6QU486.png

最后一步是將示例程序無線上傳到 Arduino,以檢查這個(gè)Arduino 無線編程是否正常工作。為此,從 Arduino IDE 示例程序中選擇任何 Arduino 程序,這里我選擇了 LED 閃爍程序。在 board 中選擇 Arduino UNO,然后在 Port 中選擇正確的 COM 端口,如上圖所示。之后單擊上傳按鈕,它應(yīng)該成功上傳到您的 Arduino 板。

pYYBAGMEiCOAN59NAAkVGTn7WB8033.png

#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());

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 藍(lán)牙模塊
    +關(guān)注

    關(guān)注

    30

    文章

    557

    瀏覽量

    55628
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6455

    瀏覽量

    186388
  • HC-05
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    16886
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開源資料HC-05藍(lán)牙模塊Arduino入門參考方案

    `網(wǎng)上一份很不錯(cuò)的開源資料,HC-05藍(lán)牙模塊Arduino入門資料,現(xiàn)在把他分享給大家,有需要的可以下載!`
    發(fā)表于 12-25 14:00

    關(guān)于HC-05藍(lán)牙模塊的介紹

    兼容單片機(jī)系統(tǒng)。當(dāng)主從模式兩個(gè)藍(lán)牙模塊配對(duì)成功后,可以簡(jiǎn)單的,更改為無線藍(lán)牙,讓您設(shè)備或者產(chǎn)品更高級(jí),更時(shí)尚。可以很容易的使用提供的藍(lán)牙
    發(fā)表于 08-06 06:26

    藍(lán)牙轉(zhuǎn)串口模塊HC-05怎么使用

    藍(lán)牙轉(zhuǎn)串口模塊HC-05模塊使用記錄最近在弄一個(gè)需要無線傳輸數(shù)據(jù)的項(xiàng)目,雖然以前也接觸過HC-05
    發(fā)表于 12-07 13:20

    HC-05 藍(lán)牙模塊 原理圖 PCB 及指令說明

    stm32標(biāo)準(zhǔn)原理圖,PCB板圖;HC-05 藍(lán)牙模塊 原理圖 PCB 及指令說明。
    發(fā)表于 05-20 14:28 ?0次下載

    如何使用HC-05藍(lán)牙模塊進(jìn)行單片機(jī)通訊

    要想使用HC-05藍(lán)牙模塊進(jìn)行單片機(jī)之間通訊或者單片機(jī)和藍(lán)牙設(shè)備之間通訊,首先要配置好HC-05
    發(fā)表于 06-18 17:44 ?53次下載
    如何使用<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ī)通訊

    HC-05藍(lán)牙模塊介紹

    HC-05是一款藍(lán)牙轉(zhuǎn)串口轉(zhuǎn)換器,可連接微控制器其他設(shè)備,允許他們無線通信。在本文中,我們將解釋模塊的工作原理,安全使用項(xiàng)目時(shí)需要了解的內(nèi)容,并討論操作基礎(chǔ)知識(shí)。
    的頭像 發(fā)表于 07-26 14:31 ?12.5w次閱讀

    基于Arduino UNO和HC-05藍(lán)牙模塊控制伺服電機(jī)

    了解如何在移動(dòng)設(shè)備,Arduino UNO和HC-05藍(lán)牙模塊中使用Android應(yīng)用程序控制伺服電機(jī)。
    的頭像 發(fā)表于 04-28 15:25 ?4942次閱讀
    基于<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ī)

    stm32之藍(lán)牙模塊HC-05使用

    參考資料:【常用模塊HC-05藍(lán)牙串口通信模塊使用詳解(實(shí)例:手機(jī)藍(lán)牙控制STM32單片機(jī))HC-05
    發(fā)表于 11-18 11:06 ?63次下載
    stm32之<b class='flag-5'>藍(lán)牙</b><b class='flag-5'>模塊</b><b class='flag-5'>HC-05</b>使用

    HC-05的使用-詳細(xì)

    藍(lán)牙轉(zhuǎn)串口模塊HC-05模塊使用記錄最近在弄一個(gè)需要無線傳輸數(shù)據(jù)的項(xiàng)目,雖然以前也接觸過HC-05
    發(fā)表于 11-24 11:51 ?34次下載
    <b class='flag-5'>HC-05</b>的使用-詳細(xì)

    HC-05模塊使用

    是采用上電時(shí)KEY懸空,上電后再給KEY一個(gè)高電平的方式,因此此時(shí)的波特率是9600而不是38400。發(fā)送AT命令后要換行,否則藍(lán)牙模塊會(huì)認(rèn)為發(fā)送的只是單純的字符串。要將藍(lán)牙模塊設(shè)置為
    發(fā)表于 11-24 11:51 ?33次下載
    <b class='flag-5'>HC-05</b><b class='flag-5'>模塊</b>使用

    HC-05使用經(jīng)驗(yàn)

    使用一塊HC-05讓單片機(jī)與PC(自帶藍(lán)牙)無線通信是十分簡(jiǎn)單的,但對(duì)于第一次使用該類模塊的新手來說會(huì)有很多不起眼的,網(wǎng)上其他大神都懶得說的坑,我當(dāng)時(shí)就在這些坑中待了差不多一個(gè)星期。目
    發(fā)表于 11-24 12:36 ?79次下載
    <b class='flag-5'>HC-05</b>使用經(jīng)驗(yàn)

    HC-05藍(lán)牙AT指令無反應(yīng)問題

    HC-05藍(lán)牙AT指令無反應(yīng)問題在使用HC-05藍(lán)牙模塊過程中,出現(xiàn)了進(jìn)入命令響應(yīng)工作模式后,不管怎么發(fā)生AT指令,都沒有得到回應(yīng).在確定
    發(fā)表于 11-24 12:51 ?31次下載
    <b class='flag-5'>HC-05</b><b class='flag-5'>藍(lán)牙</b>AT指令無反應(yīng)問題

    HC-05藍(lán)牙模塊原理圖下載

    HC-05藍(lán)牙模塊原理圖下載
    發(fā)表于 12-02 13:37 ?44次下載

    自制使用HC-05藍(lán)牙模塊與手機(jī)進(jìn)行通信的藍(lán)牙控制車

    這是一款使用HC-05藍(lán)牙模塊與手機(jī)進(jìn)行通信的藍(lán)牙控制車。
    的頭像 發(fā)表于 08-11 14:43 ?6548次閱讀
    自制使用<b class='flag-5'>HC-05</b><b class='flag-5'>藍(lán)牙</b><b class='flag-5'>模塊</b>與手機(jī)<b class='flag-5'>進(jìn)行</b>通信的<b class='flag-5'>藍(lán)牙</b>控制車

    通過HC 05模塊Arduino進(jìn)行藍(lán)牙對(duì)話

    電子發(fā)燒友網(wǎng)站提供《通過HC 05模塊Arduino進(jìn)行藍(lán)牙對(duì)話.zip》資料免費(fèi)下載
    發(fā)表于 01-03 10:28 ?2次下載
    通過<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ì)話