关于例程中手动写一个电机模块的程序问题。
-
from pyb import udelay class Stepper: def __init__(self, step_pin, dir_pin, step_time=200): #初始化 self.stp = step_pin self.dir = dir_pin self.stp.init(Pin.OUT_PP) self.dir.init(Pin.OUT_PP) self.step_time = step_time # us self.steps_per_rev = 1600 self.current_position = 0 def steps(self, step_count=1): #驱动电机走几步 self.dir.value(0 if step_count > 0 else 1)#当step_count为正数的时候,设置dir引脚为低电平。否则为高电平。 for i in range(abs(step_count)):#发送step_count数量的脉冲 self.stp.value(1) udelay(self.step_time) self.stp.value(0) udelay(self.step_time) self.current_position += step_count#记录现在的角度 def rel_angle(self, angle): #驱动电机旋转相应的角度(相对角度控制) def abs_angle(self, angle): #驱动电机旋转到相应的位置(绝对角度控制)
这是一个类,放在了根目录中
from stepper import Stepper from pyb import Pin dir_pin = Pin(‘P0’) stp_pin = Pin(‘P1’) s = Stepper(step_pin=stp_pin, dir_pin=dir_pin) s.steps()#电机动一步 s.steps(100)#电机动100步 s.steps(-100)#电机反转100步
运行这个程序后提示P0未定义是怎么回事啊?
这是1网页链接:http://book.openmv.cc/module/write-module-motor.html