import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM编码
GPIO.setmode(GPIO.BCM)
# 定义需要用到的引脚
IN1 = 18
IN2 = 23
IN3 = 24
IN4 = 25
ENB = 27
# 设置引脚为输出模式,并且初始化为低电平
GPIO.setup(IN1, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(IN2, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(IN3, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(IN4, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(ENB, GPIO.OUT, initial=GPIO.LOW)
# 控制电机1的正反转
def motor1_forward():
GPIO.output(IN1, GPIO.HIGH)
GPIO.output(IN2, GPIO.LOW)
time.sleep(1) # 持续1秒
GPIO.output(IN1, GPIO.LOW)
GPIO.output(IN2, GPIO.HIGH)
time.sleep(1) # 持续1秒
def motor1_backward():
GPIO.output(IN1, GPIO.LOW)
GPIO.output(IN2, GPIO.HIGH)
time.sleep(1) # 持续1秒
GPIO.output(IN1, GPIO.HIGH)
GPIO.output(IN2, GPIO.LOW)
time.sleep(1) # 持续1秒
# 控制电机2的正反转
def motor2_forward():
GPIO.output(IN3, GPIO.HIGH)
GPIO.output(IN4, GPIO.LOW)
time.sleep(1) # 持续1秒
GPIO.output(IN3, GPIO.LOW)
GPIO.output(IN4, GPIO.HIGH)
time.sleep(1) # 持续1秒
def motor2_backward():
GPIO.output(IN3, GPIO.LOW)
GPIO.output(IN4, GPIO.HIGH)
time.sleep(1) # 持续1秒
GPIO.output(IN3, GPIO.HIGH)
GPIO.output(IN4, GPIO.LOW)
time.sleep(1) # 持续1秒
# 控制电机1和电机2同时正转,实现前进动作
def forward():
motor1_forward()
motor2_forward()
time.sleep(1) # 持续1秒,根据需要调整时间长度,控制前进速度和距离
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved