COM port error and function error in serial communication with arduino and matlab
5 次查看(过去 30 天)
显示 更早的评论
Open failed: Port: COM3 is not available. Available ports: COM1.
Use INSTRFIND to determine if other instrument objects are connected to the requested device.
fopen(ard);
clc;
clear all;
CAMERA = videoinput('pointgrey', '1');%camera initialization
start(CAMERA);
for b = 1:8
automate(CAMERA)
pause(8)
end
fclose(ard)
stop(CAMERA); %stop camera acquisition
function[addition] = bodekke(imagename) %bodekke function mathematics behind the autofocus detection
im = double(imread(imagename))
bd = [-1 0 1]
cbd = conv2(im,bd)
squaredcbd = cbd.^2
addition = sum(squaredcbd(:))
end
function automate(CAMERA)
ard = serial('COM3','BaudRate',9600); %arduino initialization
fopen(ard);
pause(1);
for i = 1:30 %to capture images
filename = sprintf('testtry%02d.jpg',i);
img = im2double(getsnapshot(CAMERA)); %captures images
img = rgb2gray(img);
imwrite(img,filename)
end
D = 'C:\Users\PRL\Desktop\just'; %location where image is stored
S = dir(fullfile(D,'*.jpg'));
for k = 1:numel(S) %applies bodekke to all images
F = fullfile(D,S(k).name);
addition(k) = bodekke(F); %bodekke function call
end
plot(addition); %plotting values just for our visual understanding
[m,index] = max(addition)
hold on
plot(index,m,'*')
hold off
title("bodekke with spot images")
fprintf(ard,'%d',index) %"here is where we send the position of image to arduino"
end
0 个评论
采纳的回答
Charan Jadigam
2020-3-23
Hi,
The mentioned error occurs because of 2 reasons.
1.The port COM3 might have been already opened and the corresponding serial object might still be in the workspace. So, try deleting the serial object.
clear <serial_object>
2.The serial port ‘COM3’ is not connected to Arduino. Verify the port to which Arduino is connected in the ‘Device Manager’ and use the appropriate port.
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!