基于OpenMv的火焰追踪报警系统
系统包含模块有openmv、超声波模块、云台、激光模块、红外检测模块、烟雾传感器、蜂鸣器。
工作流程
通过openmv色域检测探测火焰大概位置,然后云台旋转,通过红外检测模块进一步确认火焰位置,再结合烟雾传感器确认火焰的发生(可自行选择是否添加)。最后通过激光模块指示火焰发生的位置并报警。
import sensor, image, time, utime, pyb
from pid import PID
from pyb import Servo
from pyb import Pin
wave_echo_pin = Pin('P0', Pin.IN, Pin.PULL_NONE)
wave_trig_pin = Pin('P1', Pin.OUT_PP, Pin.PULL_DOWN)
wave_distance = 0
tim_counter = 0
flag_wave = 0
pan_servo=Servo(1)
tilt_servo=Servo(2)
pan_servo.calibration(500,2500,500)
tilt_servo.calibration(500,2500,500)
red_threshold = (25, 47, 31, 75, 17, 55)
#pan_pid = PID(p=0.07, i=0, imax=90) #脱机运行或者禁用图像传输,使用这个PID
#tilt_pid = PID(p=0.05, i=0, imax=90) #脱机运行或者禁用图像传输,使用这个PID
pan_pid = PID(p=0.1, i=0, imax=90)#在线调试使用这个PID
tilt_pid = PID(p=0.1, i=0, imax=90)#在线调试使用这个PID
sensor.reset() # Initialize the camera sensor.
sensor.set_pixformat(sensor.RGB565) # use RGB565.
sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
sensor