Arduino使用HC05藍牙模塊與手機鏈接(轉載)

經過本文,能夠了解到如下內容:git

  • 進入 AT 模式進行藍牙基本參數設置
  • Arduino 藍牙控制 LED 電路設計以及代碼編寫
  • 利用 Andorid 藍牙串口調試軟件測試功能

進入 At 模式進行藍牙基本參數設置

想要使用 Arduino 的藍牙模塊,首先要對藍牙模塊進行基本參數設置。基本參數設置主要包含:藍牙名稱、模式以及匹配密碼等。設置藍牙模塊可使用 USB-TTL 鏈接電腦使用串口調試軟件進入 AT 模式進行設置,也可使用 Arduino 鏈接藍牙模塊進行設置,本文主要介紹後一種方法。web

注意事項

在鏈接藍牙的時候,要注意線的鏈接是否正確,檢查清楚再進行通電,除此以外,還要主要不要讓針腳短路,我在首次使用藍牙模塊的時候,由於沒注意接線,致使一個藍牙模塊損壞了,只能發信息不能收信息,因此爲了不沒必要要的損失,這裏要注意。oop

Arduino HC05 AT模式接線

進入 AT 模式設置藍牙的接線以下:
Arduino 5V - VCC
Arduino GND - GND
Arduino Pin10 - TXD
Arduino Pin11 - RXD
在通電前檢查接線是否正確鏈接
測試

Arduino 進入 AT 模式代碼

接下來,咱們須要爲使用 Arduino 設置藍牙模塊 AT 模式編寫程序,這個程序是讓咱們能夠經過 Arduino IDE 提供的串口監視器來設置藍牙模塊。詳細的 Arduino 代碼以下ui

#include <SoftwareSerial.h> 

// Pin10爲RX,接HC05的TXD
// Pin11爲TX,接HC05的RXD
SoftwareSerial BT(10, 11); 
char val;

void setup() {
  Serial.begin(38400); 
  Serial.println("BT is ready!");
  // HC-05默認,38400
  BT.begin(38400);
}

void loop() {
  if (Serial.available()) {
    val = Serial.read();
    BT.print(val);
  }

  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
  }
}

利用 Arduino IDE 串口監視器進行調試

首先,將 Arduino 斷電,而後按着藍牙模塊上的黑色按鈕,再讓 Arduino 通電,若是藍牙模塊指示燈按2秒的頻率閃爍,代表藍牙模塊已經正確進入 AT 模式。
打開 Arduino IDE 的串口監視器,選擇正確的端口,將輸出格式設置爲 Both: NL & CR ,波特率設置爲 38400 ,能夠看到串口監視器中顯示 BT is ready! 的信息。
而後,輸入 AT ,若是一切正常,串口顯示器會顯示 OK
接下來,咱們便可對藍牙模塊進行設置,經常使用 AT 命令以下:google

AT+ORGL    # 恢復出廠模式
AT+NAME=<Name>    # 設置藍牙名稱
AT+ROLE=0    # 設置藍牙爲從模式
AT+CMODE=1    # 設置藍牙爲任意設備鏈接模式
AT+PSWD=<Pwd>    # 設置藍牙匹配密碼

正常狀況下,命令發送後,會返回 OK ,若是沒有返回任何信息,請檢查接線是否正確,藍牙模塊是否已經進入 AT 模式,若是上述兩點都沒有問題,多是藍牙模塊的問題,能夠找藍牙模塊供應商諮詢。
設置完畢後,斷開電源,再次通電,這是,藍牙模塊指示燈會快速閃爍,這代表藍牙已經進入正常工做模式。url

利用 Andorid 手機鏈接 Arduino 並控制 LED燈開關

咱們完成了對藍牙模塊的設置後,咱們將作一個能夠經過手機藍牙鏈接,控制 Arduino 開關 LED 燈的小實驗。spa

Arduino 電路設計

這裏的電路設計比較簡單,主要是兩部分:設計

  • Arduino 與 HC05 模塊鏈接
  • Arduino 與 LED 鏈接

這裏有兩點須要注意,Arduino 上的 TXD 應與 HC05 模塊上的 RXD 端鏈接,Arduino 上的 RXD 應與 HC05 模塊上的 TXD 鏈接。
在下面的圖例中,個人 LED 是直接鏈接在 Arduino Pin13 上,而實際電路鏈接中,因根據鏈接的 Led 燈的設計考慮是否須要串聯電阻。調試

Arduino 藍牙控制 LED 燈 程序設計

Arduino 程序代碼以下:

void setup()
{
  // 設置波特率爲 38400
  Serial.begin(38400);
  pinMode(13, OUTPUT);
}


void loop()
{
  while(Serial.available())
  {
    char c=Serial.read();
      if(c=='1')
      {
        Serial.println("BT is ready!");
        // 返回到手機調試程序上
        Serial.write("Serial--13--high");
        digitalWrite(13, HIGH);
      }
     if(c=='2')
     {
       Serial.write("Serial--13--low");
       digitalWrite(13, LOW);
     }
  }
}

Android 手機端調試

在 Android 端上進行調試,須要下載藍牙串口調試 APP,能夠根據喜愛在各大應用商場搜索下載。
下載安裝完成 APP 後,咱們先打開手機的藍牙設置,搜索並匹配好咱們的藍牙模塊。而後打開 藍牙串口調試APP ,讓 APP 鏈接上藍牙模塊,而後咱們能夠在 APP 中輸入 1,接下來能夠看到 LED 等亮了,而且能在 APP 中看到 Serial--13--high 的返回(有些 APP 返回值可能不是返回在同一行)。咱們再在 APP 中輸入 2,能夠看到 LED 熄滅, APP 中返回 Serial--13--low

小結

在這篇文章中,咱們瞭解了在 Arduino 中使用 HC05 藍牙模塊的兩個主要步驟,首先是進入 AT模式 對藍牙模塊進行設置,這裏要注意接線的正確性,設置完成後,就能夠將藍牙模塊的 TXArduino RX 鏈接,RXArduino TX 鏈接,再經過 Arduino 程序中的 Serial 來實現數據的傳輸與讀取。最後,在經過 Android 上的藍牙串口調試APP,來測試咱們的試驗是否成功。

參考資料

藍牙模塊HC05
Arduino Bluetooth Basic Tutorial

做者:speculatecat 連接:https://www.jianshu.com/p/4ebf1a01df51 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索