• OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 请问老师一下那个关于输出的问题?



    • import time, pyb, sensor, image,
      from machine import I2C
      from vl53l1x import VL53L1X
      from pyb import Servo UART LED
      
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QQVGA)
      sensor.skip_frames(time = 2000)
      sensor.set_auto_gain(True)
      sensor.set_auto_whitebal(True)
      i2c = I2C(2)
      s1=Servo(1)
      distance = VL53L1X(i2c)
      uart = UART(3, 19200)
      led1 = pyb.LED(1)
      led2 = pyb.LED(2)
      led3 = pyb.LED(3)
      clock = time.clock()
      
      while True:
          print("range: mm ", distance.read())
          time.sleep_ms(50)
          dis=distance.read()
      if 609<dis<675:
          print("wu")#0
      elif 530<dis<540:
          led1.on()
          led2.on()
          led3.on()
          clock.tick()
          img = sensor.snapshot()
          for r in img.find_rects(threshold = 23000):
              img.draw_rectangle(r.rect(), color = (255, 0, 0))
              for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0))
              print(r.w())
              print(r.h())
          elif r.w() > r.h():
              print("heng")#1
          elif r.w()<r.h():
              print("shu")#2
              led1.off()
              led2.off()
              led3.off()
      elif 390<dis<400:
              led1.on()
              led2.on()
              led3.on()
              clock.tick()
          img = sensor.snapshot()
          for r in img.find_rects(threshold = 23000):
              img.draw_rectangle(r.rect(), color = (255, 0, 0))
              for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0))
              print(r.w())
              print(r.h())
          elif r.w() > r.h():#heng
              #<通信前移>
              elif 530<dis<540:
              print("shanghengxiashu")#3
              elif 669<dis<670:
              print("shangxiaheng")#4
              #<通信复位>
          elif r.w()<r.h():
              print("shu")
              s1.angle(30)
              time.sleep_us(2000)
              elif 530<dis<540:
              print("shangshuxiaheng")#5
              s1.angle(0)
              elif 669<dis<670:
              print("shangxiashu")#6
              led1.off()
              led2.off()
              led3.off()
      

      老师我再三个if语句后边有注释0 1 2 3 4 5 6,意思是0肯定有,然后1 2符合条件输出一个,然后3 4 5 6 符合条件输出一个,最后需要输出一个就是0,1或者2,3456其中一个三个数字,怎么写一下,如果编程有问题麻烦老师指正一下蟹蟹老师



    • 没看懂你说的逻辑。😂



    • 嘿嘿 老师我说的啥意思呢 就是现在a=0,b=1或者2,c=3或者4或者5或者6,结果需要输出abc各个对应一个数字,打个比方就是0 2 5这样,0必出现的,1和2这个是有两种情况,输出一个,然后3456属于c,也属于4种情况,最后输出一个



    • 改了10分钟,全是错误,实在没法改。

      你把语法先学懂再说。