這個實驗主要利用 RPi.GPIO 的函數庫來實現 PWM 功能, 也就是用軟體模擬 PWM功能, Raspberry Pi只有一 IO 腳位有硬體 PWM, 如需要多個PWM功能可以利用 Softrware PWM.
一. 使用材料 :
1. MotoPiduino
2. Raspberry Pi
3. 5V power
4. 5V DC Motor
二. 程式: 編寫Python 程式 motor_pwm.py
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
p11=GPIO.PWM(11, 100)
p12=GPIO.PWM(12, 100)
p11.start(0)
p12.start(0)
try:
while True:
for i in range(0, 101):
p11.ChangeDutyCycle(i)
p12.ChangeDutyCycle(i)
GPIO.output(13, False)
GPIO.output(15, False)
sleep(0.2)
for i in range(100,-1,-1):
p11.ChangeDutyCycle(i)
p12.ChangeDutyCycle(i)
GPIO.output(13, False)
GPIO.output(15, False)
sleep(0.2)
except KeyboardInterrupt:
p11.stop()
p12.stop()
GPIO.output(11, 0)
GPIO.output(12, 0)
GPIO.output(13, 0)
GPIO.output(15, 0)
GPIO.cleanup()
三. 執行:
$ sudo python motor_pwm.py
$ sudo python motor_pwm.py
Information : http://www.motoduino.com