openmv4h7plus自测故障
-
Self Test Example
This example shows how your OpenMV Cam tests itself before being allowed out
of the factory. Every OpenMV Cam should pass this test.
import sensor
import pybdef test_int_adc():
adc = pyb.ADCAll(12)
# Test VBAT
vbat = adc.read_core_vbat()
vbat_diff = abs(vbat - 3.3)
if vbat_diff > 0.1:
raise Exception("INTERNAL ADC TEST FAILED VBAT=%fv" % vbat)# Test VREF vref = adc.read_core_vref() vref_diff = abs(vref - 1.2) if vref_diff > 0.1: raise Exception("INTERNAL ADC TEST FAILED VREF=%fv" % vref) adc = None print("INTERNAL ADC TEST PASSED...")
def test_color_bars():
sensor.reset()
# Set sensor settings
sensor.set_brightness(0)
sensor.set_saturation(3)
sensor.set_gainceiling(8)
sensor.set_contrast(2)# Set sensor pixel format sensor.set_framesize(sensor.QVGA) sensor.set_pixformat(sensor.RGB565) # Enable colorbar test mode sensor.set_colorbar(True) # Skip a few frames to allow the sensor settle down for i in range(0, 100): image = sensor.snapshot() # color bars thresholds t = [ lambda r, g, b: r < 70 and g < 70 and b < 70, # Black lambda r, g, b: r < 70 and g < 70 and b > 200, # Blue lambda r, g, b: r > 200 and g < 70 and b < 70, # Red lambda r, g, b: r > 200 and g < 70 and b > 200, # Purple lambda r, g, b: r < 70 and g > 200 and b < 70, # Green lambda r, g, b: r < 70 and g > 200 and b > 200, # Aqua lambda r, g, b: r > 200 and g > 200 and b < 70, # Yellow lambda r, g, b: r > 200 and g > 200 and b > 200, ] # White # color bars are inverted for OV7725 if sensor.get_id() == sensor.OV7725: t = t[::-1] # 320x240 image with 8 color bars each one is approx 40 pixels. # we start from the center of the frame buffer, and average the # values of 10 sample pixels from the center of each color bar. for i in range(0, 8): avg = (0, 0, 0) idx = 40 * i + 20 # center of colorbars for off in range(0, 10): # avg 10 pixels rgb = image.get_pixel(idx + off, 120) avg = tuple(map(sum, zip(avg, rgb))) if not t[i](avg[0] / 10, avg[1] / 10, avg[2] / 10): raise Exception( "COLOR BARS TEST FAILED." "BAR#(%d): RGB(%d,%d,%d)" % (i + 1, avg[0] / 10, avg[1] / 10, avg[2] / 10) ) print("COLOR BARS TEST PASSED...")
if name == "main":
print("")
test_int_adc()
test_color_bars()
-
这个代码仅适用于旧版已停产的ov7725感光元件的 OpenMV2 \ OpenMV3 \ OpenMV4 R1.
不适用于现在最新的MV4 H7 R2 / OpenMV4 H7 Plus / OpenMV RT 等产品。
-
那请问适用openm4 h7 plus的这个代码在哪里。我book.openmv.cc里的这个代码试过了,IDE自带的也试过了都不行呢
-
@c2zq 不需要管这个代码,我会把这个代码删除。