<Raspberry Pi-38>

おもしろ実験室<TA7291モータドライバの調査>で紹介しましたTA7291ですが
RaspberryPiのPythonプログラムを使って、モーター制御を試験しましたので紹介します。

TA7291とモータとRaspberry Pi ZERO


画像をクリックして見てください
前進、後進、右折、左折の動作をします、オシロに表示するパルスはPWMです
(50Hz,デューティ比50%)



回路図 Pythonプログラムの準備としてターミナルから下記を実地しておく sudo apt-get update sudo apt-get upgrade sudo apt-get install python-pip(続行しますか[y/n]?はyを入力) Pythonプログラムは下記の通りです(while cnt < 3: <は半角にして下さい) ------------------------------------------------------------------------------------------ #!/usr/bin/python import RPi.GPIO as GPIO from time import sleep gpwm = 20 f = 50 R_IN1 = 2 R_IN2 = 3 L_IN1 = 4 L_IN2 = 5 wait= 3 GPIO.setmode(GPIO.BCM) #GPIO設定をGPIO番号にする(ピン番号の場合はGPIO.BOARDとする) GPIO.setup(gpwm, GPIO.OUT, initial=GPIO.LOW) #GPIO20を出力にしてLOWにする GPIO.setup(R_IN1, GPIO.OUT, initial=GPIO.LOW) #GPIO2を出力にしてLOWにする GPIO.setup(R_IN2, GPIO.OUT, initial=GPIO.LOW) #GPIO3を出力にしてLOWにする GPIO.setup(L_IN1, GPIO.OUT, initial=GPIO.LOW) #GPIO4を出力にしてLOWにする GPIO.setup(L_IN2, GPIO.OUT, initial=GPIO.LOW) #GPIO5を出力にしてLOWにする def mae(): GPIO.output(R_IN1, GPIO.HIGH) GPIO.output(R_IN2, GPIO.LOW) GPIO.output(L_IN1, GPIO.HIGH) GPIO.output(L_IN2, GPIO.LOW) return def usiro(): GPIO.output(R_IN1, GPIO.LOW) GPIO.output(R_IN2, GPIO.HIGH) GPIO.output(L_IN1, GPIO.LOW) GPIO.output(L_IN2, GPIO.HIGH) return def right(): GPIO.output(R_IN1, GPIO.HIGH) GPIO.output(R_IN2, GPIO.LOW) GPIO.output(L_IN1, GPIO.LOW) GPIO.output(L_IN2, GPIO.HIGH) return def left(): GPIO.output(R_IN1, GPIO.LOW) GPIO.output(R_IN2, GPIO.HIGH) GPIO.output(L_IN1, GPIO.HIGH) GPIO.output(L_IN2, GPIO.LOW) return def stop(): GPIO.output(R_IN1, GPIO.LOW) GPIO.output(R_IN2, GPIO.LOW) GPIO.output(L_IN1, GPIO.LOW) GPIO.output(L_IN2, GPIO.LOW) return gp=GPIO.PWM(gpwm,f) gp.start(0) dc = 50 cnt=0 while cnt < 3: cnt=cnt + 1 gp.ChangeDutyCycle(dc) mae() sleep(wait) usiro() sleep(wait) right() sleep(wait) left() sleep(wait) stop() gp.ChangeDutyCycle(0) ------------------------------------------------------------------------------------------ Raspberry Pi-39に続く・・・ Raspberry メニューに戻る