function UltraSonicSensor_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
axes(handles.axes1)
[SensorImage, SensorMap] = imread('hc-sr04.bmp');
imshow(SensorImage, SensorMap)
axis off
axis image
delete(instrfind);
handles.serial = serial('COM1','BaudRate', 9600);
handles.serial.BytesAvailableFcnMode = 'terminator';
handles.serial.BytesAvailableFcn = @Serial_Receive;
fopen(handles.serial);
handles.TimeOutCounter = 1;
delete(timerfind);
handles.timer = timer;
handles.timer.TimerFcn = {@Timer_1Second, handles};
handles.timer.StartDelay = 5;
handles.timer.ExecutionMode = 'FixedRate';
start(handles.timer);
guidata(hObject, handles);
function varargout = UltraSonicSensor_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function Timer_1Second(hObject, evendata, handles)
handles.output = hObject;
My_Address = 14;
Trans_Header = 44;
Trans_Destination = 36;
Trans_Source = My_Address;
Trans_Length = 2;
Trans_OpCode = 1;
Trans_Data = 1;
data = [Trans_Header,Trans_Destination,Trans_Source,Trans_Length ...
,Trans_OpCode,Trans_Data];
Trans_Checksum = Compute_Checksum(data,6);
data(end+1) = Trans_Checksum;
if strcmp(get(handles.serial,'Status'),'open')
fwrite(handles.serial,data,'uchar');
handles.TimeOutCounter = handles.TimeOutCounter + 1;
fprintf('Value is = %d\n ',handles.TimeOutCounter);
end
if handles.TimeOutCounter > 10
stop(handles.timer);
fclose(handles.serial);
delete(instrfind);
end
guidata(hObject, handles);