日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何使用Arduino舵機(jī)庫servo.h – 八色木

 MyFinoa 2020-02-13

文章目錄[隱藏]

我們都知道Arduino控制板支持PWM的引腳有限,但如果在Arduino上需要控制超出PWM引腳數(shù)量的舵機(jī)怎么辦呢?答案是使用servo.h庫文件,它是Arduino控制舵機(jī)的標(biāo)準(zhǔn)庫之一。

舵機(jī)的內(nèi)部結(jié)構(gòu)

Servo.h

查看Arduino庫文件列表,可通過Arduino IDE的“Help”菜單下的“Reference”查看。

Arduino Libraries
Arduino Libraries

我們可以看到在Arduino標(biāo)準(zhǔn)庫中的servo庫,單擊連接后進(jìn)入,可查看servo.h文件更詳細(xì)的內(nèi)容。

Servo library
Servo library

在上圖左邊是對(duì)servo庫文件的基本介紹,右邊是主要的函數(shù)和示例。

Servo庫文件使用

我們知道舵機(jī)必須定期接收高電平脈沖控制信號(hào)才能維持轉(zhuǎn)動(dòng)。如果信號(hào)停止,舵機(jī)也停止。詳見:舵機(jī)角度的控制。如果使用servo庫來設(shè)置控制信號(hào),就可以通過引入一些代碼,實(shí)現(xiàn)如延遲、檢查傳感器、等待等功能。同時(shí),由于servo庫一直在后臺(tái)運(yùn)行,而舵機(jī)一直在旋轉(zhuǎn),它會(huì)經(jīng)常中斷其他正在執(zhí)行的代碼來啟動(dòng)那些高脈沖,帶是這個(gè)切換的動(dòng)作快到我們感知不到。

使用servo庫來發(fā)送舵機(jī)控制信號(hào)一般需要四個(gè)步驟:

1、 首先要告訴Arduino編程器,希望在代碼開始時(shí),即setup函數(shù)之前,聲明使用Servo庫函數(shù)。

#include <Servo.h>          // Include servo library

2、 在#include和setup函數(shù)之間為要發(fā)送的信號(hào)命名servo庫的實(shí)例。如下servoLeft就是指定的實(shí)例名稱。

Servo servoLeft;            // Declare left servo

3、 在setup函數(shù)中,使用給出的舵機(jī)信號(hào)的名稱后跟一個(gè)點(diǎn),然后通過附加函數(shù)attach()調(diào)用信號(hào)引腳。這個(gè)例子告訴系統(tǒng)舵機(jī)信號(hào)servoLeft應(yīng)該通過數(shù)字引腳13來傳輸。

servoLeft.attach(13);      // Attach left signal to pin 13

4、writeMicroseconds()函數(shù),用于設(shè)置脈沖持續(xù)時(shí)間。

servoLeft.writeMicroseconds(1500); // 1.5 ms stay-still signal

5、write()函數(shù), 作用是將一個(gè)角度值寫入舵機(jī),設(shè)置軸轉(zhuǎn)動(dòng)的角度(該值是指角度),0為在一個(gè)方向全速轉(zhuǎn)動(dòng),180為在另一個(gè)方向上全速轉(zhuǎn)動(dòng),接近90為復(fù)位。

servoLeft.write(90);  // set servo to mid-point 

6、attached()函數(shù),用于檢測(cè)servo變量是否正確連接至Arduino對(duì)應(yīng)引腳上。返回值為 true 和 false 。

servoLeft.attached()

7、detach()函數(shù), 作用是從對(duì)應(yīng)引腳上分離舵機(jī)變量。如果要將所有舵機(jī)變量分離,則使用analogWrite()函數(shù)將引腳9和引腳10用于PWM輸出。

servoLeft.detach() 

8、read()函數(shù), 用于讀取舵機(jī)的當(dāng)前角度值(傳遞給上次調(diào)用write()的值)。

servoLeft.read()  

以上是servo.h庫文件的基本函數(shù)講解,如有不當(dāng)之處請(qǐng)諒解。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多