電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> 伺服電機與控制 >> 正文

如何用Arduino同時控制多個舵機

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2019-05-30

關(guān)于Arduino控制舵機在以往的文章中已有介紹,如何通過Arduino使用語音命令控制伺服電機、利用Nodemcu控制SG90舵機、利用MPU6050來控制舵機等等,但是這些文章都是基于單一舵機的控制,也就是說我們控制一個舵機是很容易實現(xiàn)的,那假如我們需要同時控制兩個、三個甚至更多的舵機時該怎么辦呢?

如何用Arduino同時控制多個舵機 

在本文中,我們將向您展示如何使用Arduino來控制多個舵機。用Arduino連接單個舵電機是很容易,但是如果我們把所有的舵機都連接到Arduino的電源引腳上,它們就不能正常工作了,因為Arduino的電流不足以驅(qū)動所有舵機。因此,使用Arduino來控制多個舵機,你必須使用單獨的電源。如,5v-2A的獨立電源或9v的電池。

Arduino同時控制多個舵機的電路圖

Arduino同時控制多個舵機的電路圖 

什么是舵機?

有的朋友對舵機還很陌生,舵機是通俗的叫法,它的正式名字叫伺服電機。建議查看以前的幾篇文章深入了解下:

伺服電機的分類及應(yīng)用

伺服電機是如何工作的?

什么是PWM:脈沖寬度調(diào)制

秒懂舵機角度控制原理

Arduino控制多個舵機代碼解析

Arduino有單獨的舵機支持庫,這個庫可以處理所有與PWM控制相關(guān)的工作,也可以用來控制舵機,使用這個庫,我們只需要在servo1.write(angle); 函數(shù)中輸入想要旋轉(zhuǎn)的角度,就可以將舵機旋轉(zhuǎn)到所需角度了。

因此,開始我們需要引入舵機的庫文件。

#include <Servo.h>

在下面的代碼中,我們將初始化四個舵機,它們分別是Servo1、Servo2、Servo3和Servo4。

Servo servo1; 
Servo servo2; 
Servo servo3; 
Servo servo4;

接下來,設(shè)置舵機的輸入引腳。如下面的代碼所示,Servo1連接到Arduino的第三個引腳。你也可以根據(jù)自己的需要更改引腳序號,但請記住引腳必須支持PWM,使用的Arduino數(shù)字引腳會導(dǎo)致工作不穩(wěn)定。

void setup() { 
servo1.attach(3); 
servo2.attach(5); 
servo3.attach(6); 
servo4.attach(9); 
}

現(xiàn)在,在void loop()函數(shù)中,將所有的舵機從0度旋轉(zhuǎn)到180度,然后從180度旋轉(zhuǎn)到0度。下列代碼中使用的延遲時間是用來增加或減少舵機的響應(yīng)速度的,因為延遲時間直接影響到變量 i 的增加或減少。

void loop() { 
for (int i = 0; i < 180; i++) { 
servo1.write(i); 
servo2.write(i); 
servo3.write(i); 
servo4.write(i); 
delay(10); 
} 
for (i = 180; i > 0; i--) { 
servo1.write(i); 
servo2.write(i); 
servo3.write(i); 
servo4.write(i); 
delay(10); 
} 
}

Arduino控制多個舵機的完整代碼如下:

 
#include <Servo.h> 
Servo servo1; 
Servo servo2; 
Servo servo3; 
Servo servo4; 
int i = 0; 
void setup() { 
servo1.attach(3); 
servo2.attach(5); 
servo3.attach(6); 
servo4.attach(9); 
} 
void loop() { 
for (i = 0; i < 180; i++) { 
servo1.write(i); 
servo2.write(i); 
servo3.write(i); 
servo4.write(i); 
delay(10); 
} 
for (i = 180; i > 0; i--) { 
servo1.write(i); 
servo2.write(i); 
servo3.write(i); 
servo4.write(i); 
delay(10); 
} 
} 

需要注意的是,當(dāng)使用外部電源對舵機供電時,需要將外部電源的GND與Arduino的GND連接起來,形成電路的等電位連接,否則會造成運行不穩(wěn)定或存在干擾。

Tags:舵機,伺服電機,Arduino,控制  
責(zé)任編輯:admin
  • 上一個文章:
  • 下一個文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網(wǎng)友評論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    欧美影院一区二区| 性xxxx黑人与亚洲| 久久精品国产精品亚洲毛片 | 动漫乱人伦视频在线观看| 精品久久久久不卡无毒| 又湿又紧又大又爽a视频| 男生和女生在一起差差的很痛| 免费观看欧美一级牲片一| 特级一级毛片免费看| 亚洲视频在线免费观看| 欧美最猛黑人xxxx黑人猛交黄| 亚洲欧美日韩国产精品专区| 欧美videosdesexo肥婆| 亚洲av福利天堂一区二区三 | 最新国产在线拍揄自揄视频| 亚洲av人无码综合在线观看| 日本午夜电影院| 久久久久久亚洲av成人无码国产 | 中文字幕三级理论影院| 天天干天天色天天| 99精品国产高清一区二区| 国产精品女人呻吟在线观看| 鲁啊鲁视频在线精品| 欧美videos在线观看| 亚洲三级小视频| 日本漫画全彩口工漫画绅士| 久久久久亚洲av无码去区首| 婷婷久久五月天| a级成人高清毛片| 国产精品久久久久影视青草| 都市激情校园春色亚洲| 国产91青青成人a在线| 狠狠爱天天综合色欲网| 亚洲欧美天堂网| 日韩免费一级片| 丰满少妇三级全黄| 成年女人免费视频播放77777| 三人性free欧美多人| 国产高清精品一区| 麻豆tv入口在线看| 国产一区二区三区手机在线观看|