一、实验准备
控制连接扩展板上的TT电机。如下图所示,将电机连接在电机接口上。
二、运行代码
# Import the Raspbot library And other related libraries
import time
from Raspbot_Lib import Raspbot
from ipywidgets import interact
import ipywidgets as widgets
# Create the Raspbot object bot
bot = Raspbot()
# Control motor movement
def run_motor(M1,M2,M3,M4):
bot.Ctrl_Muto(0, M1)
bot.Ctrl_Muto(1, M2)
bot.Ctrl_Muto(2, M3)
bot.Ctrl_Muto(3, M4)
return True
# Create four sliders to control the motor
interact(run_motor, \
M1=widgets.IntSlider(min=-255,max=255,step=1,value=0), \
M2=widgets.IntSlider(min=-255,max=255,step=1,value=0), \
M3=widgets.IntSlider(min=-255,max=255,step=1,value=0), \
M4=widgets.IntSlider(min=-255,max=255,step=1,value=0));
# 停止运动
bot.Ctrl_Car(0,1,0) #L1电机 后退 0速度
bot.Ctrl_Car(1,1,0) #L2电机 后退 0速度
bot.Ctrl_Car(2,1,0) #R1电机 后退 0速度
bot.Ctrl_Car(3,1,0) #R2电机 后退 0速度
del bot # 释放资源
三、核心代码解析
控制电机需要用到的Raspbot_Lib库函数:
Ctrl_Muto(motor_id, motor_speed)
参数解释:控制电机的正反转和转速
- motor_id=[1,4]:1:M1电机,2:M2电机, 3:M3电机, 4:M4电机
- motor_speed=[-255,255],正数为向前转,负数为向后转,0为停止
- 返回值:无。
Ctrl_Car(motor_id, motor_dir,motor_speed):
参数解释:控制电机的正反转和速度,需要多使用一个判断参数控制正转反转
- motor_id=[1,4]:1:M1电机,2:M2电机, 3:M3电机, 4:M4电机
- motor_dir=[0,1]:0:正转,1:反转
- motor_speed=[0,255],数值越大,电机转速越快,0为停止。
- 返回值:无。
四、实验现象
程序运行后,可以控制电机的速度跟正反转。