已经安装了servo库
G
gbhg
@gbhg
0
声望
2
楼层
27
资料浏览
0
粉丝
0
关注
gbhg 发布的帖子
-
from servo import Servos报错怎么解决
# robot.py import time from servo import Servos from machine import SoftI2C, Pin import math # 控制继电器,继电器控制电磁铁 pin1 = Pin('P1', Pin.OUT_PP, Pin.PULL_NONE) pin1.value(0) # PCA9685 舵机扩展板 i2c = SoftI2C(sda=Pin('P5'), scl=Pin('P4')) servo = Servos(i2c, address=0x40, freq=50, min_us=650, max_us=2800, degrees=180) # 三个舵机的初始位置 servo.position(0, 0) servo.position(1, 90) servo.position(2, 90) #全局变量,用于缓慢移动 servo_positions = [0,90,90] # 控制一个舵机移动 def move(index, angle): servo.position(index, angle) servo_positions[index] = angle # 控制三个舵机移动 def move_list(angle_list): print(angle_list) move(0, int(angle_list[0])) move(1, int(angle_list[1])) move(2, int(angle_list[2])) # 控制三个舵机慢速移动 def slow_move_to(angle_list): init_positions = servo_positions.copy() d0 = angle_list[0] - init_positions[0] d1 = angle_list[1] - init_positions[1] d2 = angle_list[2] - init_positions[2] dm = int(max(abs(d0), abs(d1), abs(d2))) if dm == 0: return for i in range(dm+1): move_list([init_positions[0]+i*d0/dm, init_positions[1]+i*d1/dm, init_positions[2]+i*d2/dm]) time.sleep_ms(40) # 设置棋子拾取区的位置 PICK = [[74,128,19], [82,128,17], [90,125,14], [98,128,17], [106,128,19]] # 拾取区机械臂提起来的位置 HIGH_PICK = [90,95,55] # 棋盘的放置位置 BOARD = [ [[82,150,55], [82,140,40], [81,133,30]], [[90,150,55], [90,140,40], [90,133,30]], [[98,150,55], [98,140,40], [99,133,30]] ] # 棋盘落子上方的位置 HIGH_BOARD = [90,120,70] # 拾取棋子,并放置到 x,y def pick_and_place(x,y): slow_move_to(HIGH_PICK) time.sleep_ms(500) slow_move_to(PICK[2]) time.sleep_ms(500) slow_move_to(HIGH_PICK) time.sleep_ms(500) slow_move_to(HIGH_BOARD) time.sleep_ms(500) slow_move_to(BOARD[y][x]) time.sleep_ms(500) pin1.value(1) # 继电器打开 time.sleep_ms(500) slow_move_to(HIGH_PICK) pin1.value(0) # 继电器关闭 time.sleep_ms(500) slow_move_to([0,90,90]) if __name__ == "__main__": # 校准测试用 time.sleep_ms(1) for order in [ BOARD[1][1], BOARD[0][0], BOARD[1][0], BOARD[2][0], BOARD[2][1], BOARD[2][2], BOARD[1][2], BOARD[0][2], BOARD[0][1], ]: slow_move_to(HIGH_BOARD) time.sleep_ms(500) slow_move_to(order) time.sleep_ms(500) #slow_move_to(BOARD[0][2]) #for x in PICK: #slow_move_to(HIGH_PICK) #time.sleep_ms(500) #slow_move_to(x) #time.sleep_ms(500) slow_move_to([0,90,90])
from servo import Servos报错ImportError: no module named 'servo',请问怎么解决