# Thermopile Shield Demo with LCD # # Note: To run this example you will need a Thermopile Shield for your OpenMV # Cam and a LCD Shield. Also, please disable JPEG mode in the IDE. # # The Thermopile Shield allows your OpenMV Cam to see heat! import sensor, image, time, fir, lcd # Reset sensor sensor.reset() # Set sensor settings sensor.set_contrast(1) sensor.set_brightness(0) sensor.set_saturation(2) sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA2) # The following registers fine-tune the image # sensor window to align it with the FIR sensor. if (sensor.get_id() == sensor.OV2640): sensor.__write_reg(0xFF, 0x01) # switch to reg bank sensor.__write_reg(0x17, 0x19) # set HSTART sensor.__write_reg(0x18, 0x43) # set HSTOP # Initialize the thermal sensor fir.init() # Initialize the lcd sensor lcd.init() # FPS clock clock = time.clock() while(True): clock.tick() # Capture an image image = sensor.snapshot() # Capture FIR data # ta: Ambient temperature # ir: Object temperatures (IR array) # to_min: Minimum object temperature # to_max: Maximum object temperature ta, ir, to_min, to_max = fir.read_ir() # Draw IR data on the framebuffer fir.draw_ir(image, ir) # Draw ambient, min and max temperatures. image.draw_string(0, 0, "Ta: %0.2f"%ta, color = (0xFF, 0x00, 0x00)) image.draw_string(0, 8, "To min: %0.2f"%to_min, color = (0xFF, 0x00, 0x00)) image.draw_string(0, 16, "To max: %0.2f"%to_max, color = (0xFF, 0x00, 0x00)) # Display image on LCD lcd.display(image) # Print FPS. print(clock.fps())