arduino舵機轉動程序講解:arduino舵機控制

arduino學習筆記13-利用串口控制舵機

舵機的旋轉不像普通電機那樣只是轉圈圈,它可以根據你的指令旋轉到0至180度之間的任意角度然後精準的停下來。舵機的轉動的角度是通過調節PWM(脈衝寬度調製)信號的占空比來實現的。舵機比較多的用於對角度有要求的場合,比如機械人、攝像頭、智能小車前置探測器,需要在某個範圍內進行監測的移動平台。

注意:舵機線一種是:紅、黑、黃(紅色連接 Vcc、黑色連接 GND、黃色連接信號 S)

還有較為常見的一種是:棕、紅、橙(棕色連接 GND、紅色連接 Vcc、橙色連接信號 S)

一、實驗現象

舵機在在0~180°之間來迴轉動。

二、實驗器材:控制板、舵機1 個、杜邦線。

三、實驗所用函數及語句

Ardruino也提供了<Servo.h>庫,讓我們使用舵機變得更方便了。

(1)#include<Servo.h> 載入 Servo.h 庫文件。

(2)Servo myservo; 建立一個舵機對象,名稱為 myservo 。

(3)myservo.attach(9); 將引腳 9 上的舵機與舵機對象連接起來。attach 函數連接一個舵機對象到指定的引腳上,attch 函數可以有 1 或 3 個參數。如果使用 3 個函數,第一個參數表示引腳,第二個參數表示最小角度(0度)的脈衝寬度,單位是微秒(默認是 544),第三個參數表示最大角度(180度)的脈衝寬度,單位是微秒(默認是2400)。通常情況下,只需要設置舵機引腳,忽略第二和第三個參數。

(4)myservo.write(pos); 寫角度到舵機,讓舵機轉動到指定角度。

註:以上語句的書寫格式均為「舵機變量名.具體語句()」例如:myservo.attach(9)。

下面就來具體分析一個小程序:

#include <Servo.h>//定義頭文件,這裡有一點要注意,可以直接在Arduino軟件菜單欄單擊Sketch>Importlibrary>Servo,調用Servo函數,也可以直接#include <Servo.h>,但是在輸入時要注意在#include 與<Servo.h>之間要有空格,否則編譯時會報錯。

四、實驗電路

arduino學習筆記13-利用串口控制舵機

五、編寫程序

#include <Servo.h> // 聲明調用Servo.h庫

Servo myservo; // 創建一個舵機對象

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

void setup() {

myservo.attach(9); // 將引腳9上的舵機與聲明的舵機對象連接起來, 對象名.函數名();不要忘了中間的「.」

}

void loop() {

for(pos = 0; pos < 180; pos += 1){ // 舵機從0°轉到180°,每次增加1°

myservo.write(pos); // 給舵機寫入角度

delay(15); // 延時15ms讓舵機轉到指定位置

}

for(pos = 180; pos>=1; pos-=1) { // 舵機從180°轉回到0°,每次減小1°

myservo.write(pos); // 寫角度到舵機

delay(15); // 延時15ms讓舵機轉到指定位置

}

}

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/221689.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 13:13
下一篇 2024-12-09 13:13

相關推薦

發表回復

登錄後才能評論