真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MicroPython怎么實現(xiàn)旋轉(zhuǎn)按鈕控制脫機(jī)擺動

這篇文章主要介紹“MicroPython怎么實現(xiàn)旋轉(zhuǎn)按鈕控制脫機(jī)擺動”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“MicroPython怎么實現(xiàn)旋轉(zhuǎn)按鈕控制脫機(jī)擺動”文章能幫助大家解決問題。

成都創(chuàng)新互聯(lián)公司是專業(yè)的惠濟(jì)網(wǎng)站建設(shè)公司,惠濟(jì)接單;提供做網(wǎng)站、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行惠濟(jì)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

    一、實驗?zāi)康模?/p>

    學(xué)習(xí)在PC機(jī)系統(tǒng)中擴(kuò)展簡單I/O 接口的方法
     學(xué)習(xí)TurnipBit拼插編程
     了解舵機(jī)工作原理
     學(xué)習(xí)TurnipBit擴(kuò)展板舵機(jī)和旋轉(zhuǎn)按鈕接線方式

    二、所需原器件:

    TurnipBit一塊
     TurnioBit擴(kuò)展板一塊
     杜邦線若干
     usb數(shù)據(jù)線一條
     舵機(jī)一個
     旋轉(zhuǎn)按鈕一個

    三、實驗原理:

    1. 舵機(jī)的組成與參數(shù)
    舵機(jī),又稱伺服馬達(dá),是一種具有閉環(huán)控制系統(tǒng)的機(jī)電結(jié)構(gòu)。舵機(jī)主要是由外殼、電路板、無核心馬達(dá)、齒輪與位置檢測器所構(gòu)成。 其工作原理是由控制器發(fā)出PWM(脈沖寬度調(diào)制)信號給舵機(jī),經(jīng)電路板上的IC處理后計算出轉(zhuǎn)動方向,再驅(qū)動無核心馬達(dá)轉(zhuǎn)動, 透過減速齒輪將動力傳至擺臂,同時由位置檢測器(電位器)返回位置信號,判斷是否已經(jīng)到達(dá)設(shè)定位置,一般舵機(jī)只能旋轉(zhuǎn)180度。

MicroPython怎么實現(xiàn)旋轉(zhuǎn)按鈕控制脫機(jī)擺動
    舵機(jī)的接線
    舵機(jī)有3根線,棕色為地,紅色為電源正,橙色為信號線,但不同牌子的舵機(jī),線的顏色可能不同。

    舵機(jī)的控制原理
    舵機(jī)的轉(zhuǎn)動的角度是通過調(diào)節(jié)PWM(脈沖寬度調(diào)制)信號的占空比來實現(xiàn)的。

    占空比:
    1.指高電平在一個周期之內(nèi)所占的時間比率。
    2.正脈沖的持續(xù)時間與脈沖總周期的比值。例如:正脈沖寬度1μs,信號周期10μs的脈沖序列占空比為0.1。即:脈沖的寬度除以脈沖的周期稱為占空比。標(biāo)準(zhǔn)PWM(脈沖寬度調(diào)制)信號的周期固定為20ms(50Hz),理論上脈寬分布應(yīng)在1ms到2ms之間,但是,事實上脈寬可由0.5ms到2.5ms之間,脈寬和舵機(jī)的轉(zhuǎn)角0°~180°相對應(yīng)。

    四、接線方法:

    TurnipBit擴(kuò)展板與發(fā)光二極管接口對應(yīng)如下表:

MicroPython怎么實現(xiàn)旋轉(zhuǎn)按鈕控制脫機(jī)擺動


    五、源代碼:

from microbit import *
 
#-----------
#github:https://github.com/microbit-playground/microbit-servo-class
#------------
class Servo:
    def __init__(self, pin, freq=50, min_us=600, max_us=2400, angle=180):
        self.min_us = min_us
        self.max_us = max_us
        self.us = 0
        self.freq = freq
        self.angle = angle
        self.analog_period = 0
        self.pin = pin
        analog_period = round((1/self.freq) * 1000)  # hertz to miliseconds
        self.pin.set_analog_period(analog_period)

    def write_us(self, us):
        us = min(self.max_us, max(self.min_us, us))
        duty = round(us * 1024 * self.freq // 1000000)
        self.pin.write_analog(duty)
        self.pin.write_digital(0)  # turn the pin off

    def write_angle(self, degrees=None):
        degrees = degrees % 360
        total_range = self.max_us - self.min_us
        us = self.min_us + total_range * degrees // self.angle
        self.write_us(us)
        
sv1 = Servo(pin1)
temp=0
while True:
    #讀取旋轉(zhuǎn)按鈕傳入的值,范圍2~1023
    read_val=pin0.read_analog()
    #舵機(jī)旋轉(zhuǎn)180度,將1023分割成180份,約等于5.67
    angle=round(read_val/5.67)
    if (temp!=angle):
        temp=angle
        sv1.write_angle(angle)
        sleep(60)

關(guān)于“MicroPython怎么實現(xiàn)旋轉(zhuǎn)按鈕控制脫機(jī)擺動”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。


網(wǎng)頁題目:MicroPython怎么實現(xiàn)旋轉(zhuǎn)按鈕控制脫機(jī)擺動
文章出自:http://weahome.cn/article/gpeopd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部