国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——26. 舵機(jī)的使用方法

這篇具有很好參考價(jià)值的文章主要介紹了一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——26. 舵機(jī)的使用方法。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

摘要:本文介紹舵機(jī)的使用方法

在前面介紹TT馬達(dá)的時(shí)候,提到過舵機(jī)。舵機(jī)是一種精密控制類電動(dòng)機(jī),也是電動(dòng)機(jī)的一種,它的主要作用是旋轉(zhuǎn)到某一指定位置,在機(jī)器人領(lǐng)域使用得相當(dāng)?shù)膹V泛,用來實(shí)現(xiàn)各種機(jī)械臂和機(jī)器人關(guān)節(jié)的運(yùn)動(dòng)。

下面就來了解一下舵機(jī)的工作原理。在前面知道TT馬達(dá)是由電動(dòng)機(jī)和減速箱組成,而舵機(jī)為了精確控制電機(jī)的旋轉(zhuǎn)角度,因此,在普通馬達(dá)和減速箱的基礎(chǔ)上增加了用于測量角度的角度傳感器以及控制電機(jī)旋轉(zhuǎn)的控制電路。這樣,控制電路在電機(jī)旋轉(zhuǎn)的過程中,通過角度傳感器來得到當(dāng)前電機(jī)已經(jīng)旋轉(zhuǎn)的角度,從而保證其可以在指定的位置停止。這個(gè)角度傳感器最簡單的就是使用一個(gè)可調(diào)電位器來實(shí)現(xiàn),通過接入電路的電阻來計(jì)算出電位器滑片所在的位置。舵機(jī)的原理圖如下所示:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

下圖為目前在玩具、航模中最經(jīng)常使用的小型舵機(jī)。不同的舵機(jī)之間的差別主要體現(xiàn)在齒輪材質(zhì)、旋轉(zhuǎn)扭矩和旋轉(zhuǎn)角度的不同。

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

舵機(jī)齒輪的材質(zhì)通常有塑料和金屬兩種,很明顯,金屬的舵機(jī)齒輪不易磨損、精準(zhǔn)度更高一些,成本也略高,缺點(diǎn)是重量略重。舵機(jī)的旋轉(zhuǎn)角度是指它能旋轉(zhuǎn)的最大范圍,通常有90度版,180度版和360度版,其中無限位器的360度版舵機(jī)是可以連續(xù)旋轉(zhuǎn)的。

下面來了解一下是如何控制舵機(jī)工作的??刂贫鏅C(jī)旋轉(zhuǎn)需要一個(gè)20毫秒的脈沖信號,該信號的高電平部分決定著舵機(jī)旋轉(zhuǎn)到哪個(gè)位置。對于180度的舵機(jī)而言,要求該脈沖信號的高電平的時(shí)長為0.5ms~2.5ms之間,對應(yīng)舵機(jī)度盤的角度為0~180度,兩者之間呈線性關(guān)系。也就是說,當(dāng)舵機(jī)收到某個(gè)范圍內(nèi)的脈沖信號后,會(huì)依據(jù)該脈沖的寬度,轉(zhuǎn)到相應(yīng)的位置。直到下一個(gè)控制脈沖來臨之前,該舵機(jī)的位置均不會(huì)發(fā)生改變。

下面,將可旋轉(zhuǎn)范圍的中間位置設(shè)置為0度,那么180度舵機(jī)的旋轉(zhuǎn)范圍就是正負(fù)90度,輸入的控制脈寬與舵機(jī)的角度之間的關(guān)系如下圖所示:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

對于360度舵機(jī)而言,通常是無限位器的,那么360度舵機(jī)是可以連續(xù)旋轉(zhuǎn)的,因此不能用一個(gè)脈沖來指定360度舵機(jī)運(yùn)動(dòng)到指定的位置。此時(shí)的舵機(jī)更像是一個(gè)具有閉環(huán)控制,速度穩(wěn)定的減速電機(jī)。360度舵機(jī)的控制也是通過20ms的脈沖來進(jìn)行控制(高電平寬度不大于2.5ms),只不過脈沖寬度的含義不同。當(dāng)脈沖高電平寬度在1.5ms附近時(shí),360度舵機(jī)停止運(yùn)動(dòng),當(dāng)脈沖高電平寬度大于1.5ms時(shí),舵機(jī)為正轉(zhuǎn)狀態(tài),高電平時(shí)長越長,電機(jī)轉(zhuǎn)速越快。當(dāng)脈沖高電平時(shí)長小于1.5ms時(shí),舵機(jī)為反向轉(zhuǎn)動(dòng)狀態(tài),高電平時(shí)間越短,電機(jī)轉(zhuǎn)速越快。

下面來看一個(gè)常見的SG90型號的舵機(jī)的電器參數(shù):

尺寸:

21.5mmX11.8mmX22.7mm

重量:

9克

無負(fù)載速度:

0.12秒/60度(4.8V) 0.002s/度

堵轉(zhuǎn)扭矩:

1.2-1.4公斤/厘米(4.8V)

使用溫度:

-30~~+60攝氏度

死區(qū)設(shè)定:

7us (7MHZ)

工作電壓:

4.8V-6V

轉(zhuǎn)動(dòng)角度:

180度(左90,右90)

結(jié)構(gòu)材料:

塑料齒

位置等級:

1024級

脈沖控制精度:

2us

舵機(jī)模塊有三個(gè)引腳,分別是電源+、電源GND和信號線。如下圖所示:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

線纜的顏色也可能是:紅色(正極)、棕色(地線)和橙色(信號線),不同生產(chǎn)廠家使用線纜的顏色不同。

下面就把舵機(jī)接到ESP32芯片的開發(fā)板上,用程序來驅(qū)動(dòng)舵機(jī)轉(zhuǎn)起來。舵機(jī)的供電可以使用ESP開發(fā)板上的5V輸出,信號線我接到了P23引腳。打開Mixly,選擇“Audrino ESP32”,舵機(jī)功能位于Mixly的“執(zhí)行器”功能模塊組中。第一個(gè)程序來實(shí)現(xiàn)將舵機(jī)轉(zhuǎn)動(dòng)到30度的位置。設(shè)置好后如下圖所示:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

接下來就可以上傳運(yùn)行了,看看是不是可以將舵機(jī)控制到指定位置了?注意,設(shè)置一個(gè)舵機(jī)動(dòng)作之后,一定要留一段時(shí)間的延時(shí),讓舵機(jī)有一個(gè)動(dòng)作的時(shí)間。如果,舵機(jī)連續(xù)收到指令而來不及動(dòng)作,就有可能在原地?cái)[動(dòng),或者不動(dòng)。

下面來實(shí)現(xiàn)一個(gè)更復(fù)雜的功能,讓舵機(jī)在0~180度的范圍內(nèi)連續(xù)擺動(dòng)。這樣,如果將來把超聲波測距傳感器裝到舵機(jī)上,就可以實(shí)現(xiàn)在180度的范圍內(nèi),連續(xù)測量周邊障礙物的距離,為實(shí)現(xiàn)避障小車打下了基礎(chǔ)。

首先聲明兩個(gè)全局變量,一個(gè)是degree,表示需要舵機(jī)轉(zhuǎn)到哪個(gè)角度,初始為90度,也就是在中間位置。另一個(gè)是step,表示每次舵機(jī)轉(zhuǎn)動(dòng)幾度,默認(rèn)step為5。

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

然后是編寫初始化功能,初始化功能的任務(wù)就是讓舵機(jī)恢復(fù)到初始90度的位置。如下圖所示:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

接下來就是主功能函數(shù)了,它要實(shí)現(xiàn)的功能是讓舵機(jī)在0~180度內(nèi)一次旋轉(zhuǎn),主要需要完成以下工作。

  1. 將舵機(jī)轉(zhuǎn)到degree指定的位置。
  2. 計(jì)算下一步應(yīng)該轉(zhuǎn)到的位置,令degree編程degree+step。
  3. 判斷是不是馬上到一端終點(diǎn)了,如果到終點(diǎn)了,就讓step變成其相反數(shù),這樣degree就會(huì)朝著相反的方向變動(dòng)了。

實(shí)現(xiàn)后的程序如下所示:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

這樣,就可以實(shí)現(xiàn)舵機(jī)以5度為步長,在0~180度內(nèi)來回旋轉(zhuǎn)了。最后看一下Mixly生成的源代碼。

#include <ESP32_Servo.h>

volatile int degree;

volatile int step;

Servo servo_23;

void setup(){

??degree = 90;

??step = 5;

??servo_23.attach(23,500,2500);

??servo_23.write(90);

??delay(1000);

}

void loop(){

??servo_23.write(degree);

??delay(100);

??degree = step + degree;

??if (degree >= 180 || degree <= 0) {

????step = 0 - step;

??}

}

通過代碼可以看到,Arduino將舵機(jī)的操作封裝成了Servo對象。Servo對象使用attach()方法初始化輸出舵機(jī)控制脈沖的引腳和0度以及180度脈沖對應(yīng)的高電平時(shí)長。然后調(diào)用其write()方法就可以將舵機(jī)旋轉(zhuǎn)到指定的角度了。

下面來看一下在MicroPython中是如何使用舵機(jī)的。在MicroPython中,明確將舵機(jī)分成了180度和360度兩種,180度的舵機(jī)可以指定旋轉(zhuǎn)的角度而360度舵機(jī)則可以指定旋轉(zhuǎn)的速度。這比C語言的控件要考慮得更周全些。具體使用方法如下:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

生成的代碼如下:

import servo

servo.servo180_angle(26,100)

只是簡簡單單的一行程序就實(shí)現(xiàn)了控制舵機(jī)轉(zhuǎn)動(dòng)到指定位置的功能。

在這里,再介紹一個(gè)Mixly的功能,這個(gè)功能是Python環(huán)境所特有的,就是可以隨時(shí)輸入Python程序并執(zhí)行。這主要是因?yàn)镻ython是一種解釋語言,不需要編譯,在執(zhí)行的時(shí)候,就是邊執(zhí)行,邊解釋。具體的使用方法是在COM輸出窗口中的“>>>”提示符后面直接輸入要執(zhí)行的Python代碼,回車之后,該代碼就被自動(dòng)的執(zhí)行了。如下圖所示:

esp266接5個(gè)舵機(jī),硬件功能模塊,基于ESP32的物聯(lián)網(wǎng)人工智能小車,ESP32,物聯(lián)網(wǎng),人工智能,單片機(jī),c語言,python

有了這個(gè)功能,就讓我們在執(zhí)行Python程序的時(shí)候,可以隨時(shí)的分步執(zhí)行,隨時(shí)的輸出各種調(diào)試信息和狀態(tài)信息,是非常非常方便的一個(gè)功能。文章來源地址http://www.zghlxwxcb.cn/news/detail-833822.html

到了這里,關(guān)于一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——26. 舵機(jī)的使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——69 使用INMP441模塊采集聲音

    一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——69 使用INMP441模塊采集聲音

    摘要:本文介紹如何使用INMP441模塊采集聲音 前邊介紹了第一個(gè)基于I2S通信協(xié)議的MAX98357A模塊,利用該模塊可以播放各種聲音文件。今天來介紹如何使用INMP441模塊實(shí)現(xiàn)聲音的采集功能,也就是如何將聲音轉(zhuǎn)變成數(shù)字信號。 INMP441是一款高性能,低功耗,數(shù)字輸出的全向MEMS(微

    2024年03月15日
    瀏覽(21)
  • 一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——63 SD和TF卡模塊的使用

    一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——63 SD和TF卡模塊的使用

    摘要:本文介紹SD和TF卡模塊的使用方法 前面介紹了非易失性存儲(chǔ)的使用方法,由于空間和本身只支持鍵值對的限制,非易失性存儲(chǔ)只適用于少量數(shù)據(jù)的記錄。而不適用于各種聲音、圖片、大量數(shù)據(jù)等情況的使用。這時(shí)候就需要有文件系統(tǒng)或者更大容量存儲(chǔ)空間的支持。SD卡(

    2024年02月22日
    瀏覽(25)
  • 一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——71 姿態(tài)傳感器MPU6050的使用方法

    一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——71 姿態(tài)傳感器MPU6050的使用方法

    摘要:本文介紹姿態(tài)傳感器MPU6050的使用方法 姿態(tài)傳感器是一種用于測量物體姿態(tài)的傳感器,它可以檢測物體的加速度和角速度,并計(jì)算出物體的方向和角度。前邊介紹的RPI-1031只能定性的得到物體的傾斜情況,而姿態(tài)傳感器則可以定量的得到物體傾斜的方向和角度。 MPU6050是

    2024年04月28日
    瀏覽(30)
  • 一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——12. 組裝L298N驅(qū)動(dòng)馬達(dá)和供電電路

    一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——12. 組裝L298N驅(qū)動(dòng)馬達(dá)和供電電路

    摘要:本文介紹L298N模塊與TT馬達(dá)以及電源模塊的接線方法,并進(jìn)行初始測試。 在前面完成了第一個(gè)ESP32程序。接下來要繼續(xù)組裝我們的智能物聯(lián)網(wǎng)小車了。今天要完成的工作就是完成智能小車電機(jī)驅(qū)動(dòng)和ESP32開發(fā)板的控制電路連接。在具體的動(dòng)手之前,先要進(jìn)行一些準(zhǔn)備工作

    2024年02月02日
    瀏覽(56)
  • 一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——59. 基于TFT_eSPI庫的1.3寸SPI彩色顯示屏的使用(ST7789)

    一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——59. 基于TFT_eSPI庫的1.3寸SPI彩色顯示屏的使用(ST7789)

    摘要:本文是TFT液晶屏的基本知識和TFT_eSPI庫的簡單介紹 在前邊已經(jīng)介紹過0.96寸OLED顯示屏的使用方法,那是一個(gè)單色屏,顯示效果很是一般,因此,本篇來介紹彩色TFT(Thin Film Transistor:薄膜晶體管)顯示屏的使用方法。 TFT屏幕和OLED屏幕是兩種不同的顯示器件。TFT屏幕和

    2024年02月21日
    瀏覽(15)
  • 一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——61 基于TFT_eSPI庫的1.3寸SPI彩色顯示屏的使用(ST7789)(三)

    一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——61 基于TFT_eSPI庫的1.3寸SPI彩色顯示屏的使用(ST7789)(三)

    摘要:本文介紹TFT_eSPI中文字庫的制作方法 前面已經(jīng)介紹了TFT_eSPI庫的基本使用方法,如果你可以將英文顯示到液晶屏幕上了,那么就可以嘗試本文的制作中文字庫,并顯示中文到液晶屏幕了,否則還是要先完成上一篇文章的學(xué)習(xí)。 接下來就開始制作中文字庫。TFT_eSPI自帶了

    2024年02月21日
    瀏覽(18)
  • 一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——41. 直流有刷電機(jī)驅(qū)動(dòng)模塊——L9110S、TB6612FNG和DRV8833簡介

    一起玩兒物聯(lián)網(wǎng)人工智能小車(ESP32)——41. 直流有刷電機(jī)驅(qū)動(dòng)模塊——L9110S、TB6612FNG和DRV8833簡介

    摘要:本文介紹如何使用直流有刷電機(jī)驅(qū)動(dòng)模塊——L9110S、TB6612FNG和DRV8833 在前邊很詳細(xì)的介紹了直流有刷電機(jī)驅(qū)動(dòng)模塊L298N,該模塊性能良好,輸出功率大。但體積也是偏大,本篇文章介紹一下市場上另外幾個(gè)常見的小型直流有刷電機(jī)驅(qū)動(dòng)模塊L9110S、TB6612FNG和DRV8833的使用方

    2024年02月21日
    瀏覽(32)
  • 一起玩兒物聯(lián)網(wǎng)人工智能小車——04. TT馬達(dá)的基本介紹

    一起玩兒物聯(lián)網(wǎng)人工智能小車——04. TT馬達(dá)的基本介紹

    馬達(dá)和電機(jī)在英語中是兩個(gè)詞,但在我們漢語中感覺差別不大,大概是電機(jī)專指電能轉(zhuǎn)與機(jī)械能的相互轉(zhuǎn)換的裝置,而馬達(dá)可能包含其他形式的能量與機(jī)械能的轉(zhuǎn)換裝置。在本文中馬達(dá)就是特指將電能轉(zhuǎn)化為機(jī)械能的電動(dòng)機(jī)。 日常使用的電動(dòng)機(jī)在作用上通??梢苑譃閮煞N,一

    2024年02月20日
    瀏覽(24)
  • 物聯(lián)網(wǎng)畢設(shè) -- 智能圖像小車(ESP32+STM32+APP)

    物聯(lián)網(wǎng)畢設(shè) -- 智能圖像小車(ESP32+STM32+APP)

    目錄 前言 ?小車拓展 一 連線圖 1. 原理圖 2. 流程圖 3. 實(shí)物效果 4. 功能概括 (1)硬件端: (2)APP端: 演示視頻 二 底層代碼使用方式 1. 使用說明 2. 下載程序 三 APP使用方式 1.下載APP (1)操作方式: (2)使用說明 2.?APP界面 ??若需要,請咨詢博主?? 這個(gè)項(xiàng)目的硬件端是

    2024年02月15日
    瀏覽(20)
  • 走進(jìn)人工智能| 智能物聯(lián)網(wǎng) AIoT的魅力交織

    走進(jìn)人工智能| 智能物聯(lián)網(wǎng) AIoT的魅力交織

    前言: AI+IoT是指人工智能(AI)與物聯(lián)網(wǎng)(IoT)的結(jié)合。智能物聯(lián)網(wǎng)是一種技術(shù)體系,通過連接和集成物理設(shè)備、傳感器和互聯(lián)網(wǎng),實(shí)現(xiàn)設(shè)備之間的智能交互和數(shù)據(jù)共享,為人們提供智能化、自動(dòng)化和高效化的生活和工作體驗(yàn)。 智能物聯(lián)網(wǎng) (Internet of Things,IoT)是指 通過物

    2024年02月14日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包