HC-05藍牙模塊控制

一、簡介

HC-05是一款藍牙串口模塊,與典型的串口模塊相似,可通過UART通信發送和接收數據。
它可以很方便地與其他設備進行藍牙通信,例如智能手機,平板電腦等,實現無線控制。
HC-05是最常見的藍牙設備之一,其簡單的介面和低成本讓它成為電子愛好者和工程師的首選。

二、基本連接

連接HC-05需要三個要素:電源,地面和數據。
– 電源: HC-05工作範圍是在3.3V-5V,數據手冊中建議的工作電壓是3.6V-6V,為了確保最佳性能,我們選擇為HC-05控制用3.3V的電源。
– 地面: 頁面下方顯示的黑色矩形區域是HC-05的接地引腳,需要被連接到電路板上的GND。
– 數據: HC-05有四個引腳可供使用:VCC,GND,RXD和TXD。這裡我們只關注RXD和TXD。RXD輸入信號,TXD輸出信號。
如果您使用的是基於Arduino的電路板,請將RXD引腳接到板的數字引腳0,TXD引腳連接到數字引腳1。

void setup() {
  Serial.begin(9600); 
  // 設定串口傳輸速度
  pinMode(13, OUTPUT); 
  // 將13號引腳設為輸出
}

void loop() {
  if (Serial.available()) {
    char input = Serial.read(); 
    // 讀取輸入的字元
    if(input == 'on') {
       digitalWrite(13, HIGH); 
       // 在收到 'on'時, 點亮板的LED燈
     } else if(input == 'off') {
      digitalWrite(13, LOW); 
      // 在收到 'off'時, 關閉板的LED燈
    }
  }
}

三、AT 指令

AT命令是通過串列通信與HC-05進行通信的命令集。您可以發送不同的AT命令來更改HC-05的配置。
在AT模式下,HC-05隻能使用UART傳輸,並被配置為數據速率為38400的串口。
您可以使用串列終端程序(例如推薦使用的RealTerm)通過USB連接匹配的 Arduino,從而直接翻譯命令並將其發送到藍牙模塊。
下面是幾個常用的AT命令:

– AT – 用於測試HC-05是否處於連接狀態。如果連接成功,HC-05將響應「OK」。
– AT+NAME – 設置HC-05藍牙設備的名稱。例如:AT+NAMEbluetooth,這將把設備名稱設置為「bluetooth」。
– AT+ROLE – 配置連接角色,0為主機,1為從機。例如:AT+ROLE1,這將把HC-05設置為從機。
– AT+UART – 用於設置UART數據速率、停止位和奇偶校驗,例如:AT+UART=9600,0,0,設置數據速率為9600。

下面是一個AT模式下的示例代碼:

void setup() {
Serial.begin(38400);
// HC-05默認使用38400的波特率
Serial.println(“AT”);
// 發送AT命令
}

void loop() {
// 等待從HC-05返迴響應的數據
while (Serial.available()) {
Serial.write(Serial.read());
// 將讀取到的數據傳輸出去
}
}

四、與模塊通信

Arduino可以通過HC-05輕鬆實現與其他設備的通信。以下示例展示了如何使用HC-05將Arduino與Android設備配對,並在兩者之間進行通信:

#include 

SoftwareSerial bluetooth(2, 3); // RX, TX
// 如果您使用的是基於Arduino的電路板,將RXD引腳接到板的數字引腳2,TXD引腳連接到數字引腳3。
void setup() {
  Serial.begin(9600);
  bluetooth.begin(9600);
}

void loop() {
  if (bluetooth.available()) { //檢查藍牙模塊是否可讀取
    Serial.write(bluetooth.read()); // 從藍牙讀取數據
  }
  if (Serial.available()) { // 檢查串口是否可讀取
    bluetooth.write(Serial.read()); // 向藍牙發送數據
  }
}

五、總結

HC-05是一種經濟實惠的藍牙模塊,用於電子愛好者和工程師的無線控制,簡單易用。僅需三個接線連接,您就可以開始使用HC-05進行通信。
在這篇文章中,我們介紹了HC-05的基本連接,AT命令和Arduino與其他設備通信的示例。希望這篇文章能夠為您提供幫助。

原創文章,作者:XZMWA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372588.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XZMWA的頭像XZMWA
上一篇 2025-04-24 06:40
下一篇 2025-04-24 06:40

相關推薦

  • 光模塊異常,SFP未認證(entityphysicalindex=6743835)——解決方案和

    如果您遇到類似optical module exception, sfp is not certified. (entityphysicalindex=6743835)的問題,那麼…

    編程 2025-04-29
  • Python模塊下載與安裝指南

    如果想要擴展Python的功能,可以使用Python模塊來實現。但是,在使用之前,需要先下載並安裝對應的模塊。本文將從以下多個方面對Python模塊下載與安裝進行詳細的闡述,包括使…

    編程 2025-04-29
  • Python編程三劍客——模塊、包、庫

    本文主要介紹Python編程三劍客:模塊、包、庫的概念、特點、用法,以及在實際編程中的實際應用,旨在幫助讀者更好地理解和應用Python編程。 一、模塊 1、概念:Python模塊…

    編程 2025-04-29
  • 如何使用pip安裝模塊

    pip作為Python默認的包管理系統,是安裝和管理Python包的一種方式,它可以輕鬆快捷地安裝、卸載和管理Python的擴展庫、模塊等。下面從幾個方面詳細介紹pip的使用方法。…

    編程 2025-04-28
  • Python如何下載第三方模塊

    想要使Python更加強大且具備跨平台性,我們可以下載許多第三方模塊。下面將從幾個方面詳細介紹如何下載第三方模塊。 一、使用pip下載第三方模塊 pip是Python的軟體包管理器…

    編程 2025-04-28
  • Python datetime和time模塊用法介紹

    本文將詳細闡述Python datetime和time模塊的用法和應用場景,以幫助讀者更好地理解和運用這兩個模塊。 一、datetime模塊 datetime模塊提供了處理日期和時…

    編程 2025-04-28
  • Idea創建模塊時下面沒有啟動類的解決方法

    本文將從以下幾個方面對Idea創建模塊時下面沒有啟動類進行詳細闡述: 一、創建SpringBoot項目時沒有啟動類的解決方法 在使用Idea創建SpringBoot項目時,有可能會…

    編程 2025-04-28
  • l9110風扇感測器模塊原理圖解析

    本文將從原理圖概述、硬體特性、軟體實現等多個方面對l9110風扇感測器模塊進行詳細解析,並給出對應代碼實例。 一、原理圖概述 l9110風扇感測器模塊主要由驅動晶元l9110、電位…

    編程 2025-04-28
  • 掌握Python3中datetime模塊的使用

    Python3中的datetime模塊是處理日期和時間的常用模塊之一,它提供了一些函數和類,可以輕鬆處理日期和時間,包括日期和時間的計算、格式化、解析、時區轉換等。本文將從多個方面…

    編程 2025-04-28
  • Python導入模塊方法

    在Python編程中,模塊是管理函數和變數之類內容的一種方式。Python標準庫提供了許多有用的模塊,讓我們可以方便地實現對底層硬體和網路等的控制。本文將介紹Python中常用的導…

    編程 2025-04-28

發表回復

登錄後才能評論