PRAKTIKUM TEN 1
ANTARMUKA DAN PERIPHERAL
DISUSUN OLEH :
Arduino uno terdapat pin I/O untuk mengakses atau menerima data yang
berupa sinyal analog maupun sinyal digital.
Pada Arduino Uno berikut penjelasan singkatnya yang mudah dipahami:
Input Analog
Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang
berhubungan dengan variabel lain.Contoh dari sinyal analog yaitu intensitas cahaya
LED yang dimana arus yang didalamnya juga meningkat, arus melalui resistor seperti
yang kita memvariasikan tegangan, atau suhu di kamar yang berjalan sering dengan
berjalannya waktu.Sinyal analog dapat mengambil nilai-nilai yang tak terbatas dan
pada mikrokontroler tidak dapat mewakili jumlah yang tak terbatas nilainya itu.
Sehingga yang harus dilakukan ketika ada sinyal analog yaitu dengan cara sampling
dengan cara mengubah sinyal analog tersebut menjadi sinyal digital melalui pin
khusus yaitu pin Analog ke Digital Konversi (ADC).
Ini pada dasarnya berarti bahwa memilih nilai-nilai tertentu di suatu daerah
dan kemudian kita menggunakan serangkaian bit untuk mewakili nilai-nilai tersebut
saja.
Pin analog (ADC) tersebut berfungsi sebagai pengubah sinyal analog
menjadi output digital sehingga mudah diolah dan dapat diukur.
Pin analog (ADC) dapat mengukur nilai tegangan yang masuk dengan kondisi
normal range dari 0 – 5 Vdc yang akan dibandingkan dengan tegangan refrensinya
(Vref).
Hal ini berguna saat akan mengukur output tegangan dari suatu sensor yang
terhubung serta dapat dimanfaatkan untuk keperluan pengondisian program.Untuk
membaca sinyal analog yang terhubung pada pin ADC di Software IDE Arduino
yaitu menggunakan fungsi analogRead([nomorPin]).
Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi
harus melewati proses pengubahan output dari digital menjadi analog yang
memerlukan fungsi komponen Digital to Analog Converter.Tetapi pada Arduino
fungsi tersebut tidak ada modul itu, sehingga memerlukan modul eksternal (modul
DAC) sebagai konverter sinyalnya.Tetapi disisi lain, output analog pada Arduino
kebanyakan memiliki fitur PWM (Pulse Width Modulation).
Contoh kasus apabila arduino yang dihubungkan dengan LED ingin
mengendalikan intensitas cahaya dari LED tersebut (nyala terang – redup mati).
Analog output yang terdapat di Arduino akan mengeluarkan sinyal analog dengan
nilai pwm / intensitas yang telah diprogram/setting. PWM seolah – olah dapat
memanipulasi / mengubah sinyal digital menjadi sinyal analog. Dengan cara
Arduino mengubah keluaran sinyal digital dari logika HIGH ke LOW atau sebaliknya
dengan waktu yang telah ditentukan. Lama waktu untuk logika HIGH dikatakan
dengan istilah panjang pulsa atau pulse width. Variasi perubahan nilai output
analog dihasilkan dari perubahan panjang pulsa yang telah diset dengan
kondisi waktu tertentu serta dikerjakan secara berulang-ulang.
Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau
menerima data yang berupa input output digital. Penjelasan yaitu :
Input Digital
Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1 atau 0,
logika high atau low, maupun kondisi on atau off.
Beda halnya dengan sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1,
nilai tersebut akan dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital
adalah pin yang dapat mengirim atau menerima sinyal – sinyal digital.
Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari
sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai 0 jika
tidak terdeteksi adanya benda.
Output Digital
Pada output digital sebenarnya hampir sama dengan input digital
dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0. Yang
membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat
diset sebagai input maupun output.format dasar pemograman untuk deklarasi >>
pinMode ([pin yang digunakan], [INPUT or OUTPUT]};
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan
output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-
fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau
menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up
(terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-
fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan
(TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke
pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu
sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan
yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih
jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport
komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika
pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya
memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6
input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu
mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF
dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi
TWI dengan menggunakan Wire library
int led=11;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}
VI. Kesimpulan
Teori Dasar
Arduino uno terdapat pin I/O untuk mengakses atau menerima data yang
berupa sinyal analog maupun sinyal digital.
Pada Arduino Uno berikut penjelasan singkatnya yang mudah dipahami:
Input Analog
Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang
berhubungan dengan variabel lain.Contoh dari sinyal analog yaitu intensitas cahaya
LED yang dimana arus yang didalamnya juga meningkat, arus melalui resistor seperti
yang kita memvariasikan tegangan, atau suhu di kamar yang berjalan sering dengan
berjalannya waktu.Sinyal analog dapat mengambil nilai-nilai yang tak terbatas dan
pada mikrokontroler tidak dapat mewakili jumlah yang tak terbatas nilainya itu.
Sehingga yang harus dilakukan ketika ada sinyal analog yaitu dengan cara sampling
dengan cara mengubah sinyal analog tersebut menjadi sinyal digital melalui pin
khusus yaitu pin Analog ke Digital Konversi (ADC).
Ini pada dasarnya berarti bahwa memilih nilai-nilai tertentu di suatu daerah
dan kemudian kita menggunakan serangkaian bit untuk mewakili nilai-nilai tersebut
saja.
Pin analog (ADC) tersebut berfungsi sebagai pengubah sinyal analog
menjadi output digital sehingga mudah diolah dan dapat diukur.
Pin analog (ADC) dapat mengukur nilai tegangan yang masuk dengan kondisi
normal range dari 0 – 5 Vdc yang akan dibandingkan dengan tegangan refrensinya
(Vref).
Hal ini berguna saat akan mengukur output tegangan dari suatu sensor yang
terhubung serta dapat dimanfaatkan untuk keperluan pengondisian program.Untuk
membaca sinyal analog yang terhubung pada pin ADC di Software IDE Arduino
yaitu menggunakan fungsi analogRead([nomorPin]).
Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi
harus melewati proses pengubahan output dari digital menjadi analog yang
memerlukan fungsi komponen Digital to Analog Converter.Tetapi pada Arduino
fungsi tersebut tidak ada modul itu, sehingga memerlukan modul eksternal (modul
DAC) sebagai konverter sinyalnya.Tetapi disisi lain, output analog pada Arduino
kebanyakan memiliki fitur PWM (Pulse Width Modulation).
Contoh kasus apabila arduino yang dihubungkan dengan LED ingin
mengendalikan intensitas cahaya dari LED tersebut (nyala terang – redup mati).
Analog output yang terdapat di Arduino akan mengeluarkan sinyal analog dengan
nilai pwm / intensitas yang telah diprogram/setting. PWM seolah – olah dapat
memanipulasi / mengubah sinyal digital menjadi sinyal analog. Dengan cara
Arduino mengubah keluaran sinyal digital dari logika HIGH ke LOW atau sebaliknya
dengan waktu yang telah ditentukan. Lama waktu untuk logika HIGH dikatakan
dengan istilah panjang pulsa atau pulse width. Variasi perubahan nilai output
analog dihasilkan dari perubahan panjang pulsa yang telah diset dengan
kondisi waktu tertentu serta dikerjakan secara berulang-ulang.
Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau
menerima data yang berupa input output digital. Penjelasan yaitu :
Input Digital
Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1 atau 0,
logika high atau low, maupun kondisi on atau off.
Beda halnya dengan sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1,
nilai tersebut akan dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital
adalah pin yang dapat mengirim atau menerima sinyal – sinyal digital.
Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari
sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai 0 jika
tidak terdeteksi adanya benda.
Output Digital
Pada output digital sebenarnya hampir sama dengan input digital
dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0. Yang
membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat
diset sebagai input maupun output.format dasar pemograman untuk deklarasi >>
pinMode ([pin yang digunakan], [INPUT or OUTPUT]};
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan
output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-
fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau
menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up
(terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-
fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan
(TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke
pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu
sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan
yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih
jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport
komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika
pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya
memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6
input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu
mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF
dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi
TWI dengan menggunakan Wire library
int ledPin1=12;
int ledPin2=11;
int ledPin3=10;
int matlabData;
void setup()
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
if(Serial.available()>0)
{
matlabData=Serial.read();
{
if(matlabData==1)
digitalWrite(ledPin1,HIGH);
else if(matlabData==2)
digitalWrite(ledPin1,LOW);
if(matlabData==1)
digitalWrite(ledPin2,HIGH);
else if(matlabData==2)
digitalWrite(ledPin2,LOW);
if(matlabData==1)
digitalWrite(ledPin3,HIGH);
else if(matlabData==2)
digitalWrite(ledPin3,LOW);
}
}
}
answer=1;
arduino=serial('COM3','BaudRate',9600);
fopen(arduino);
while answer
fprintf(arduino,'%s',char(answer));
answer=input('Enter led value 1 or 2(1=ON, 2=OFF,
0=EXIT PROGRAM):');
end
fclose(arduino);
4.7 Setelah di program pada MATLAB kemudian Run dan amati lednya
4.8 Buatlah Program pada aplikasi Arduino IDE
int ledPin1=12;
int ledPin2=11;
int ledPin3=10;
int matlabData;
void setup()
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
if(Serial.available()>0)
{
matlabData=Serial.read();
{
if(matlabData==1)
digitalWrite(ledPin1,HIGH);
delay(500);
digitalWrite(ledPin1,LOW);
delay(500);
if(matlabData==2)
digitalWrite(ledPin1,LOW);
if(matlabData==1)
digitalWrite(ledPin2,HIGH);
delay(500);
digitalWrite(ledPin2,LOW);
delay(500);
if(matlabData==2)
digitalWrite(ledPin2,LOW);
if(matlabData==1)
digitalWrite(ledPin3,HIGH);
delay(500);
digitalWrite(ledPin3,LOW);
delay(500);
if(matlabData==2)
digitalWrite(ledPin3,LOW);
}
}
}
4.9 Setelah menuliskan program kemudian ulangi perintah pada langkah 4.6
dan 4.7
4.10 Buat Program kembali pada Arduino IDE
int led1=12;
int led2=11;
int led3=10;
int matlabData;
void setup() {
// put your setup code here, to run once:
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run
repeatedly:
{
if(Serial.available()>0)
{
matlabData=Serial.read();
if(matlabData==1)
digitalWrite(led1,HIGH);
else if(matlabData==2)
digitalWrite(led1,LOW);
else if(matlabData==3)
digitalWrite(led2,HIGH);
else if(matlabData==4)
digitalWrite(led2,LOW);
else if(matlabData==5)
digitalWrite(led3,HIGH);
else if(matlabData==6)
digitalWrite(led3,LOW);
}
}
}
1. 1 1 Menyala
2. 2 1 Mati
3. 3 2 Menyala
4. 4 2 Mati
5. 5 3 Menyala
6. 6 3 Mati
Kemudian untuk program kedua yaitu untuk membuat running led maka
hanya dengan menggunakan data input 1 yang kita masukan pada matlab maka led
1,2,dan 3 akan menyala dan mati sesuai jeda waktu yang di program
Dan yang terakhir untuk program ketiga yaitu untuk menyalakan dan
mematikan led secara manual dengan 6 data input , ketika kita memasukan data 1
pada matlab maka led akan menyala , ketika kita masukan data 2 pada matlab maka
led akan mati hal ini akan sama sampai pada memasukan data input yang ke 6 pada
matlab
VI. KESIMPULAN
Dari percobaan yang telah dilakukan dapat disimpulkan bahwa untuk
menyalakan LED secara bersamaaan , Running LED, maupun secara manual yaitu
menggunakan data input yang berbeda-beda ketika LED menyala secara bersamaan
maka data yang digunakan 2 yaitu untuk menyalakan LED dan mematikan LED, dan
untuk menyalakan Running LED data yang digunakan hanya 1, sedangkan ketika
ingin menyalakan lampu secara manual kita menggunaan 6 data. Dalam hal ini
arduino sebagai programnya sedangkan MATLAB sebagai inputan data untuk
menyalakan LED.
PERCOBAAN III
Pengenalan PORT Digital dan Analog LED
int ledPin1=12;
int ledPin2=11;
int ledPin3=10;
void setup()
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
Serial.flush();
intnilaiSensor=analogRead(A0);
Serial.println(nilaiSensor);
delay(50);
if (nilaiSensor> 200)
{
digitalWrite(ledPin1,HIGH);
}
if (nilaiSensor> 400)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
}
if (nilaiSensor> 500)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
}
if (nilaiSensor< 200)
{
digitalWrite(ledPin1,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
}
}
SerialPort='com4';
judulGrafik='Logger Data Serial';
xLabel='Waktu(detik)';
yLabel='Data';
plotGrid='on';
min=0;
max=1050;
lebarScroll=10;
delay= .01;
waktu=0;
data=0;
cacah=0;
plotGraph=plot(waktu,data,'-o',...
'LineWidth',1,...
'MarkerSize',3,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r');
title (judulGrafik,'FontSize',15);
xlabel(xLabel,'FontSize',12);
ylabel(yLabel,'FontSize',12);
axis([0 10 min max]);
grid(plotGrid);
s=serial(SerialPort);
disp('Tutupjendelagrafikuntukmengakhiri logger');
fopen(s);
tic
whileishandle (plotGraph)
nilaiInput=fscanf(s,'%d');
if(~isempty(nilaiInput) &&isfloat(nilaiInput))
cacah=cacah+1;
waktu(cacah)=toc;
data(cacah)=nilaiInput(1);
if(lebarScroll> 0)
set(plotGraph,'XData',waktu(waktu>waktu(cacah)-lebarScroll),...
'YData',data(waktu>waktu(cacah)-lebarScroll));
axis([waktu(cacah)-lebarScrollwaktu(cacah) min max]);
else
set(plotGraph,'XData',waktu,'YData',data);
axis ([0 waktu(cacah) min max]);
end
pause(delay);
end
end
fclose(s);
clear all;
disp('Logger berakhir...');
VI. Kesimpulan
Pada percobaan ini dapat disimpulkan bahwa pada percobaan ini proses
antarmuka antara arduino IDE dan Matlab dimana menyala dan matinya led
diatur oleh potensiometer, ketika potensiometer diputar kekanan sampai data
<200 maka led 1 menyala, ketika data >400 led 1 dan 2 menyala, ketika data
>500 maka led 1,2, dan 3 akan menyala,dan ketika data <200 maka led 1,2,3
mati.
PERCOBAAN IV
Pengenalan PORT Digital dan Analog LED
I. Tujuan Percobaan
1.1 Mahasiswa mengenal jenis-jenis dan fungsi pin pada mikrokontroler berbasis
arduino Atmega 328 (arduino UNO).
1.2 Mahasiswa mampu menggunakan pin-pin pada mikrokontroler sesuai
fungsinya.
1.3 Mahasiswa mampu menyelesaikan kasus tertentu dengan menggunakan
setiap fungsi pin-pin dalam mikrokontroler.
II. Dasar Teori
Arduino uno terdapat pin I/O untuk mengakses atau menerima data yang
berupa sinyal analog maupun sinyal digital.
Pada Arduino Uno berikut penjelasan singkatnya yang mudah dipahami:
Input Analog
Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang
berhubungan dengan variabel lain.Contoh dari sinyal analog yaitu intensitas
cahaya LED yang dimana arus yang didalamnya juga meningkat, arus melalui
resistor seperti yang kita memvariasikan tegangan, atau suhu di kamar
yang berjalan sering dengan berjalannya waktu.Sinyal analog dapat mengambil
nilai-nilai yang tak terbatas dan pada mikrokontroler tidak dapat mewakili
jumlah yang tak terbatas nilainya itu.
Sehingga yang harus dilakukan ketika ada sinyal analog yaitu dengan cara
sampling dengan cara mengubah sinyal analog tersebut menjadi sinyal digital
melalui pin khusus yaitu pin Analog ke Digital Konversi (ADC).
Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung,
tetapi harus melewati proses pengubahan output dari digital menjadi analog
yang memerlukan fungsi komponen Digital to Analog Converter.Tetapi
pada Arduino fungsi tersebut tidak ada modul itu, sehingga memerlukan
modul eksternal (modul DAC) sebagai konverter sinyalnya.Tetapi disisi lain,
output analog pada Arduino kebanyakan memiliki fitur PWM (Pulse Width
Modulation).
Contoh kasus apabila arduino yang dihubungkan dengan LED ingin
mengendalikan intensitas cahaya dari LED tersebut (nyala terang – redup
mati). Analog output yang terdapat di Arduino akan mengeluarkan sinyal
analog dengan nilai pwm / intensitas yang telah diprogram/setting. PWM
seolah – olah dapat memanipulasi / mengubah sinyal digital menjadi sinyal
analog. Dengan cara Arduino mengubah keluaran sinyal digital dari logika
HIGH ke LOW atau sebaliknya dengan waktu yang telah ditentukan. Lama
waktu untuk logika HIGH dikatakan dengan istilah panjang pulsa atau pulse
width. Variasi perubahan nilai output analog dihasilkan dari perubahan
panjang pulsa yang telah diset dengan kondisi waktu tertentu serta dikerjakan
secara berulang-ulang.
Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau
menerima data yang berupa input output digital. Penjelasan yaitu :
Input Digital
Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1
atau 0, logika high atau low, maupun kondisi on atau off. Beda halnya dengan
sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1 nilai tersebut akan
dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital adalah pin
yang dapat mengirim atau menerima sinyal – sinyal digital.
Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari
sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai
0 jika tidak terdeteksi adanya benda.
Output Digital
Pada output digital sebenarnya hampir sama dengan input digital
dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai
0. Yang membedakan hanya pada penggunaan fungsi pada saat
pemogramannya, kapan saat diset sebagai input maupun output.format dasar
pemograman untuk deklarasi >> pinMode ([pin yang digunakan], [INPUT or
OUTPUT]};
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi
TWI dengan menggunakan Wire library
intledpin=12;
intmatlabData;
void setup()
{
pinMode (ledpin,OUTPUT);
Serial.begin (9600);
}
void loop()
{
if(Serial.available()>0)
{
matlabData=Serial.read();
if(matlabData=='A')
digitalWrite(ledpin,HIGH);
else if(matlabData=='Z')
digitalWrite(ledpin,LOW);
}
}
functionvarargout = LATIHAN1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @latihan1_OpeningFcn, ...
'gui_OutputFcn', @latihan1_OutputFcn, ...
'gui_LayoutFcn', [], ...
'gui_Callback', []);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
ifnargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function LATIHAN1_OpeningFcn(hObject, eventdata,
handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
functionvarargout = LATIHAN1_OutputFcn(hObject,
eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata,
handles)
global s
fwrite(s,'Z');
function edit1_Callback(hObject, eventdata,
handles)
function edit1_CreateFcn(hObject,eventdata,
handles)
ifispc&&isequal(get(hObject,'BackgroundColor')),
get(0,'defaultUicontrolBackgroundColor'),
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata,
handles)
function edit2_CreateFcn(hObject, eventdata,
handles)
ifispc&&isequal(get(hObject,'BackgroundColor')),
get(0,'defaultUicontrolBackgroundColor'),
set(hObject,'BackgroundColor','white');
end
function pushbutton2_Callback(~,~,~)
global s
myform=guidata(gcbo);
aa=get(myform.edit1,'String');
bb=str2double(get(myform.edit2,'String'));
s=serial(aa,'Baudrate',bb,'Databits',8,'Stopbits',
1,'InputBufferSize',16000);
fopen(s)
function pushbutton3_Callback(hObject, eventdata,
handles)
global s
fwrite(s,'A');
function pushbutton4_Callback(hObject, eventdata,
handles)
global s
fclose(s);
delete(s);
clears;
ON
OFF
OPEN
CLOSE
Dapat dianalisa bahwa untuk percobaan ini Matlab di menggunakan
fitur GUI (Graphical User Interface) untuk menyalakan led nya , pada data hasil
percobaan terdapat tombol seperti ON , OFF , OPEN , dan CLOSE. Tombol
ON berfungsi untuk menyalakan LED dengan data yang dimasukan yaitu A dan
tombol OFF berfungsi untuk mematikan LED dengan data yang dimasukan
yaiitu Z , dan push button yang ke 3 yaitu OPEN untuk membuka atau
menjalankan program yang telah deprogram di arduino dan dan tombol CLOSE
untuk mematikan program serta menghapus perintah.
VI. Kesimpulan
Pada percobaan ini dapat disimpulkan bahwa pada percobaan ini Matlab
yang terhubung dengan Arduino menggunakan fitur GUI (Graphical User
Interface) untuk menyalakan LED digunakan tombol ON untuk menyalakan
LED, tombol OFF untuk mematikan LED, tombol OPEN untuk menjalankan
program arduino, dan tombol CLOSE untuk memberhentikan program atau
menutup program.