星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • openmv的p7 或p8口好像坏了一个 ,控制不了舵机,我想用p9代替坏的那个,该怎么改代码啊



    • from pyb import Pin, Timer#导入引脚和定时器
      inverse_left=False #change it to True to inverse left wheel 初始化
      inverse_right=False #change it to True to inverse right wheel 初始化

      ain1 = Pin('P0', Pin.OUT_PP)#控制左右两边电机方向
      ain2 = Pin('P1', Pin.OUT_PP)
      bin1 = Pin('P2', Pin.OUT_PP)
      bin2 = Pin('P3', Pin.OUT_PP)
      ain1.low()
      ain2.low()
      bin1.low()
      bin2.low()

      pwma = Pin('P7')
      pwmb = Pin('P8')
      tim = Timer(4, freq=1000)#设置定时器4 频率为1000hz
      ch1 = tim.channel(1, Timer.PWM, pin=pwma)
      ch2 = tim.channel(2, Timer.PWM, pin=pwmb)
      ch1.pulse_width_percent(0)
      ch2.pulse_width_percent(0)

      def run(left_speed, right_speed):
      if inverse_left==False: #如果接反了正负 就取反修正
      left_speed=(-left_speed)
      if inverse_right==True:# 同上
      right_speed=(-right_speed)

      if left_speed < 0:
          ain1.low()
          ain2.high()
      else:
          ain1.high()
          ain2.low()
      ch1.pulse_width_percent(int(abs(left_speed)))
      
      if right_speed < 0:
          bin1.low()
          bin2.high()
      else:
          bin1.high()
          bin2.low()
      ch2.pulse_width_percent(int(abs(right_speed)))


    • 14,15行,把P7,或者P8,改成P9就行了。