<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 基礎入門 >> 伺服電機與控制 >> 正文

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

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2019-05-30

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

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

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

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

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

      什么是舵機?

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

      伺服電機的分類及應用

      伺服電機是如何工作的?

      什么是PWM:脈沖寬度調制

      秒懂舵機角度控制原理

      Arduino控制多個舵機代碼解析

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

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

      #include <Servo.h>

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

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

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

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

      現在,在void loop()函數中,將所有的舵機從0度旋轉到180度,然后從180度旋轉到0度。下列代碼中使用的延遲時間是用來增加或減少舵機的響應速度的,因為延遲時間直接影響到變量 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); 
      } 
      } 
      

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

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

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 九九综合九九综合| 伊人久久中文大香线蕉综合| 久久婷婷国产综合精品| 激情五月婷婷综合| 亚洲综合精品香蕉久久网| 色综合久久久无码网中文| 国产成人综合久久精品免费| 色综合久久久久综合体桃花网 | 一本久道综合色婷婷五月| 中文自拍日本综合| 一本久久a久久精品综合香蕉| 麻豆狠色伊人亚洲综合网站| 少妇人妻综合久久中文字幕| 色综合久久一区二区三区| 色天使亚洲综合在线观看| 亚洲五月激情综合图片区| 九九久久99综合一区二区| 伊人亚洲综合青草青草久热 | 色噜噜成人综合网站| 色综合久久精品中文字幕首页| 国产成人综合美国十次| 亚洲综合国产一区二区三区| 狠狠综合久久AV一区二区三区| 女人和拘做受全程看视频日本综合a一区二区视频 | 亚洲综合精品网站| 久久精品综合一区二区三区| 狠狠色伊人久久精品综合网| 亚洲国产婷婷综合在线精品| 亚洲精品第一国产综合精品99| 色婷婷久久综合中文久久一本| 色天天综合色天天碰| 国产亚洲欧洲Aⅴ综合一区| 91精品国产91久久综合| 亚洲国产成人久久综合一| 97久久天天综合色天天综合色| 伊色综合久久之综合久久| 八区精品色欲人妻综合网| 丁香婷婷色五月激情综合深爱| 久久综合给久久狠狠97色| 国产精品综合在线| 国产成人综合日韩精品无码不卡|