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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

如何通過藍牙對Arduino進行編程

科技觀察員 ? 來源:circuitdigest ? 作者:Ashish Choudhary ? 2022-08-09 17:48 ? 次閱讀

Arduino Uno,電子愛好者和學生中最受歡迎的微控制器,使用 Arduino 很容易開始使用嵌入式系統(tǒng) 但是 Arduino 的一個缺點是它需要使用 USB 電纜連接到計算機才能上傳代碼,因為它已經(jīng)完成了對無線通信有任何板載支持。有時,如果您的項目固定在某個地方,則很難將板與 PC 連接起來。解決這個問題的唯一方法是對 Arduino 進行無線編程。在 ESP8266ESP32 中可以輕松完成無線編程或 OTA(無線)編程,因為它們內(nèi)置了 Wi-Fi 支持。但在 Arduino 中,我們必須使用藍牙模塊對其進行無線編程。所以在這里我們將學習如何通過藍牙對 Arduino 進行編程。

所需組件

Arduino UNO

HC05藍牙模塊

跳線

1K、2.2K 電阻器

電容 (0.1uF)

電源適配器

面包板

HC05藍牙模塊

HC-05模塊是藍牙串口協(xié)議模塊,專為微控制器之間的無線通信而設計。HC-05藍牙模塊提供主從模式配置之間的切換模式,并通過9600波特率的串行通信進行通信,便于與控制器接口。HC05 模塊在 3.3 V 上工作,但我們可以將其連接到 5V 電源電壓,因為該模塊帶有板載 5v 至 3.3 V 穩(wěn)壓器。

poYBAGLyLPGARKv8AAQIKcnkQ68992.png

藍牙是最簡單的無線通信方式,我們用它構(gòu)建了許多有趣的項目,如 藍牙控制機器人、 藍牙語音控制、 藍牙家庭自動化等。您可以在此處查看所有基于藍牙的項目。

通過藍牙對 Arduino 進行編程

要對 Arduino 進行無線編程,首先,我們必須對 Arduino 進行編程以響應 AT 命令。為此,將 Arduino 連接到筆記本電腦的串口并上傳以下代碼:

#include 
SoftwareSerial HC05(2,3);
無效設置()
{
序列號.開始(9600);
Serial.println("輸入AT指令:");
HC05.開始(38400);
}
無效循環(huán)()
{
  如果 (HC05.available())
    Serial.write(HC05.read());
  if (Serial.available())
    HC05.write(Serial.read());
}

代碼的前兩行用于包含SoftwareSerial庫并定義連接藍牙的發(fā)送器和接收器引腳。SoftwareSerial庫用于允許與 Arduino 的硬件 Tx 和 Rx 引腳以外的數(shù)字引腳進行串行通信。多個軟件串行端口可用于使用SoftwareSerial庫進行串行通信。

#include 
SoftwareSerial HC05(2,3);

現(xiàn)在在setup 函數(shù)中,定義硬件和軟件串行端口的波特率。硬件和軟件串行端口的波特率分別為 9600 和 38400。

無效設置()
{
序列號.開始(9600);
Serial.println("輸入AT指令:");
HC05.開始(38400);
}

循環(huán)函數(shù)內(nèi)部使用了兩個if條件。第一個條件檢查是否向 HC05 發(fā)出任何命令,如果是,則將其寫入 Arduino 串行監(jiān)視器。第二個條件檢查是否有任何命令發(fā)送給 Arduino 串行監(jiān)視器,如果是,則將其發(fā)送給 HC05。

無效循環(huán)()
{
  如果 (HC05.available())
    Serial.write(HC05.read());
  if (Serial.available())
    HC05.write(Serial.read());
}

接下來,在 HC05 上連接 Arduino,使其進入 AT 命令模式。相同的電路圖如下:

poYBAGLyLOuAKmePAADZTxpj0oA289.png

在將 Arduino 連接到計算機之前,先按下按鍵,然后將 Arduino 連接到計算機。按住按鍵直到藍牙模塊 LED 開始以 2 秒的間隔閃爍。藍牙模塊 LED 在命令模式下的閃爍速度比正常模式下慢。

現(xiàn)在打開一個串行監(jiān)視器并輸入以下命令,作為回報,每次命令成功運行時,板都會以“ OK ”響應。

AT+ORGL

AT+ROLE=0

AT+POLAR=1,0

AT+UART=115200, 0, 0

AT+INIT

成功測試 AT 命令后,只需移除所有連接并按照下面的示意圖連接即可。

pYYBAGLyLOaAEvB0AAJCONO9GQ8695.png

poYBAGLyLOKAYyqYAAWjhKEbPkY879.png

使用適配器或 9V 電池為 Arduino 供電。之后,轉(zhuǎn)到筆記本電腦中的“設備”,打開藍牙,然后將藍牙模塊連接到筆記本電腦。

設備配對成功后,接下來的任務就是找到HC05藍牙模塊的COM口。為此,請轉(zhuǎn)到“設備管理器”,然后檢查 COM 端口選項。它將顯示兩個 COM 端口,一個用于傳入,另一個用于傳出。在上傳程序時,我們需要選擇第二個 COM 端口號。

pYYBAGLyLN6AH3kwAABh_aZHJnM201.png

現(xiàn)在打開 Arduino IDE 并選擇閃爍程序,選擇正確的 com 端口,然后點擊上傳按鈕。如果一切順利,Arduino 板載 LED 將以 1 秒的間隔開始閃爍。

poYBAGLyLNqAY9FpAACm3ag937A673.png

#include
SoftwareSerial HC05(2,3);
無效設置()
{
序列號.開始(9600);
Serial.println("輸入AT指令:");
HC05.開始(38400);
}
無效循環(huán)()
{
如果 (HC05.available())
Serial.write(HC05.read());
if (Serial.available())
HC05.write(Serial.read());
}

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

    關注

    114

    文章

    5844

    瀏覽量

    170778
  • 編程
    +關注

    關注

    88

    文章

    3633

    瀏覽量

    93848
  • Arduino
    +關注

    關注

    188

    文章

    6474

    瀏覽量

    187425
收藏 人收藏

    評論

    相關推薦

    如何使用Arduino開發(fā)板通過藍牙方式控制伺服電機

    在機器人中使用伺服電機進行精確控制很常見。在本文中,我們將向您展示如何使用Arduino UNO開發(fā)板無線連接一個伺服電機,并且通過藍牙連接一臺Android設備。我們已經(jīng)介紹過
    發(fā)表于 06-28 08:01

    Arduino是什么?如何對Arduino進行編程

    Arduino是什么?如何對Arduino進行編程呢?
    發(fā)表于 12-08 07:57

    怎樣通過Arduino IDE對Arduino UNO進行編程

    Arduino UNO是什么呢?怎樣通過Arduino IDE對Arduino UNO進行編程
    發(fā)表于 01-24 06:57

    matlab如何通過藍牙連接arduino?

    用的是BT04A藍牙模塊連接到arduino,然后matlab也連接上了藍牙模塊,但不能通過藍牙連接到a
    發(fā)表于 06-28 09:52

    怎樣使用Arduino藍牙進行滾動顯示

    在將草圖上載到arduino之前,請先將藍牙模塊與arduino斷開連接,以避免編譯錯誤。
    的頭像 發(fā)表于 10-29 11:18 ?2727次閱讀

    Arduino項目進行無線藍牙控制和編程

      通過 Arduino 的 RX 和 TX 引腳進行藍牙控制既簡單又有效,但如果您想通過 USB 重新
    的頭像 發(fā)表于 06-23 15:46 ?3562次閱讀

    如何使用Arduino Uno對ATtiny85進行編程

    在本文中,我將引導您完成在 Arduino Uno 的幫助下從 Arduino IDE對 ATtiny85 進行編程的過程?;旧?,我們將使用 Ar
    發(fā)表于 08-05 16:35 ?7087次閱讀
    如何使用<b class='flag-5'>Arduino</b> Uno對ATtiny85<b class='flag-5'>進行</b><b class='flag-5'>編程</b>

    如何使用藍牙模塊HC-05對Arduino進行無線編程

    將機器人移到 labtop 附近重新編程。這個問題可以通過Arduino 進行無線編程來解決。所以在這里我們正在構(gòu)建一個電路來使用
    的頭像 發(fā)表于 08-23 15:59 ?1.2w次閱讀
    如何使用<b class='flag-5'>藍牙</b>模塊HC-05對<b class='flag-5'>Arduino</b><b class='flag-5'>進行</b>無線<b class='flag-5'>編程</b>

    使用Arduino通過USB串行對ESP32S3進行編程和調(diào)試

    電子發(fā)燒友網(wǎng)站提供《使用Arduino通過USB串行對ESP32S3進行編程和調(diào)試.zip》資料免費下載
    發(fā)表于 10-19 14:50 ?3次下載
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>通過</b>USB串行對ESP32S3<b class='flag-5'>進行</b><b class='flag-5'>編程</b>和調(diào)試

    使用USBasp和Arduino IDE對ATtiny MCU進行編程

    電子發(fā)燒友網(wǎng)站提供《使用USBasp和Arduino IDE對ATtiny MCU進行編程.zip》資料免費下載
    發(fā)表于 10-31 11:56 ?3次下載
    使用USBasp和<b class='flag-5'>Arduino</b> IDE對ATtiny MCU<b class='flag-5'>進行</b><b class='flag-5'>編程</b>

    使用Arduino對虛擬爪機進行編程

    電子發(fā)燒友網(wǎng)站提供《使用Arduino對虛擬爪機進行編程.zip》資料免費下載
    發(fā)表于 11-14 10:55 ?0次下載
    使用<b class='flag-5'>Arduino</b>對虛擬爪機<b class='flag-5'>進行</b><b class='flag-5'>編程</b>

    如何使用Arduino UNO對ESP8266進行編程

    電子發(fā)燒友網(wǎng)站提供《如何使用Arduino UNO對ESP8266進行編程.zip》資料免費下載
    發(fā)表于 12-16 10:13 ?1次下載
    如何使用<b class='flag-5'>Arduino</b> UNO對ESP8266<b class='flag-5'>進行</b><b class='flag-5'>編程</b>

    通過HC 05模塊與Arduino進行藍牙對話

    電子發(fā)燒友網(wǎng)站提供《通過HC 05模塊與Arduino進行藍牙對話.zip》資料免費下載
    發(fā)表于 01-03 10:28 ?2次下載
    <b class='flag-5'>通過</b>HC 05模塊與<b class='flag-5'>Arduino</b><b class='flag-5'>進行</b><b class='flag-5'>藍牙</b>對話

    QM:以現(xiàn)代方式對Arduino進行編程

    電子發(fā)燒友網(wǎng)站提供《QM:以現(xiàn)代方式對Arduino進行編程.zip》資料免費下載
    發(fā)表于 06-15 10:21 ?0次下載
    QM:以現(xiàn)代方式對<b class='flag-5'>Arduino</b><b class='flag-5'>進行</b><b class='flag-5'>編程</b>

    使用智能手機對arduino進行編程

    電子發(fā)燒友網(wǎng)站提供《使用智能手機對arduino進行編程.zip》資料免費下載
    發(fā)表于 07-05 11:10 ?0次下載
    使用智能手機對<b class='flag-5'>arduino</b><b class='flag-5'>進行</b><b class='flag-5'>編程</b>