COM port error and function error in serial communication with arduino and matlab
5 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
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.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!