物聯網開發硬體應用

提升國內高職學生物聯網開發硬體應用入門技術 待進入科技大學再升級為物聯網開發硬體設計人員


您沒有登錄。 請登錄註冊

esp8266脈衝寬度調製

向下  內容 [第1頁(共1頁)]

1 esp8266脈衝寬度調製 于 周一 10月 01, 2018 11:43 am

Admin


Admin
7.脈衝寬度調製
脈衝寬度調製(PWM)是一種在數字引腳上獲得仿真模擬輸出的方法。它通過快速切換引腳從低到高來實現這一點。有兩個與此相關的參數:切換頻率和占空比。佔空比定義為引腳與單個週期的長度(低加高時間)相比的高度。最大佔空比是指引腳始終處於高電平時,最小占空比始終處於低電平時。

在ESP8266上,引腳0,2,4,5,12,13,14和15都支持PWM。限制是它們必須都處於相同的頻率,頻率必須在1Hz和1kHz之間。

要在引腳上使用PWM,必須首先創建引腳對象,例如:

>>> 進口 機器
>>> p12  =  機器。針(12 )
然後使用以下命令創建PWM對象:

>>> pwm12  =  機器。PWM (p12 )
您可以使用以下方法設置頻率和占空比:

>>> pwm12 。freq (500 )
>>> pwm12 。職責(512 )
請注意,佔空比介於0(全關)和1023(全開)之間,512為50%佔空比。超出此最小值/最大值的值將被剪裁。如果您打印PWM對象,它將告訴您當前的配置:

>>> pwm12
PWM(12,freq = 500,佔空比= 512)
您也可以調用沒有參數的freq()和duty()方法來獲取它們的當前值。

該引腳將繼續處於PWM模式,直到您使用以下方式對其進行去初始化:

>>> pwm12 。deinit ()
7.1。褪色LED
我們使用PWM功能來淡化LED。假設您的電路板的LED連接到引腳2(ESP-12模塊),我們可以使用以下方法創建LED-PWM對象:

>>> led  =  機器。PWM (機器。引腳(2 ), 頻率= 1000 )
請注意,我們可以在PWM構造函數中設置頻率。

對於下一部分,我們將使用計時和一些數學,因此導入這些模塊:

>>> 導入 時間, 數學
然後創建一個脈衝LED的功能:

>>> def  pulse (l , t ):
...     for  i  in  range (20 ):
...         l 。值班(INT (數學。罪(我 /  10  *  數學。圓周率) *  500  +  500 ))
...         的時間。sleep_ms (t )
您可以使用以下方法嘗試此功能:

>>> 脈衝(led , 50 )
為了獲得良好的效果,您可以連續多次脈衝:

>>> for  i  in  range (10 ):
...     pulse (led , 20 )
請記住,您可以使用ctrl-C來中斷代碼。

7.2。控制愛好伺服
可以使用PWM控制Hobby伺服電機。它們需要50Hz的頻率,然後佔空比在40到115之間,其中77是中心值。如果將伺服電源連接到電源和接地引腳,然後將信號線連接到引腳12(其他引腳也可以正常工作),則可以使用以下方式控制電機:

>>> 伺服 =  機器。PWM (機。引腳(12 ), 頻率= 50 )
>>> 伺服。職責(40 )
>>> 伺服。職責(115 )
>>> 伺服。職責(77 )

檢視會員個人資料 http://iotboard.666forum.com

回頂端  內容 [第1頁(共1頁)]

這個論壇的權限:
無法 在這個版面回復文章