• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 编写滤波函数报错问题,报错如图片



    • # Untitled - By: admin - 周三 5月 22 2024
      
      import sensor, image, time
      
      from ucollections import deque
      from pyb import Timer
      import time
      
      # 假设的温度读数函数
      def read_temperature():
          return 25.5  # 这应该是一个函数,用于读取温度传感器的值
      
      # 温度过滤函数
      def temperature_filter(queue_size=10):
          # 创建一个固定大小的队列
          temperature_queue = deque(maxlen=queue_size)
      
          # 添加初始温度数据
          temperature_queue.append(read_temperature())
      
          # 创建一个定时器每隔一定时间更新温度数据
          def update_temperature(timer):
              temperature_queue.append(read_temperature())
      
          # 定时器触发间隔,单位为毫秒
          update_interval = 1000  # 1秒更新一次
      
          # 创建定时器并设置回调函数
          timer = Timer(0, update_interval, update_temperature)
          timer.start()
      
          while True:
              # 等待并在队列满时停止,或者可以设置一个超时时间
              while len(temperature_queue) < queue_size:
                  time.sleep(1)
      
              # 计算并返回过滤后的平均温度
              return sum(temperature_queue) / len(temperature_queue)
      
      # 使用温度过滤函数
      avg_temperature = temperature_filter()
      print("平均温度:", avg_temperature)
      
      

      0_1716363640024_错误显示.PNG



    • deque(maxlen=queue_size)改为deque((), queue_size)