• Tidak ada hasil yang ditemukan

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN

4.3. Analisa dan Pembahasan Perangkat Lunak

4.3.2. Aplikasi MATLAB

4.3.2.5. Proses Pengenalan Warna Benda

Berdasarkan nilai-nilai dari tabel 4.2, maka dibuat sebuah range yang menentukan warna benda tersebut. Untuk benda merah range data yang digunakan yaitu ((merah>=15)&&(hijau<=8)&&(biru<=8)), sedangkan untuk benda hijau range data yang digunakan yaitu ((merah<=3)&&(hijau>=13)&&(biru<=12)), kemudian untuk benda biru

benda bukan warna dasar range data yang digunakan yaitu selain warna merah, hijau dan biru. Dari data tersebut, maka dapat dibuat range nilai untuk mengetahui dan mengenali dari masing- masing warna benda. Listing programnya adalah sebagai berikut:

if ((merah>=15)&&(hijau<=8)&&(biru<=8)) set(handles.edit4, 'string', 'MERAH'); merah1=merah1 +1;

set(handles.edit5, 'String', merah1); guidata(hObject,handles);

fprintf(komunikasi,'r'); pause(1);

guidata(hObject,handles);

elseif ((merah<=3)&&(hijau>=14)&&(biru<=12)) set(handles.edit4, 'string', 'HIJAU'); hijau1=hijau1 +1;

set(handles.edit6, 'String', hijau1); guidata(hObject,handles);

fprintf(komunikasi,'g'); pause(1);

guidata(hObject,handles);

elseif ((merah<=9)&&(hijau<=13)&&(biru>=15)) set(handles.edit4, 'string', 'BIRU'); biru1=biru1 +1;

set(handles.edit7, 'String', biru1); guidata(hObject,handles);

fprintf(komunikasi,'b'); pause(1);

guidata(hObject,handles);

else

set(handles.edit4, 'string', 'BUKAN WARNA DASAR'); bukandasar=bukandasar +1;

set(handles.edit8, 'String', bukandasar); guidata(hObject,handles);

fprintf(komunikasi,'a'); pause(1);

guidata(hObject,handles);

end

Proses berjalannya program jika data memiliki nilai R>=15 && G<=8 && B<=8 maka

akan tampil pada “edit4” bahwa benda yang terdeteksi yaitu merah, kemudian menjumlahkan nilai merah yang terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan

pada “edit5” lalu mengirimkan karakter ‘r’ secara serial dan memberi jeda selama satu detik. Jika data memiliki nilai R<=3 && G>=14 && B<=12 maka akan tampil pada “edit4” bahwa benda yang terdeteksi yaitu hijau, kemudian menjumlahkan nilai hijau yang terdeteksi

sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit6” lalu

mengirimkan karakter ‘g’ secara serial dan memberi jeda selama satu detik.

Jika data memiliki nilai R<=9 && G<=13 && B>=15 maka akan tampil pada “edit4” bahwa benda yang terdeteksi yaitu biru, kemudian menjumlahkan nilai biru yang terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit7” lalu

mengirimkan karakter ‘b’ secara serial dan memberi jeda selama satu detik. apabila data tidak berada didalam range yang ada maka akan tampil pada “edit4” bahwa benda yang terdeteksi yaitu bukan warna dasar, kemudian menjumlahkan nilai bukan warna dasar yang terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit8” lalu

BAB V

KESIMPULAN DAN SARAN

5.1.

Kesimpulan

Dari hasil pengujian serta pengambilan data pada aplikasi pengenalan objek menggunakan webcam untuk lengan robot pemisah benda berdasarkan warna, dapat diambil kesimpulan:

1. Lengan robot sudah dapat bekerja dengan baik dalam proses pengambilan dan pemindahan benda berdasarkan warnanya sesuai dengan tempat yang telah ditentukan. Tingkat keberhasilannya adalah 100% untuk posisi benda berada di tengah conveyor dan jarak antar benda minimal 2 cm, sedangkan jika jarak kurang dari 2 cm tingkat keberhasilan 62,5%.

2. Metode pengenalan warna benda dengan menggunakan nilai citra RGB pada masing-masing warna benda dapat berfungsi sesuai dengan rencana. Dan sistem berhasil melakukan counting sesuai dengan jumlah warna benda yang telah terdeteksi.

3. Waktu yang dibutuhkan keseluruhan sistem tanpa looping untuk menyelesaikan proses yaitu 25 detik sedangkan waktu yang dibutuhkan sistem dengan menggunakan looping untuk menyelesaikan proses yaitu 33 detik.

5.2.

Saran

Saran-saran bagi pengembangan selanjutnya adalah:

1. Memberikan tambahan variasi warna pada benda agar dapat membandingkan tingkat keakuratan nilai RGB yang range nilainya sudah ditentukan.

2. Menggunakan metode pengenalan warba benda lain untuk mendeteksi benda berwarna dengan webcam.

DAFTAR PUSTAKA

[1] Arismarjito, R., 2011, Robot Lengan Otomatis Sebagai Pemisah Barang Berdasarkan Warna dengan Menggunakan ATmega8535, Skripsi, Universitas Sanata Dharma Yogyakarta.

[2] Hamidah, S., 2013, Sistem Pengendalian Robot Lengan Menggunakan Pemrograman Visual Basic, Skripsi, Universitas Tanjungpura Pontianak.

[3] Suyantoro, F.S., 2010, Robotika – Teori dan implementasinya, 1st ed, C.V ANDI OFFSET, Yogyakarta.

[4] Goto, S., 2011, Robot Arms, InTech, Croatia.

[5] Sumbodo, W., 2008, Jilid 3, Teknik Produksi Mesin Industri, Direktorat Pembinaan Sekolah Menengah Kejuruan, Dirjen Manajemen Pendidikan Dasar dan Menengah, Hak Cipta Depdiknas.

[6] ---, 2014, Data sheet Mikrokontroler Atmega32, Atmel

[7] Bejo, A., 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler ATMEGA32, 1st ed, GRAHA ILMU, Yogyakarta.

[8] Winoto, A., 2002, Mikrokontroler AVR ATEMEGA8/8535/32 dan Pemrogramannya dengan Bahasa C pada WinAVR, INFORMATIKA, Bandung.

[9] Heryanto M.A., ST., Ir. Wisni Adi P., 2008, Pemrograman Bahasa C untuk Mikrokontroler ATMEGA32, 1st ed, C.V ANDI OFFSET, Yogyakarta.

[10] Adrianto, H., 2008, Pemrograman Mikrokontroler AVR ATMEGA 16, 1st ed, INFORMATIKA, Bandung.

[11] http://www.electroniclab.com, diakses 27 November 2014.

[12] http://www.parralax.com/motor servo, diakses 27 November 2014.

[13] Tipler, P.A., 1998, FISIKA Untuk Sains dan Teknik, edisi 3 jilid 1, Erlangga, Bandung.

[14] http://depokinstruments.com/2010/02/08/teknik-pengendalian-lcd-karakteri/#more- 585, diakses tanggal 27 November 2014.

[15] Laksmito, B., 2010, Pengertian webcam dan jenis jenisnya,

http://shaleholic.com/pengertian-webcam-dan-jenisnya, diakses 27 November 2014. [16] http://thesis.binus.ac.id/Doc/Bab2/, diakses 1 Desember 2014

[17] Erwi, J., 2010, Pembuatan Perangkat Lunak Menggunakan Paradigma Perangkat Lunak Secara Waterfall, UNIKOM.

[18] Alfatah, H., 2007, Konversi Format Citra RGB ke Grayscale Menggunakan Visual Basic, STMIK AMIKOM Yogyakarta.

[19] Matlab, 2012, Cara Crop Gambar, http://matlab-cara-crop-gambar.html, diakses 1 Desember 2014

[20] http://www.fairchildsemi.com/regulator7805, diakses 27 November 2014. [21] Honeycutt, R.A., 1988, Op Amps and Linear Integrated Circuits, Delmar

Publishers Inc., New York.

[22] Fathoni, 2010, Unjuk Kerja Catu Daya 12 Volt 2A dengan Pass Element Transistor NPN dan PNP, Politeknik Negeri Malang.

[23] Zuhal, dan Zhanggischan, 2004, Prinsip Dasar Elektroteknik, PT Gramedia Pustaka Utama, Jakarta.

[24] Budiharto, W., 2008, Panduan Praktikum Mikrokontroler AVR ATmega16, PT Elex Media Komputindo, Jakarta.

[25] www.modmypi.com/mg996r-servo-motor, diakses 29 November 2014.

[26] http://www.vcc2gnd.com/2014/05/sg90-tower-pro-9g-micro-servo.html, diakses 29 November 2014.

[27] ----, 2002, Data Sheet Transistor 2N3904, KEC.

[28] Boylestad, R. and Nashelsky. L., Electronic Devices and Circuit Theory, seventh edition, Prentice Hall, New Jersey Columbus, Ohio.

Berat benda setelah ditimbang

Rangkaian Regulator

Rangkaian Minimum System Atmega8535

Spesifikasi Servo Towerpro SG90 [26]

Datasheet Transistor 2N3904 [22]

Datasheet Transistor 2N3055 [29]

Listing Program CVAVR

/***************************************************** Project : APLIKASI PENGENALAN OBJEK MENGGUNAKAN WEBCAM UNTUK

LENGAN ROBOT

PEMISAH BENDA BERDASARKAN WARNA Date : 22/06/2015

Chip type : ATmega32 Program type : Application Clock frequency : 11,059200 MHz Memory model : Small

External RAM size : 0 Data Stack size : 512

*****************************************************/ #include <mega32.h>

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x15 ;PORTC #endasm

#include <lcd.h>

// Standard Input/Output functions #include <stdio.h>

#define servo1 PORTB.0 #define servo2 PORTB.1 #define servo3 PORTB.2 #define servo4 PORTB.3

signed int i=0,data1=0,data2=0,data3=0,data4=0; int sensor,a,z;

unsigned char sens[16],b[16];

// Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) {

// Place your code here i++; if (i==864) {i=0;} else { if (i<data1) {servo1=1;} else {servo1=0;} if (i<data2) {servo2=1;} else {servo2=0;} if (i<data3) {servo3=1;} else {servo3=0;} if (i<data4) {servo4=1;} else {servo4=0;} } }

#include <delay.h>

#define ADC_VREF_TYPE 0x40 // Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; return ADCW; }

// Declare your global variables here void photodioda() { sensor=read_adc(0)/2; lcd_gotoxy(0,1); sprintf(sens,"sensor=%d",sensor); lcd_puts(sens); delay_ms(10); } void komunikasi() { a=getchar(); lcd_gotoxy(0,0); sprintf(b,"komunikasi= %d" ,a); lcd_puts(b); delay_ms(100); lcd_clear();delay_ms(10); } void siaga() { data1=72; delay_ms(100); data3=94; delay_ms(100); data2=53; delay_ms(100); data4=89; delay_ms(100);

} void siaga_grip() { data1=72; delay_ms(100); data2=53; delay_ms(100); data3=94; delay_ms(100); data4=129; delay_ms(100); } void ambil_benda() { data1=72; delay_ms(100); data3=80; delay_ms(100); data2=84; delay_ms(100); data4=129; delay_ms(100); } void merah() { data1=92; delay_ms(100); data3=67; delay_ms(100); data2=82 ; delay_ms(100); data4=89; delay_ms(100); } void hijau() { data1=111; delay_ms(100); data2=53 ; delay_ms(100); data3=90; delay_ms(100); data4=89; delay_ms(100); }

void biru() { data1=48; delay_ms(100); data3=67; delay_ms(100); data2=82 ; delay_ms(100); data4=89; delay_ms(100); } void gripper() { data4=89; delay_ms(100); } void gerak_ambil() { siaga(); delay_ms(500); for (data3=94;data3>=78;data3--) { delay_ms(50); }; for (data2=53;data2<=84;data2++) { delay_ms(50); }; for (data4=89;data4<=111;data4++) { delay_ms(50); }; ambil_benda(); delay_ms(500); for (data2=84;data2>=53;data2--) { delay_ms(50); }; delay_ms(50); for (data3=72;data3<=94;data3++) { delay_ms(50); };

siaga_grip(); delay_ms(500); } void gerak_merah() { //merah gerak_ambil(); delay_ms(500); for (data3=94;data3>=67;data3--) { delay_ms(50); }; for (data1=72;data1<=92;data1++) { delay_ms(50); }; for (data2=53;data2<=82;data2++) { delay_ms(50); }; for (data4=129;data4>=89;data4--) { delay_ms(50); }; merah(); delay_ms(500); gripper(); delay_ms(500); for (data2=82;data2>=53;data2--) { delay_ms(50); }; for (data1=92;data1>=71;data1--) { delay_ms(50); }; for (data3=67;data3<=94;data3++) { delay_ms(50); }; } void gerak_hijau() { //hijau gerak_ambil(); delay_ms(500);

for (data3=94;data3>=90;data3--) { delay_ms(50); }; for (data1=72;data1<=111;data1++) { delay_ms(50); }; for (data4=129;data4>=89;data4--) { delay_ms(50); }; hijau(); delay_ms(500); gripper(); delay_ms(500); for (data1=111;data1>=71;data1--) { delay_ms(50); }; for (data3=90;data3<=94;data3++) { delay_ms(50); }; } void gerak_biru() { //biru gerak_ambil(); delay_ms(500); for (data3=94;data3>=67;data3--) { delay_ms(50); }; for (data1=72;data1>=48;data1--) { delay_ms(50); }; for (data2=53;data2<=82;data2++) { delay_ms(50); }; for (data4=129;data4>=89;data4--) { delay_ms(50); }; biru(); delay_ms(500);

gripper(); delay_ms(500); for (data2=82;data2>=53;data2--) { delay_ms(50); }; for (data1=48;data1<=71;data1++) { delay_ms(50); }; for (data3=67;data3<=94;data3++) { delay_ms(50); }; } void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0xFF;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0xFF;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 11059,200 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x01;

OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: On // USART Mode: Asynchronous

// USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00; // ADC initialization

// ADC Clock frequency: 691,200 kHz // ADC Voltage Reference: AVCC pin ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84;

// LCD module initialization lcd_init(16);

// Global enable interrupts #asm("sei")

siaga();

delay_ms(500); while (1)

{

// Place your code here photodioda(); delay_ms(10); if (sensor>=200) { delay_ms(100); PORTD.2=0;delay_ms(5); z=1; while(z) { a=getchar(); if(a==114) { lcd_gotoxy(0,1);lcd_putsf("BENDA MERAH");delay_ms(1000); gerak_merah();delay_ms(10); lcd_clear();delay_ms(10);z=0; } else if(a==103) { lcd_gotoxy(0,1);lcd_putsf("BENDA HIJAU");delay_ms(1000); gerak_hijau();delay_ms(10);

lcd_clear();delay_ms(10); z=0; } else if(a==98) { lcd_gotoxy(0,1);lcd_putsf("BENDA BIRU");delay_ms(1000); gerak_biru();delay_ms(10); lcd_clear();delay_ms(10); z=0; } else if(a==97) {

lcd_gotoxy(0,1);lcd_putsf("BUKAN WARNA DASAR");delay_ms(1000); PORTD.2=1;delay_ms(500); lcd_clear();delay_ms(10); z=0; } } } else {PORTD.2=1;delay_ms(5);} }; }

Listing Program GUI Matlab

function varargout = rgb(varargin)

% RGB M-file for rgb.fig

% RGB, by itself, creates a new RGB or raises the existing % singleton*.

%

% H = RGB returns the handle to a new RGB or the handle to % the existing singleton*.

%

% RGB('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in RGB.M with the given input arguments. %

% RGB('Property','Value',...) creates a new RGB or raises the

% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before rgb_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application % stop. All inputs are passed to rgb_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 rgb % Last Modified by GUIDE v2.5 25-Jun-2015 01:08:56 % Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @rgb_OpeningFcn, ...

'gui_OutputFcn', @rgb_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 rgb is made visible.

function rgb_OpeningFcn(hObject, eventdata, handles, varargin) clc; global merah1 global hijau1 global biru1 global bukandasar merah1=0; hijau1=0; biru1=0; bukandasar=0; guidata(hObject, handles);

% 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 rgb (see VARARGIN) % Choose default command line output for rgb

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

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

% --- Outputs from this function are returned to the command line.

function varargout = rgb_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)

global merah1

global hijau1

global biru1

global bukandasar

guidata(hObject,handles);

%komunikasi serial setting baudrate and etc

baudr=9600; databit=8; stopbit=1;

%data yang dikirimkan

komunikasi=serial(handles.PORT); guidata(hObject,handles);

%setting hardware diperlukan

set(komunikasi,'BaudRate',baudr,'DataBits',databit,'parity','none','StopBits',stopbit,'FlowCo ntrol','none');

%membuka port untuk komunikasi

fopen(komunikasi); if (out1==97)

%proses inisialisasi webcam

vid=videoinput('winvideo',1,'RGB24_320x240'); %proses capture gambar

gambar=getsnapshot(vid);

crop=imcrop(gambar,[124.51 140.51 31.98 27.98]); imshow(crop);

%proses merubah ke bentuk rgb

red=crop(:,:,1); green=crop(:,:,2); blue=crop(:,:,3); %ubah ke matrik real

c=double(red)/255; c1=double(green)/255; c2=double(blue)/255; merah=sum(sum(c/50)); hijau=sum(sum(c1/50)); biru=sum(sum(c2/50)); %tampilkan pada axes

axes(handles.axes1); imshow(crop);

set(handles.edit4, 'string', ''); set(handles.edit1, 'string', merah); set(handles.edit2, 'string', hijau); set(handles.edit3, 'string', biru);

set(handles.edit4, 'string', 'MERAH'); merah1=merah1 +1;

set(handles.edit5, 'String', merah1); guidata(hObject,handles);

fprintf(komunikasi,'r'); guidata(hObject,handles);

elseif ((merah<=3)&&(hijau>=14)&&(biru<=12)) set(handles.edit4, 'string', 'HIJAU');

hijau1=hijau1 +1;

set(handles.edit6, 'String', hijau1); guidata(hObject,handles);

fprintf(komunikasi,'g'); guidata(hObject,handles);

elseif ((merah<=9)&&(hijau<=13)&&(biru>=15)) set(handles.edit4, 'string', 'BIRU');

biru1=biru1 +1;

set(handles.edit7, 'String', biru1); guidata(hObject,handles);

fprintf(komunikasi,'b'); guidata(hObject,handles);

else

set(handles.edit4, 'string', 'BUKAN WARNA DASAR'); bukandasar=bukandasar +1;

set(handles.edit8, 'String', bukandasar); guidata(hObject,handles); fprintf(komunikasi,'a'); guidata(hObject,handles); end %menghapus koneksi pause(0.5); fclose(komunikasi); delete(komunikasi) clear komunikasi clc; end

% 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)

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

global merah

global hijau

global bukandasar

guidata(hObject,handles); cla;

merah=0;

set(handles.edit5, 'String', merah); set(handles.edit1, 'String', merah);

hijau=0;

set(handles.edit6, 'String', hijau); set(handles.edit2, 'String', hijau);

biru=0;

set(handles.edit7, 'String', biru); set(handles.edit3, 'String', biru);

bukandasar=0;

set(handles.edit8, 'String', bukandasar); set(handles.edit4, 'String', bukandasar); guidata(hObject,handles);

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles) guidata(hObject,handles);

close all; clear all;

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles) contents = get(hObject,'Value'); switch contents case 1 handles.PORT='COM1'; case 2 handles.PORT='COM2'; case 3 handles.PORT='COM3'; case 4 handles.PORT='COM4'; case 5 handles.PORT='COM5'; case 6 handles.PORT='COM6';

case 7 handles.PORT='COM7'; case 8 handles.PORT='COM8'; case 9 handles.PORT='COM9'; case 10 handles.PORT='COM10'; case 11 handles.PORT='COM11'; case 12 handles.PORT='COM12'; case 13 handles.PORT='COM13'; case 14 handles.PORT='COM14'; case 15 handles.PORT='COM15'; case 16 handles.PORT='COM33'; case 17 handles.PORT='COM34'; case 18 handles.PORT='COM35'; end guidata(hObject,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

function edit5_Callback(hObject, eventdata, handles)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit5 as text

% str2double(get(hObject,'String')) returns contents of edit5 as a double % --- Executes during object creation, after setting all properties.

function edit5_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit 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

function edit6_Callback(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text

% str2double(get(hObject,'String')) returns contents of edit6 as a double % --- Executes during object creation, after setting all properties.

function edit6_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit 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

function edit7_Callback(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit7 as text

% str2double(get(hObject,'String')) returns contents of edit7 as a double % --- Executes during object creation, after setting all properties.

function edit7_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit 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

function edit8_Callback(hObject, eventdata, handles)

% hObject handle to edit8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit8 as text

% str2double(get(hObject,'String')) returns contents of edit8 as a double

% --- Executes during object creation, after setting all properties.

function edit8_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit 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

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double % --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit 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

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double % --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit 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

function edit3_Callback(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text

% str2double(get(hObject,'String')) returns contents of edit3 as a double % --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

Dokumen terkait