Arduino學習之二 舵機控制

2021-08-09 10:12:35 字數 1269 閱讀 8586

舵機是一種電機,它使用乙個反饋系統來控制電機的位置。大多數舵機是可以最大旋轉180°的。也有一些能轉更大角度,甚至360°。舵機比較多的用於對角度有要求的場合,比如攝像頭,智慧型小車前置探測器,需要在某個範圍內進行監測的移動平台。又或者把舵機放到玩具,讓玩具動起來。還可以用多個舵機,做個小型機械人,舵機就可以作為機械人的關節部分。

ardruino也提供了庫,讓我們使用舵機變得更方便了。

先從簡單入手,套件這個9g小舵機是180°的,我們就讓它在0~180°之間來回轉動。

所需材料

step 1: 硬體連線

這個專案的連線很簡單,只需按圖所示連線舵機三根線就可以了,連的時候注意線序,舵機引出三根線。一根是紅色,連到+5v上。一根棕色(有些是黑的),連到gnd。還有一根是黃色或者橘色,連到數字引腳9。

step 2:輸入**

#include // 宣告呼叫servo.h庫

servo myservo;        // 建立乙個舵機物件

int pos = 0;          // 變數pos用來儲存舵機位置

void setup()  

void loop()

for(pos = 180; pos>=1; pos-=1)  }

複製**

step 3:**回顧

**的開始先呼叫庫

#include

複製**

這個庫已經在

arduino ide中了,可以開啟arduino-1.8.5/ libraries/ servo/ servo.h,這就是servo庫所在位置。

庫函式呼叫格式如下: 

物件名.函式名();

不要忘了中間的「.」!myservo是我們前面設物件,然後呼叫的函式是:

attach(pin);

複製**

attach(pin)函式有乙個傳遞引數——pin, 任意乙個數字引腳(不建議使用數字0,1)。我們這裡選擇數字引腳9。

進入主函式,有兩個for迴圈,第一段是從0開始,迴圈到180,每次增加1度。第二個for迴圈則是從180開始,每次減小1度,一直減到0。

for迴圈中又呼叫了乙個servo庫中的函式write(pos)

myservo.write(pos);

複製**

和上面那個函式呼叫一樣,先要指明是哪個庫。該函式的傳遞引數就是角度,單位為°。

servo庫:

利用arduino 控制舵機轉動

買來的舵機通過杜邦線將舵機的與arduino板相連,此處所用的arduino為2560的,所以通過arduino的整合開發環境時應選擇該版本,以及選擇好對應的埠,這樣才能上傳成功,這裡舵機有三條線,其中那條灰色的線接到板子上標有gnd的介面,中間的線接到5v介面,另外那條線應該接到標有pwd那排裡,...

arduino入門實踐之舵機的控制

元件 arduino mega 2560 舵機 杜邦線 接線 普通舵機有3根線 棕 紅 橙 棕色連線 gnd 紅色連線 vcc 橙色連線訊號 s 原理 舵機的伺服系統由可變寬度的脈衝來進行控制,控制線是用來傳送脈衝的。脈衝的引數有最小值,最大值,和頻率。一般而言,舵機的基準訊號都是週期為20ms,寬...

Arduino控制SD卡(二)

上一節主要是介紹arduino自帶的例子中的一些sd卡的操作,包括瀏覽sd卡基本屬性 列舉sd卡上的檔案和資料夾 建立刪除檔案 讀寫檔案等。本節主要是寫乙個簡單的上位機程式,在其中可以瀏覽sd卡上的檔案和資料夾。本來還想做建立刪除檔案 資料夾等,後面犯懶了,覺得實現方式差不多,就只實現了瀏覽檔案和資...