Hello!
I need to create a comunication between OpenMV serial and Arduino serial: I want to read data from the first one and print them on the second one.
I did this program on OpenMV (cables connected at P4/P5 of camera):
from pyb import UART
uart = UART(3,9600, timeout_char = 1000)
thresholds_index = 0 #for yellow
Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max)
The below thresholds track in general yellow things.
thresholds = [(50, 100,-20,20, 30, 100)] # generic_yellow_thresholds
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.HQVGA) #240x160
sensor.skip_frames(30)
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking
clock = time.clock()
while(True):
clock.tick()
Do your regular OpenMV image processing / etc
Only blobs that with more pixels than “pixel_threshold” and more area than “area_threshold” are
returned by “find_blobs” below. Change “pixels_threshold” and “area_threshold” if you change the
camera resolution. “merge=True” must be set to merge overlapping color blobs for color codes.
clock.avg()
img = sensor.snapshot().lens_corr(strength=1.8, zoom=1.0)
for blob in img.find_blobs([thresholds[thresholds_index]], pixels_threshold=50, area_threshold=50, merge=True):
These values are stable all the time.
img.draw_rectangle(blob.rect())
img.draw_cross(blob.cx(), blob.cy())
x= blob.cx()/13.12.54
y= blob.cy()/13.12.54
uart.write(“%d\n”%x)
uart.write(“%d\n”%y)
print(“x: %d\n”%x, end=‘’)
print(“y: %d\n”%y)
#print(clock.avg())
Arduino( MEGA) Code:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop(){
if (mySerial.available()){
delay(100); // Wait for all data.
while (mySerial.available()) {
char d = mySerial.read();
str.concat(d);
}
}
char t[str.length()+1];
str.toCharArray(t, (sizeof(t)));
int intdata = atoi(t);
Serial.print(intdata);
Serial.print(“\n”);
delay(100);
}
But I don’t have any results.
Thanks for the help!