驱动模块/Driver

此模块可连接两个直流电机两个舵机,分别是:
直流电机A
直流电机B
舵机1
舵机2

设置电机A

Driver.set_motor_a(speed, time=0.01, block=False)
设置电机A转动
参数:
  • speed (int) –

    转速:-100~100

    符号表示转动方向,绝对值为转动速度
  • time (float) –

    变速时间,从当前转速转变到设置转速用到的时间,单位 s

    默认值为0.01
  • block (bool) –

    阻塞参数:

    False:不阻塞
    True:阻塞

Examples

# 控制电机转动
from wonderbits import Driver
import time

driver1 = Driver()
while True:
    # 先让a b 电机都以50的功率正转, 且舵机1,2都转到30度
    driver1.set_motor_a(50)
    driver1.set_motor_b(50)
    driver1.set_servo1(30)
    driver1.set_servo2(30)
    time.sleep(3) # 持续3秒

    # 让a b 电机都以50的功率反转, 且舵机1,2都转到90度
    driver1.set_motor_a(-50)
    driver1.set_motor_b(-50)
    driver1.set_servo1(90)
    driver1.set_servo2(90)
    time.sleep(3) # 持续3秒

    # 停止所有电机
    driver1.stop_motor_a()
    driver1.stop_motor_b()
    driver1.stop_servo1()
    driver1.stop_servo2()

    time.sleep(5) # 持续5秒

停止电机A

Driver.stop_motor_a()
电机A停止转动

Examples

未提供。可参考 set_motor_a 的使用案例

设置电机B

Driver.set_motor_b(speed, time=0.01, block=False)
设置电机B转动
参数:
  • speed (int) –

    转速:-100~100

    符号表示转动方向,绝对值为转动速度
  • time (float) –

    变速时间,从当前转速转变到设置转速用到的时间,单位 s

    默认值为0.01
  • block (bool) –

    阻塞参数:

    False: 不阻塞
    True: 阻塞

Examples

未提供。可参考 set_motor_a 的使用案例

停止电机B

Driver.stop_motor_b()
电机B停止转动

Examples

未提供。可参考 set_motor_a 的使用案例

设置舵机1

Driver.set_servo1(angle)
设置舵机1转动到指定角度
使用此函数后舵机1将拥有维持角度的扭矩,施加外力改变舵机1的角度会很困难
参数:angle (int) – 角度:0~180

Examples

未提供。可参考 set_motor_a 的使用案例

关闭舵机1

Driver.stop_servo1()
使用此函数后舵机1将失去维持角度的扭矩,施加外力可以轻松改变舵机1的角度

Examples

未提供。可参考 set_motor_a 的使用案例

设置舵机2

Driver.set_servo2(angle)
设置舵机2转动到指定角度
使用此函数后舵机2将拥有维持角度的扭矩,施加外力改变舵机2的角度会很困难
参数:angle (int) – 角度:0~180

Examples

未提供。可参考 set_motor_a 的使用案例

关闭舵机2

Driver.stop_servo2()
使用此函数后舵机2将失去维持角度的扭矩,施加外力可以轻松改变舵机2的角度

Examples

未提供。可参考 set_motor_a 的使用案例

事件源