RaspberryPiのPWM機能を使ってLEDの光に強弱を持たせたり,モーターの回転数を制御してみたりしましょう.
まずは回路を製作します.
プログラムを書き込みます.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import RPi.GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) p=GPIO.PWM(18,50) while 1: p.start(0) sleep(2) p.start(20) sleep(2) p.start(40) sleep(2) p.start(60) sleep(2) p.start(80) sleep(2) p.start(100) sleep(2) |
実行すると,LEDの明るさが2秒間隔で変化します.これは,PWM信号のDuty比というものを変化させているからです.
次に,モーターの回転数を変化させてみましょう.モーターはなんでもいいです.
モータードライバーはTA7291Pを使用しました.
以下の回路を製作します.モーター及びモータードライバーは5Vで動作させています.
プログラムを入力してください.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import RPi.GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.setup(24, GPIO.OUT) GPIO.setup(25, GPIO.OUT) p=GPIO.PWM(18,50) GPIO.output(24, 1) GPIO.output(25, 0) while 1: p.start(0) sleep(2) p.start(20) sleep(2) p.start(40) sleep(2) p.start(60) sleep(2) p.start(80) sleep(2) p.start(100) sleep(2) |
モーターがだんだん速く回転するようになれば成功です.
参考図書(よかったらどうぞ)