本文非常適合初學者,因為它很容易上手,并且為他們建立有趣的項目(例如通常使用伺服器的機器人)奠定了基礎。伺服電機(Servo Motor)是高轉矩電機,由于其在機器人和其他一些應用中的通用性,輕松控制其旋轉。伺服電機也稱為舵機,它帶有齒輪輸出軸,該齒輪輸出軸可以通過電氣控制,每次旋轉一度。為了控制起見,與普通的直流電動機不同,伺服電機通常在兩個電源引腳(VCC和GND)的旁邊有一個引腳,即信號引腳。信號引腳用于控制伺服電機,將其軸旋轉至任何所需角度。
在本篇文章中,我們將使用非常流行的SG90伺服電機,我們的目標是將伺服電機從一個角度旋轉到另一個角度。伺服電機的電流要求很高,因此當在Arduino上使用多個伺服電機時,需要將其電源連接到外部電源,因為Arduino可能無法提供伺服電機所需的電流,這一點很重要。由于在本文中我們將僅使用一個伺服電機,因此可以通過Arduino為它供電。
所需的組件
● SG90伺服電機
● Arduino Uno開發板
● 連接導線
● 面包板
原理圖
該項目的原理圖非常簡單,因為我們只需將伺服電機連接到Arduino,伺服電機通常具有三個引腳,其中包括VCC、GND和Signal引腳。Signal引腳是用于將控制信號從微控制器饋送到伺服電機,以使伺服電機旋轉到特定角度。如下圖所示,將伺服器連接至Arduino。
Signal引腳連接到Arduino的數字引腳8,因為它是PWM引腳。伺服方向以PWM脈沖方式從微控制器發送到伺服電機。完成所有連接后,我們現在就可以編寫項目代碼了。
代碼
本篇文章的代碼非常容易,這要歸功于Arduino團隊開發的非常全面而簡潔的Serve.h庫,該庫便于在Arduino項目中使用伺服電機。該庫使使用單個命令輕松地將伺服電機旋轉到不同的角度。
該庫是預先安裝在Arduino IDE中的,無需我們下載和安裝。首先,我們在代碼中包含將要使用的庫(在本例中為Serve.h庫)。
#include
接下來,我們創建該庫的一個對象,以在整個代碼中用作控制伺服電機的參考。
Servo servo;
完成此操作后,我們開始void setup()函數。首先,將創建的伺服對象附加到微控制器的引腳D8,然后將伺服電機旋轉至零度。
void setup() {
servo.attach(8);
servo.write(angle);
}
完成此操作后,我們就可以按照所需的任何方向移動伺服電機了,我們將在void loop()函數中執行此操作。通過使用Servo.h庫,要將伺服電機旋轉到所需的角度,我們要做的只是將所需角度作為參數傳遞給Servo.write()函數。為了證明這一點,使用了一個for循環將伺服電機沿一個方向旋轉幾個角度,并使用另一個循環將伺服器旋轉回其起點。
void loop()
{
// scan from 0 to 180 degrees
for(angle = 10; angle < 180; angle++)??
{
servo.write(angle);
delay(15);
}
// now scan back from 180 to 0 degrees
for(angle = 180; angle > 10; angle--)
{
servo.write(angle);
delay(15);
}
}
以下是本文的完整代碼:
#include
Servo servo;
int angle = 10;
void setup() {
servo.attach(8);
servo.write(angle);
}
void loop()
{
// scan from 0 to 180 degrees
for(angle = 10; angle < 180; angle++)??
{
servo.write(angle);
delay(15);
}
// now scan back from 180 to 0 degrees
for(angle = 180; angle > 10; angle--)
{
servo.write(angle);
delay(15);
}
}
效果演示
復制上面的代碼,然后上傳到Arduino開發板,對伺服電機進行設置,一段時間后,您應該看到伺服電機開始轉動。
以上就是本文的所有內容,上面的代碼可以通過多種方式擴展,以用于涉及伺服電機的不同項目中,您將使用伺服電機制造出什么很棒的東西?
-
伺服電機
+關注
關注
88文章
2118瀏覽量
59659 -
開發板
+關注
關注
25文章
5680瀏覽量
104701 -
Arduino
+關注
關注
190文章
6498瀏覽量
192148 -
SG90
+關注
關注
0文章
9瀏覽量
11648
發布評論請先 登錄
有ARM,NPU,FPGA三種核心的開發板 — 米爾安路飛龍派開發板

從單片機初學者邁向單片機工程師
linux初學者,用這樣的開發板合適嗎?
dsPIC33EDV64MC205電機控制開發板用戶指南

Arduino Nano Matter開發板正式上市
XD08M3232紅外感應單片機開發板適合初學者嗎?
正點原子fpga開發板不同型號
安信可Ai-WB2+舵機控制(SG90)

比較不同品牌ARM開發板優缺點
伺服電機原理及控制應用
種草一塊國產FPGA開發板,不用燒錄器,一根TypeC線即插即用,盤古PGX-MINI 4K開發板
盤點那些硬件+項目學習套件:阿里云HaaS EDU物聯網開發板及入門常見問題解答

評論