樹莓派實驗室

轉載自) 


脈寬調製(PWM)是指用微處理器的數字輸出來對模擬電路進行控制,是一種對模擬信號電平進行數字編碼的方法。在樹莓派上,可以通過對GPIO的編程來實現PWM。

創建一個 PWM 實例:

1
= GPIO.PWM(channel, frequency)

啓用 PWM:

1
p.start(dc)   # dc 代表佔空比(範圍:0.0 <= dc >= 100.0)

更改頻率:

1
p.ChangeFrequency(freq)   # freq 爲設置的新頻率,單位爲 Hz

更改佔空比:

1
p.ChangeDutyCycle(dc)  # 範圍:0.0 <= dc >= 100.0

停止 PWM:

1
p.stop()

注意,如果實例中的變量“p”超出範圍,也會導致 PWM 停止。

以下爲使 LED 每兩秒鐘閃爍一次的示例:

1
2
3
4
5
6
7
8
9
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
  
= GPIO.PWM(120.5)
p.start(1)
input('點擊回車停止:')   # 在 Python 2 中需要使用 raw_input
p.stop()
GPIO.cleanup()

以下爲使 LED 在亮/暗之間切換的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
  
= GPIO.PWM(1250)  # 通道爲 12 頻率爲 50Hz
p.start(0)
try:
    while 1:
        for dc in range(01015):
            p.ChangeDutyCycle(dc)
            time.sleep(0.1)
        for dc in range(100-1-5):
            p.ChangeDutyCycle(dc)
            time.sleep(0.1)
except KeyboardInterrupt:
    pass
p.stop()
GPIO.cleanup()

相關鏈接:
RPi.GPIO module PWM

本文來自:樹莓派實驗室
鏈接地址:http://shumeipai.nxez.com/2014/11/13/rpi-gpio-module-pwm-basic-function.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章