(待补充)

参考:it项目网【官网】-配套软件+硬件,教程视频,通俗易懂

代码

from machine import Pin, PWM
import time

# 初始化电机1的引脚
motor1_pin1 = Pin(12, Pin.OUT)  # 电机1的输入1
motor1_pin2 = Pin(13, Pin.OUT)  # 电机1的输入2
motor1_pwm = PWM(Pin(12), freq=1000, duty=0)  # 电机1的PWM控制

# 初始化电机2的引脚
motor2_pin1 = Pin(14, Pin.OUT)  # 电机2的输入1
motor2_pin2 = Pin(27, Pin.OUT)  # 电机2的输入2
motor2_pwm = PWM(Pin(14), freq=1000, duty=0)  # 电机2的PWM控制

# 设置电机转动方向
def set_motor_direction(pin1, pin2, direction):
    if direction == "forward":
        pin1.value(1)
        pin2.value(0)
    elif direction == "backward":
        pin1.value(0)
        pin2.value(1)
    elif direction == "stop":
        pin1.value(0)
        pin2.value(0)

# 设置电机速度
def set_motor_speed(pwm, speed):
    pwm.duty(int(speed * 1023 / 100))  # 将速度百分比转换为占空比(10位分辨率)

# 控制电机1
def control_motor1(direction, speed):
    set_motor_direction(motor1_pin1, motor1_pin2, direction)
    set_motor_speed(motor1_pwm, speed)

# 控制电机2
def control_motor2(direction, speed):
    set_motor_direction(motor2_pin1, motor2_pin2, direction)
    set_motor_speed(motor2_pwm, speed)

# 示例:控制电机1和电机2
try:
    while True:
        # 电机1正转,速度50%
        control_motor1("forward", 50)
        # 电机2反转,速度75%
        control_motor2("backward", 75)
        time.sleep(2)  # 运行2秒

        # 电机1停止
        control_motor1("stop", 0)
        # 电机2停止
        control_motor2("stop", 0)
        time.sleep(1)  # 停止1秒

        # 电机1反转,速度100%
        control_motor1("backward", 100)
        # 电机2正转,速度25%
        control_motor2("forward", 25)
        time.sleep(2)  # 运行2秒

        # 电机1停止
        control_motor1("stop", 0)
        # 电机2停止
        control_motor2("stop", 0)
        time.sleep(1)  # 停止1秒
        print("end")

except KeyboardInterrupt:
    # 程序退出时停止电机
    control_motor1("stop", 0)
    control_motor2("stop", 0)
    print("程序结束,电机已停止")

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐