Doç. Dr. GÜRAY SONUGÜR

Doç. Dr. Güray SONUGÜR – Öğrenci Bilgi Paylaşım Platformu

Matlab ile GUI oluşturarak Kontrol Kartından Veri Okuma İşlemi

Yukarıdaki ara yüz oluşturma çalışmasının kodları aşağıda verilmiştir.

 

function varargout = VeriTopGui_1(varargin)
% VERITOPGUI_1 MATLAB code for VeriTopGui_1.fig
%      VERITOPGUI_1, by itself, creates a new VERITOPGUI_1 or raises the existing
%      singleton*.
%
%      H = VERITOPGUI_1 returns the handle to a new VERITOPGUI_1 or the handle to
%      the existing singleton*.
%
%      VERITOPGUI_1(‘CALLBACK’,hObject,eventData,handles,…) calls the local
%      function named CALLBACK in VERITOPGUI_1.M with the given input arguments.
%
%      VERITOPGUI_1(‘Property’,’Value’,…) creates a new VERITOPGUI_1 or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before VeriTopGui_1_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to VeriTopGui_1_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE’s Tools menu.  Choose “GUI allows only one
%      instance to run (singleton)”.
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help VeriTopGui_1

% Last Modified by GUIDE v2.5 21-Mar-2017 09:38:03

% Begin initialization code – DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name’,       mfilename, …
‘gui_Singleton’,  gui_Singleton, …
‘gui_OpeningFcn’, @VeriTopGui_1_OpeningFcn, …
‘gui_OutputFcn’,  @VeriTopGui_1_OutputFcn, …
‘gui_LayoutFcn’,  [] , …
‘gui_Callback’,   []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code – DO NOT EDIT

% — Executes just before VeriTopGui_1 is made visible.
function VeriTopGui_1_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to VeriTopGui_1 (see VARARGIN)

% Choose default command line output for VeriTopGui_1
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% This sets up the initial plot – only do when we are invisible
% so window can get raised using VeriTopGui_1.
% if strcmp(get(hObject,’Visible’),’off’)
%     plot(rand(5));
% end
clear; clc;

% UIWAIT makes VeriTopGui_1 wait for user response (see UIRESUME)
% uiwait(handles.figure1);

% — Outputs from this function are returned to the command line.
function varargout = VeriTopGui_1_OutputFcn(hObject, eventdata, handles)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;

% — Executes on button press in pushbutton1.
% function pushbutton1_Callback(hObject, eventdata, handles)
% % hObject    handle to pushbutton1 (see GCBO)
% % eventdata  reserved – to be defined in a future version of MATLAB
% % handles    structure with handles and user data (see GUIDATA)
% axes(handles.axes1);
% cla;
%
% popup_sel_index = get(handles.popupmenu1, ‘Value’);
% switch popup_sel_index
%     case 1
%         plot(rand(5));
%     case 2
%         plot(sin(1:0.01:25.99));
%     case 3
%         bar(1:.5:10);
%     case 4
%         plot(membrane);
%     case 5
%         surf(peaks);
% end

% ——————————————————————–
function FileMenu_Callback(hObject, eventdata, handles)
% hObject    handle to FileMenu (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% ——————————————————————–
function OpenMenuItem_Callback(hObject, eventdata, handles)
% hObject    handle to OpenMenuItem (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
file = uigetfile(‘*.fig’);
if ~isequal(file, 0)
open(file);
end

% ——————————————————————–
function PrintMenuItem_Callback(hObject, eventdata, handles)
% hObject    handle to PrintMenuItem (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
printdlg(handles.figure1)

% ——————————————————————–
function CloseMenuItem_Callback(hObject, eventdata, handles)
% hObject    handle to CloseMenuItem (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
selection = questdlg([‘Close ‘ get(handles.figure1,’Name’) ‘?’],…
[‘Close ‘ get(handles.figure1,’Name’) ‘…’],…
‘Yes’,’No’,’Yes’);
if strcmp(selection,’No’)
return;
end

delete(handles.figure1)

% — Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,’String’) returns popupmenu1 contents as cell array
%        contents{get(hObject,’Value’)} returns selected item from popupmenu1

% — Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    empty – handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))
set(hObject,’BackgroundColor’,’white’);
end

set(hObject, ‘String’, {‘plot(rand(5))’, ‘plot(sin(1:0.01:25))’, ‘bar(1:.5:10)’, ‘plot(membrane)’, ‘surf(peaks)’});

% — Executes on button press in btnVoltaj.
function btnVoltaj_Callback(hObject, eventdata, handles)
% hObject    handle to btnVoltaj (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

axes(handles.axes2);
cla;

sayi= get(handles.popVeriUzunluk, ‘Value’);
switch sayi
case 1
sayi=25;
case 2
sayi=50;
case 3
sayi=100;
case 4
sayi=200;
end
handles.sayi=sayi;
voltage=zeros(1,handles.sayi);
for i=1:handles.sayi
voltage(i)=readVoltage(handles.a,’A0′);
plot(voltage,’r’, ‘LineWidth’,2);
drawnow;
%     pause(0.2);
end
xlabel(‘Zaman’)
ylabel(‘Potansiyometre Voltajı’)
title(‘Potansiyometre Ölçme Değerleri’)
guidata(hObject,handles)

% — Executes on button press in ldrButton.
function ldrButton_Callback(hObject, eventdata, handles)
% hObject    handle to ldrButton (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
sayi= get(handles.popVeriUzunluk, ‘Value’);
switch sayi
case 1
sayi=25;
case 2
sayi=50;
case 3
sayi=100;
case 4
sayi=200;
end
handles.sayi=sayi;
ldr=zeros(1,handles.sayi);
for i=1:handles.sayi
ldr(i)=readVoltage(handles.a,’A1′);
plot(ldr,’g’, ‘LineWidth’,2);
drawnow;
%     pause(0.2);
end
guidata(hObject,handles)

% — Executes on button press in lm35Button.
function lm35Button_Callback(hObject, eventdata, handles)
% hObject    handle to lm35Button (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
sayi= get(handles.popVeriUzunluk, ‘Value’);
switch sayi
case 1
sayi=25;
case 2
sayi=50;
case 3
sayi=100;
case 4
sayi=200;
end
handles.sayi=sayi;
lm35=zeros(1,handles.sayi);
for i=1:handles.sayi
lm35(i)=readVoltage(handles.a,’A1′);
plot(lm35,’b’, ‘LineWidth’,2);
drawnow;

end
guidata(hObject,handles)

% — Executes on selection change in popCom.
function popCom_Callback(hObject, eventdata, handles)
% hObject    handle to popCom (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,’String’)) returns popCom contents as cell array
%        contents{get(hObject,’Value’)} returns selected item from popCom

% — Executes during object creation, after setting all properties.
function popCom_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popCom (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    empty – handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))
set(hObject,’BackgroundColor’,’white’);
end

% — Executes on selection change in popArduinoTip.
function popArduinoTip_Callback(hObject, eventdata, handles)
% hObject    handle to popArduinoTip (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,’String’)) returns popArduinoTip contents as cell array
%        contents{get(hObject,’Value’)} returns selected item from popArduinoTip

% — Executes during object creation, after setting all properties.
function popArduinoTip_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popArduinoTip (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    empty – handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))
set(hObject,’BackgroundColor’,’white’);
end

% — Executes on button press in btnTani.
function btnTani_Callback(hObject, eventdata, handles)
% hObject    handle to btnTani (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
clc
clear a;
comPort = get(handles.popCom, ‘Value’);
switch comPort
case 1
comPort=’COM1′;
case 2
comPort=’COM2′;
case 3
comPort=’COM3′;
case 4
comPort=’COM4′;
case 5
comPort=’COM5′;
end

arduTip= get(handles.popArduinoTip, ‘Value’);
switch arduTip
case 1
arduTip=’UNO’;
case 2
arduTip=’MEGA2560′;
end
a=arduino(comPort,arduTip);
% a=arduino(‘COM5′,’Mega2560′);
handles.a=a;
guidata(hObject,handles)

% — Executes on selection change in popVeriUzunluk.
function popVeriUzunluk_Callback(hObject, eventdata, handles)
% hObject    handle to popVeriUzunluk (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,’String’)) returns popVeriUzunluk contents as cell array
%        contents{get(hObject,’Value’)} returns selected item from popVeriUzunluk

% — Executes during object creation, after setting all properties.
function popVeriUzunluk_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popVeriUzunluk (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    empty – handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))
set(hObject,’BackgroundColor’,’white’);
end

% — Executes on button press in btnLedYak.
function btnLedYak_Callback(hObject, eventdata, handles)
% hObject    handle to btnLedYak (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
writeDigitalPin(handles.a,’D46′,1);

% — Executes on button press in btnLedSondur.
function btnLedSondur_Callback(hObject, eventdata, handles)
% hObject    handle to btnLedSondur (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
writeDigitalPin(handles.a,’D46′,0);