COM port error and function error in serial communication with arduino and matlab

5 views (last 30 days)
i get this error:Error using serial/fopen (line 72)
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

Accepted Answer

Charan Jadigam
Charan Jadigam on 23 Mar 2020
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.

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!