电机转接模块总共有5个端口:1个I2C通信端口,4个外扩电机端口;

python 编程:

方法

  • control_motor_running(port,mode,parameter,left_speed,right_speed)
    port可取 EX_MOTOR_1EX_MOTOR_2EX_MOTOR_3EX_MOTOR_4 如下表: | mode的取值 | parameter | left_speed取值范围 | right_speed取值范围 | | :—- | :—- | :—- | :—- | | DEFAULT_MODE | 默认模式,参数忽略 | -100~100 | -100~100 | | CONTROL_TIME_MODE | 运行的时间 | -100~100 | -100~100 | | CONTROL_ANGLE_MODE | 转动的角度 | -100~100 | -100~100 | | CONTROL_TURNS_MODE | 转动的圈数 | -100~100 | -100~100 |

  • control_motor_turnning(port,mode,parameter,direction,speed)
    port可取 EX_MOTOR_12EX_MOTOR_34

如下表:

mode的取值 parameter direction取值范围 speed取值范围
DEFAULT_MODE 默认模式,参数忽略 -100~100 -100~100
CONTROL_TIME_MODE 运行的时间 -100~100 -100~100
CONTROL_ANGLE_MODE 转动的角度 -100~100 -100~100
CONTROL_TURNS_MODE 转动的圈数 -100~100 -100~100

注:此函数运行一个电机,另一个电机会根据direction值产生联动

  • brake(port)
    电机刹车,port的取值为EX_MOTOR_1 EX_MOTOR_2``EX_MOTOR_3 EX_MOTOR_4
  • free(port)
    电机惯性停止,port的取值为EX_MOTOR_1 EX_MOTOR_2``EX_MOTOR_3 EX_MOTOR_4
  • get_rotate_angle(port)
    获取电机旋转角度,port的取值为EX_MOTOR_1 EX_MOTOR_2``EX_MOTOR_3 EX_MOTOR_4
  • clear_rotate_angle(port)
    电机旋转角度清零,port的取值为EX_MOTOR_1 EX_MOTOR_2``EX_MOTOR_3 EX_MOTOR_4
  • get_speed(port)
    获取电机速度,port的取值为EX_MOTOR_1 EX_MOTOR_2``EX_MOTOR_3 EX_MOTOR_4

编程示范

  1. import thunbot
  2. import time
  3. m1 = thunbot.motor_ex_(thunbot.PORT_A)
  4. m1.control_motor_running(m1.EX_MOTOR_3 | m1.EX_MOTOR_4, m1.DEFAULT_MODE, 0, 30, 50 )
  5. time.sleep(5)
  6. m1.control_motor_running(m1.EX_MOTOR_3 | m1.EX_MOTOR_4, m1.DEFAULT_MODE, 0, 100, 100 )
  7. time.sleep(5)
  8. m1.control_motor_running(m1.EX_MOTOR_3, m1.DEFAULT_MODE, 0, 0,)
  9. time.sleep(5)
  10. m1.control_motor_running(m1.EX_MOTOR_4, m1.DEFAULT_MODE, 0, 0,)
  11. time.sleep(5)
  12. m1.control_motor_running(m1.EX_MOTOR_1 | m1.EX_MOTOR_2, m1.DEFAULT_MODE, 0, -100, -100 )
  13. time.sleep(5)
  14. m1.free(m1.EX_MOTOR_1)
  15. m1.brake(m1.EX_MOTOR_2)
  16. print("ver:",m1.get_version())