参考:RaspberryPi で学ぶ電子工作(講談社)金丸氏
DCモーターをラズパイで動かす方法。
使用した物
Raspberrypi 3 Model B+
Raspberrypi OS: Linux raspberrypi 4.14.98-v7
抵抗:10kΩ
コンデンサ: 0.01μF (103と表記されている)
電池ボックス:単3 x 4
DCモーター:MERCURY MOTOR, FA-130RA
DCモータードライバ:TA7291P
ブレッドボード
配線図

実装

プログラム
# coding: utf-8
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
for i in range(2):
GPIO.output(24, GPIO.HIGH)
GPIO.output(25, GPIO.LOW)
time.sleep(0.5)
GPIO.output(24, GPIO.LOW)
GPIO.output(25, GPIO.HIGH)
time.sleep(0.5)
GPIO.cleanup()
print("finish")
実行
PWMで回転スピードもコントロールする
# coding: utf-8
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
p0 = GPIO.PWM(25, 50)
p1 = GPIO.PWM(24, 50)
p0.start(0)
p1.start(0)
for i in range(3, 7):
time.sleep(0.5)
p0.ChangeDutyCycle(i*5)
p0.ChangeDutyCycle(0)
for i in range(3, 7):
time.sleep(0.5)
p1.ChangeDutyCycle(i*5)
p0.stop()
p1.stop()
GPIO.cleanup()
print("finish")