# Measure the distance
#
# This example shows off how to measure the distance through the size in imgage
# This example in particular looks for yellow pingpong ball.
import sensor, image, time
import json
# For color tracking to work really well you should ideally be in a very, very,
# very, controlled enviroment where the lighting is constant...
yellow_threshold = (27, 61, 36, 127, -128, 127)
# You may need to tweak the above settings for tracking green things...
# Select an area in the Framebuffer to copy the color settings.
from pyb import UART
sensor.reset() # Initialize the camera sensor.
sensor.set_pixformat(sensor.RGB565) # use RGB565.
sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
sensor.skip_frames(10) # Let new settings take affect.
sensor.set_auto_whitebal(False) # turn this off.
clock = time.clock() # Tracks FPS.
uart = UART(3, 9600)
K=640#the value should be measured
while(True):
clock.tick() # Track elapsed milliseconds between snapshots().
img = sensor.snapshot() # Take a picture and return the image.
blobs = img.find_blobs([yellow_threshold])
if len(blobs) == 1:
# Draw a rect around the blob.
b = blobs[0]
img.draw_rectangle(b[0:4]) # rect
img.draw_cross(b[5], b[6]) # cx, cy
if 0<b[5]<160/3 and 0<b[6]<40:
uart.write('0x01')
#print(b[5],b[6])
if b[5]<320/3 and b[6]<40:
uart.write('2')
#print(b[5],b[6])
if 320/3<b[5]<160 and 0<b[6]<40:
uart.write('3')
#print(b[5],b[6])
if 0<b[5]<160/3 and 40<b[6]<80:
uart.write('4')
#print(b[5],b[6])
if 160/3<b[5]<320/3 and 40<b[6]<80:
uart.write('5')
#print(b[5],b[6])
if 320/3<b[5]<160 and 40<b[6]<80:
uart.write('6')
#print(b[5],b[6])
if 0<b[5]<160/3 and 80<b[6]<120:
uart.write('7')
#print(b[5],b[6])
if 160/3<b[5]<320/3 and 80<b[6]<120:
uart.write('8')
#print(b[5],b[6])
if 320/3<b[5]<160 and 80<b[6]<120:
uart.write('9')
#print(b[5],b[6])
#print(clock.fps()) # Note: Your OpenMV Cam runs about half as fast while
# connected to your computer. The FPS should increase once disconnected.
怎么给arduino传16进制的数字1,2,3,4,5,,,,