Skip to content

#モータードライバーTA7291Pのサンプルコード

プログラム

 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# coding: utf-8
import RPi.GPIO as GPIO
import time

MOTORPIN1 = 4
MOTORPIN2 = 5
MOTOR_LEVEL_PIN = 18
POWER_PIN = 17

GPIO.setwarnings(False)
GPIO.setmode( GPIO.BCM )
GPIO.setup(MOTOR_LEVEL_PIN, GPIO.OUT )
GPIO.setup(MOTORPIN1, GPIO.OUT )
GPIO.setup(MOTORPIN2, GPIO.OUT )

#基準用の3.3Vを確保するために使用
GPIO.setup(POWER_PIN, GPIO.OUT )
GPIO.output( POWER_PIN, True )

# PWM/100Hzに設定
MOTOR_LEVEL = GPIO.PWM(MOTOR_LEVEL_PIN, 100)
# 初期化
MOTOR_LEVEL.start(0)

if __name__ == '__main__':
    try:
        #モーター正転
        GPIO.output( MOTORPIN1, True )
        GPIO.output( MOTORPIN2, False )
        #速度変更
        for i in range(10,101,10):
            MOTOR_LEVEL.ChangeDutyCycle(i)
            time.sleep(1)
        #モーターストップ
        GPIO.output( MOTORPIN1, False )
        GPIO.output( MOTORPIN2, False )
        MOTOR_LEVEL.stop()
        GPIO.cleanup()
    except KeyboardInterrupt:
        MOTOR_LEVEL.stop()
        GPIO.cleanup()
        sys.exit(0)