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

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

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

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

電子設計 ? 來源:電路城 ? 作者:電路城 ? 2021-04-28 15:25 ? 次閱讀

了解如何在移動設備,Arduino UNO和HC-05藍牙模塊中使用Android應用程序控制伺服電機。

硬件部件:

Arduino UNO × 1個

HC-05藍牙模塊 × 1個

SG90微型伺服電機 × 1個

軟件應用程序和在線服務:

MIT App Inventor 2

手動工具和制造機:

10個 跳線套件,5厘米長

面包板,170針

伺服電機是一種閉環(huán)系統(tǒng),它使用位置反饋來控制其運動和最終位置。

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

RC伺服電機在相同的原理上工作。它包含一個小型直流電動機,通過齒輪連接到輸出軸。

輸出軸驅(qū)動伺服臂,并且還連接到電位器(電位計)。

電位計向伺服控制單元提供位置反饋,在此將電機的當前位置與目標位置進行比較。

根據(jù)錯誤,控制單元會校正電動機的實際位置,使其與目標位置相匹配。

通過通過信號線發(fā)送一系列脈沖來控制伺服電機??刂菩盘柕念l率應為50Hz或每20ms產(chǎn)生一個脈沖。脈沖的寬度決定了伺服器的角度位置,這些類型的伺服器通常可以旋轉(zhuǎn)180度

控制線用于傳達角度。該角度由施加到控制線的脈沖的持續(xù)時間確定。這稱為脈沖編碼調(diào)制。伺服器希望每20毫秒(.02秒)看到一個脈沖。脈沖的長度將決定電機旋轉(zhuǎn)多遠。例如,一個1.5毫秒的脈沖將使電動機轉(zhuǎn)到90度位置(通常稱為空擋位置)。如果脈沖短于1.5毫秒,則電動機會將軸旋轉(zhuǎn)到接近0度的位置。如果脈沖長于1.5毫秒,則軸將更接近180度。

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

電路原理圖:

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

首先,使用Arduino連接伺服電機。

將兩個伺服電機的黑線連接到Arduino的GND將兩個電機的橙色線連接到Arduino的5V將第一個電機的橙色線連接到Arduino的引腳9

首先,在沒有藍牙的情況下使用以下arduino代碼測試Servo電機掃描功能:

#include 《Servo.h》

Servo myservo; // create servo object to control a servo

// twelve servo objects can be created on most boards

int pos = 0; // variable to store the servo position

void setup() {

myservo.attach(9); // attaches the servo on pin 9 to the servo object

}

void loop() {

for (pos = 0; pos 《= 180; pos += 1) { // goes from 0 degrees to 180 degrees

// in steps of 1 degree

myservo.write(pos); // tell servo to go to position in variable ‘pos’

delay(15); // waits 15ms for the servo to reach the position

}

for (pos = 180; pos 》= 0; pos -= 1) { // goes from 180 degrees to 0 degrees

myservo.write(pos); // tell servo to go to position in variable ‘pos’

delay(15); // waits 15ms for the servo to reach the position

}

}

輸出結(jié)果:

之后,與Arduino建立藍牙模塊的連接。

將藍牙模塊的VCC連接至Arduino的5V將藍牙模塊的GND連接至Arduino的GND將藍牙模塊的TX連接至Arduino的Rx引腳將藍牙模塊的RX連接至Arduino的Tx引腳

用于藍牙控制的Arduino代碼:

#include 《Servo.h》

Servo myservo;

const int Pin = 9; // myservo pin3 PWM

char Text;

String Spilt;

String angle;

int pos = 0; // variable to store the servo position

int k1;

void setup() {

Serial.begin(9600);

pinMode (Pin, OUTPUT);

myservo.attach(Pin);

}

void loop() {

if(Serial.available())

{

Text = Serial.read();

Spilt = Spilt + Text;

if (Text == ‘*’) {

Serial.println(Spilt);

Spilt = Spilt.substring(0, Spilt.length() - 1); // Delete last char *

k1 = Spilt.indexOf(‘*’);

angle = Spilt.substring(0, k1);

myservo.write(angle.toInt());

delay(15);

Spilt = “”;

}

}

}上載程序后,重新連接TX和RX,并確保手機已與相應的Bluetooth模塊配對。連接到Android手機的步驟如下:

打開藍牙模塊的電源,然后轉(zhuǎn)到Android設備上的設置。

配對設備。在某些電話上,此步驟必須執(zhí)行兩次才能配對。確保準備好PIN碼(大多數(shù)Bluetooth Mate的默認設置為“ 1234”)》開啟兩個設備的電源》在Android“設置”應用程序的Bluetooth圖標下搜索模塊。

將設備與手機配對后,打開BT Servo應用程序。

使用列表連接到并找到包含文本HC-05的正確設備名稱。

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

基于Arduino UNO和HC-05藍牙模塊控制伺服電機

責任編輯:pj

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

    關注

    85

    文章

    2048

    瀏覽量

    57860
  • 應用程序
    +關注

    關注

    37

    文章

    3268

    瀏覽量

    57703
  • 伺服器
    +關注

    關注

    1

    文章

    151

    瀏覽量

    19481
收藏 人收藏

    評論

    相關推薦

    如何使用Arduino藍牙控制伺服電機

    使用伺服電機在機器人技術中很常見,以實現(xiàn)精確控制。在這里,在本教程中,我們將向您展示如何通過藍牙連接將伺服
    發(fā)表于 11-16 16:19 ?3558次閱讀
    如何使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>藍牙</b><b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>電機</b>

    開源資料HC-05藍牙模塊Arduino入門參考方案

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

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

    如何使用Arduino開發(fā)板控制伺服電機,這次我們使用無線藍牙模塊
    發(fā)表于 06-28 08:01

    關于HC-05藍牙模塊的介紹

    關于HC-05藍牙模塊藍牙模塊BT-HC05模塊是一
    發(fā)表于 08-06 06:26

    使用帶有Arduino Uno藍牙HC-05模塊控制伺服電機

    描述藍牙伺服控制器在這個項目中,我將向您展示如何在智能手機應用程序的幫助下通過藍牙控制伺服
    發(fā)表于 06-23 06:59

    HC-05 藍牙模塊 原理圖 PCB 及指令說明

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

    如何使用HC-05藍牙模塊進行單片機通訊

    要想使用HC-05藍牙模塊進行單片機之間通訊或者單片機和藍牙設備之間通訊,首先要配置好HC-05藍牙
    發(fā)表于 06-18 17:44 ?53次下載
    如何使用<b class='flag-5'>HC-05</b><b class='flag-5'>藍牙</b><b class='flag-5'>模塊</b>進行單片機通訊

    怎樣用Arduino連接電機

    類似于之前關于使用HC-05Arduino UNO的智能手機控制LED燈的文章,我們將繼續(xù)通過HC-05
    的頭像 發(fā)表于 08-29 09:46 ?1.7w次閱讀
    怎樣用<b class='flag-5'>Arduino</b>連接<b class='flag-5'>電機</b>

    stm32之藍牙模塊HC-05使用

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

    HC-05的使用-詳細

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

    HC-05模塊使用

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

    HC-05藍牙模塊原理圖下載

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

    自制使用HC-05藍牙模塊與手機進行通信的藍牙控制

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

    使用Arduino UNO R3和藍牙模塊HC 05制作門鎖

    電子發(fā)燒友網(wǎng)站提供《使用Arduino UNO R3和藍牙模塊HC 05制作門鎖.zip》資料免
    發(fā)表于 11-04 09:58 ?1次下載
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b> R3和<b class='flag-5'>藍牙</b><b class='flag-5'>模塊</b><b class='flag-5'>HC</b> <b class='flag-5'>05</b>制作門鎖

    基于HC-05藍牙模塊控制16x2 LCD顯示屏

    電子發(fā)燒友網(wǎng)站提供《基于HC-05藍牙模塊控制16x2 LCD顯示屏.zip》資料免費下載
    發(fā)表于 06-30 15:05 ?2次下載
    基于<b class='flag-5'>HC-05</b><b class='flag-5'>藍牙</b><b class='flag-5'>模塊</b><b class='flag-5'>控制</b>16x2 LCD顯示屏