• 安装星瞳实验室APP,快速收到回复。扫描二维码或者点击 https://singtown.com/app/
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 一个提问,一个帖子,标题为问题的介绍
  • 请贴出具体的代码,与报错提示。
  • 代码一定要让别人可以运行的文本,不要贴图片
  • 步进电机测试,无报错,就是不运行,求解决



    • 链接文本

      main函数:
      
      import pyb
      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)
      s.steps(-100)
      
      

      stepper函数

      from pyb import udelay
      from pyb import Pin
      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#记录现在的角度
      
      


    • 我之前问了这个问题了,大神说这个只是一个不完整的模板,等大神们把它补充完才能用



    • 那就一起催催大神