raspberry pi 3でDCモータを2つ動かす(TA7291Pを使う)
raspi3でDCモーターを2つ動かす
準備
- raspi3
- dc motor 2つ
- TA7291P 2つ
- 電池
- ブレッドボード
- ピン
etc …
ハードセットアップ
- 配線の仕方は以下参考。こちらはraspi 12ピンをpwmに設定。さらにraspi 16 18 32 ピンを同様に使用。32にpwmをセット。
参考:↓わかりやすい内容ありがとうございます↓
Raspberry Pi 3 でモーター制御(USB電源) | manspace
Raspberry Pi 2でDCモーターを2つ制御する - カイワレスタイル
- 電源をセット(試したのは単三電池4個=6Vくらい)
ソフトセットアップ
sudo apt-get install python-rpi.gpio
RPi.GPIOパッケージのインストール
import time import RPi.GPIO as GPIO time.sleep(3) GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) GPIO.setup(8, GPIO.OUT) GPIO.setup(10, GPIO.OUT) GPIO.setup(12, GPIO.OUT) GPIO.setup(16, GPIO.OUT) GPIO.setup(18, GPIO.OUT) GPIO.setup(32, GPIO.OUT) pwmR = GPIO.PWM(12, 50) pwmR.start(0) pwmL = GPIO.PWM(32, 50) pwmL.start(0) pwmR.ChangeDutyCycle(0) GPIO.output(8, 1) GPIO.output(10, 0) pwmL.ChangeDutyCycle(0) GPIO.output(16, 1) GPIO.output(18, 0) pwmR.ChangeDutyCycle(100) pwmL.ChangeDutyCycle(100) time.sleep(3) GPIO.output(8, 0) GPIO.output(10, 0) GPIO.output(16, 0) GPIO.output(18, 0) time.sleep(3) pwmR.ChangeDutyCycle(0) GPIO.output(8, 0) GPIO.output(10, 1) pwmL.ChangeDutyCycle(0) GPIO.output(16, 0) GPIO.output(18, 1) pwmR.ChangeDutyCycle(100) pwmL.ChangeDutyCycle(100) time.sleep(3) GPIO.output(8, 1) GPIO.output(10, 1) GPIO.output(16, 1) GPIO.output(18, 1) time.sleep(3) GPIO.output(8, 0) GPIO.output(10, 0) GPIO.output(16, 0) GPIO.output(18, 0) pwmR.stop() pwmL.stop() GPIO.cleanup() time.sleep(1)
これを実行するとモーターが2つ動きます〜
動作は正回転、停止、逆回転、停止です。
これで車と腕を動かせるようになりました。次はモバイルマニピュレータをつくりたいっす