问题的情况:
Arduino测量物体的长度。如果长度在预定的间隔之间,则Arduino序列写入' 1'在特定的COM端口上。 MATLAB将读取相同的COM端口,因此我们可以读取MATLAB中的“1”。对于每个' 1' (由Matlab阅读)照片由网络摄像头拍摄。下面的While循环使我们有机会在MATLAB中读取'1'。
clear all
clc
arduino = serial('/dev/tty.usbmodem1411','BaudRate',9600);
fopen(arduino);
Sensor = true
cam = webcam(2);
while (Sensor)
A = fscanf(arduino,'%d')
if A == 1
img = snapshot(cam);
imshow(img);
end
end
fclose(arduino);
但网络摄像头没有拍摄我们想拍的照片。
我们遇到以下问题:
第一次' 1'读(由Matlab),没有拍照。第二次拍照。到第三个'1',前一张照片有点变化(但是Matlab没有给第三个'1'拍摄的照片。然后是第四个'1',Matlab给出了第三个拍摄的照片。
有人知道如何解决这个问题吗?