参考: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")