Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

INSTRUMENTASI INDUSTRI

Class : 3C-EK

Name/NIM : Muhammad Nadzar Al Anshari/211354020

Experiment Number :

No/Practicum Module
: Serial MATLAB
Name

Practicum Date : 05/09/2023

Reporting Date : 07/09/2023

PROGRAM STUDI D4 TEKNIK ELEKTRONIKA


POLITEKNIK NEGERI BANDUNG
Semester 5 2023/2024
1. Tujuan
• Mempelajari koneksi serial pada MATLAB
• Membuat program sederhana simulasi ARDUINO pada Proteus dan
Matlab(tampilan grafik)
• Membuat program sederhana simulasi untuk komunikasi serial pada system
instrumentasi (sensor, processor dan actuator) dengan menggunakan Arduino
pada Proteus dan Matlab

2. Alat dan Bahan


Table-1. Alat dan bahan
Alat dan Bahan Spesifikasi Jumlah

Proteus - 1

Arduino Library - 1

Sketch Arduino IDE - 1

Software VSPE - 1

Hyperterminal - 1

Matlab - 1

3. Langkah Percobaan
A. Tahapan Koneksi Serial
a. Membuka Objek Port Serial
Ketikan pada command window matlab:
s =serial(‘COM2’)
maka akan tampak hasil:
b. Editing Atribut(setting parameter)
Dapat dilihat dan di edit parameter dari port serial dengan fungsi get dan set

Tetapi jika parameter yang ingin di set banyak maka kita dapat melakukan
cara berikut :

c. Mengirim dan menerima data


i. Transmit dari MATLAB ke perangkat lain digunakan
fungsi/instruksi:
- fprintf : menulis teks ke perangkat
- fwrite : menulis binary ke perangkat
ii. Receive dari perangkat ke MATLAB digunakan fungsi/instruksi:
- fgets : membaca baris teks dari perangkat dan
memasukan terminator
- fget1 : membaca baris teks dari pernagkat dan tanpa
memasukan terminator
- fscanf : membaca data dari perangkat dan umumnya
berbentuk teks
- fread : membaca data binary dari perangkat
d. Menutup Objek Port Serial
Ketika port serial telah selesai digunakan maka dilakukan fungsi/instruksi:
fclose
delete
B. Mengamati koneksi serial MATLAB dan PROTEUS
Pada bagian ini akan dikoneksikan MATLAB dan PROTEUS melalui koneksi
serial
1. Buat rangkaian berikut pada PROTEUS, yaitu COMPIM (COM 2, setting
baudrate 9600 seperti pada praktikum 2) dan virtual terminal (mirror)

2. Buka program Com0Com dan lakukan PAIR COM1 dan COM2. Lalu running
PROTEUS
3. Buka Program MATLAB dan lakukan intruksi dibawah ini pada command
window untuk proses transmit teks dari MATLAB ke PROTEUS. Catatan :
Pastikan MATLAB bisa terkoneksi secara serial
s = serial (‘COM2’,’Baudrate’,9600);
fopen (s)
fprintf(s,’Laboratorium Instrumentasi’);
fprintf(s,’Prak ke 3’);
4. Hasilnya akan tampak seperti berikut:

5. Lakukan intruksi dibawah ini pada command window untuk proses receive teks
dari PROTEUS ke MATLAB dengan terlebih dahulu melakukan Clear Screen
dan Echo Typed Characters dengan cara klik kanan pada virtual terminal
fgets(s)
6. Hasilnya akan tampak seperti berikut :

Pada gambar diatas terdapat warning erro. Warning tersebut terjadi karena
terminator default-nya adalah ‘LF’ atau Line Feed yang mengakibatkan delay.
Sekarang diubah menjadi ‘CR’ atau Carriage Return sehingga transmisinya
menjadi lebih cepat, caranya dengan melakukan setting atribut seperti berikut:
Set(s,’terminator’,’CR’)

Coba ulangi poin 6, maka akan tampak hasil yang lebih cepat pada command
window. Hasilnya seperti berikut:

7. Jika koneksi ini ingin ditutup maka lakukan instruksi:


fclose(s)
delete(s)
8. Pada tahapan ini kita telah mendapatkan koneksi serial antara MATLAB dan
PROTEUS
C. Melakukan ON/OFF LED dengan instruksi dari MATLAB
1. Buat rangkaian terleih dahulu

2. Masukan file .hex dengan kode program berikut:

3. Jalankan Com0Com dengan PAIR COM1-COM2


4. Jalankan program MATLAB, pada command window atau window editor
lakukan instruksi berikut:
clear all
clc

answer=1;
data=serial(‘COM2’,’baudrate’,9600)

fopen(data); %membuka komunikasi

while answer
fprintf(data,’%s’,char(answer));
answer=input(‘Masukan nilai LED 1 atau 2 (1=ON, 2=OFF, 0=Keluar): ‘);
end

fclose(data); %menutup komunikasi

maka akan tampak hasil seperti berikut:

Dan jika kita masukkan nilai 1 maka LED akan ON, hasilnya seperti:

Sebaliknya jika kita masukan nilai 2 maka LED akan OFF, hasilnya seperti:

5. Pada bagian ini kita telah berhasil melakukan ON/OFF LED menggunakan
MATLAB
D. Buat rangkaian dengan mengkoneksikan ke MATLAB, untuk melakukan ON/OFF
LED dengan delay waktu yang bisa diubah-ubah pada command window pada
MATLAB
Command Matlab

Hasil :
Untuk memberi delay pada lampu yaitu dengan memasukkan nilai delay(ms) pada
matlab. Misalkan Ketika pada matlab memasukan delay 200ms maka waktu on dan
off akan ter setting selama 2 detik.

E. Akuisisi Data dengan Display Grafik pada MATLAB


1. Buat rangkaian seperti berikut dengan sensor LDR pada pin analog A0;

2. Buat program yang sama pada praktikum 2 yang tampak seperti dibawah ini:
3. Jalankan Com0Com dengan Pair COM1-COM2
4. Jalankan MATLAB dengan perintah dibawah ini pada command window atau
editor window
clear all;
clc

s = serial('COM4', 'BaudRate',9600); % setting komunikasi serial

s.InputBufferSize = 1; % baca hanya 1 byte setiap waktu pembacaan


try
fopen(s);
catch err
fclose(instrfind);
error('Pastikan COM Port available .');
end

%% ploting data
Tmax = 50; % Total waktu akuisisi (s)
figure,
grid on,
xlabel ('Time (s)'), ylabel('Data (8-bit)'),
axis([0 Tmax+1 -10 300]),

%% pembacaan dan ploting real data


Ts = 0.02; % Sampling time (s)
i = 0;
data = 0;
t = 0; tic % Start timer
while toc <= Tmax
i = i + 1;
%% baca buffer
data(i) = fread(s);
%% baca time stamp
t(i) = toc;
if i > 1
T = toc - t(i-1);
while T < Ts
T = toc - t(i-1);
end
end
t(i) = toc;
%% Plot live data
if i > 1
line([t(i-1) t(i)],[data(i-1) data(i)])
drawnow
end
end
fclose(s);
5. Jika dijalankan dengan benar maka hailnya akan tampak seperti gambar
dibawah(yang berwarna merah Ketika diubah intensitas LDR). Coba diubah
Tmax menjadi 50 supaya pergerakan perubahan intensitas LDR lebih terlihat.
6. Pada tahapan ini kita sudah membuat grafik untuk akuisisi data dari sensor LDR
pada pin analoh A0

F. Tugas
Buat tampilan grafik pada MATLAB dengan dua input sensor (warna grafik
dibedakan yakni merah dan biru). Input sensor pada pin analog A0 dan A1. Setelah
itu berhasil, coba ganti input sensor digital pada pin digital 6 dan warnanya hijau
Program

Command Matlab
4. Pertanyaan
➢ Apa yang anda pahami dari modul 3 ini?
Yang di pahami adalah cara untuk mengkoneksikan antara arduno pada proteus
dengan matlab, membuat program untuk mengontrol menyalakan atau mematikan
LED dengan command window pada matlab, dan mermembuat program untuk
menampilkan akuisisidata sensor pada matlab dalam bentuk grafik.
➢ Implementasikan pengetahuan yang anda peroleh pada modul 3 ini dengan
membuat sebuah sistem instrumentasi yang terdiri dari elemen sensor dan aktuator,
elemen processing (ARDUINO), elemen display pada MATLAB. Ketentuannya
seperti berikut:
- Terdapat dua sensor LDR dan LM35 masing-masing pada pin analog A0 dan A1.
- Tempatkan aktuator MOTOR DC pada pin 12 dan indikator LED pada pin 13
- Tampilkan data LDR dan LM35 pada MATLAB (grafik).
- Jika nilai LDR > 300 (PWM) maka MOTOR ON sebaliknya jika < 300 (PWM)
maka MOTOR OFF.
- Jika nilai LM35 > 400 (PWM) maka LED ON dan sebaliknya jika <400 maka
LED OFF.
- Buat juga cara manual untuk melakukan ON/OFF LED dan MOTOR DC pada
command window MATLAB
5. Analysis
Dalam rangka menghubungkan ARDUINO ke Proteus melalui Matlab,
diperlukan beberapa modul tambahan di Proteus serta perangkat lunak ekstra. Di
Proteus, kita perlu menambahkan modul COMPIM yang berperan dalam
mensimulasikan komunikasi melalui port serial (COM Port). Sebelum menghubungkan
ARDUINO ke Proteus melalui Matlab, kita perlu mengonfigurasi beberapa parameter
di COMPIM. Parameter yang harus dikonfigurasi di COMPIM mencakup Physical
Port, Physical Baud rate, Physical Data Bit, Physical Parity, Physical Stop Bit, Virtual
Baud Rate, Virtual Data Bit, Virtual Parity, dan Virtual Stop Bit.
Selain itu, kita memerlukan perangkat lunak tambahan berupa emulator port
serial virtual untuk menghubungkan ARDUINO ke Proteus melalui Matlab. Saat
menggunakan emulator port serial virtual, kita harus memilih mode PAIR saat
membuat port virtual dan memilih port yang sesuai dengan yang akan digunakan.
Setelah mengatur COMPIM dan emulator port serial virtual, langkah
selanjutnya adalah memprogram di Matlab. Proses pemrograman di Matlab dapat
dilakukan melalui command prompt atau dalam bentuk script. Dalam pemrograman
Matlab, kita harus memilih COM yang sesuai dengan yang telah diatur di emulator port
serial virtual. Misalnya, jika di emulator port serial virtual kita memilih COM3 dan
COM4, maka COM4 akan digunakan di Matlab sedangkan COM3 di COMPIM,
sehingga ARDUINO dapat berkomunikasi secara serial dengan Matlab.
Untuk mengirim perintah data dari Matlab ke ARDUINO, kita dapat
menggunakan perintah fprintf atau fwrite, sedangkan untuk membaca data dari
ARDUINO ke Matlab, kita dapat menggunakan perintah fscanf. Terakhir, setelah
selesai menggunakan objek port serial, kita dapat menutupnya dengan perintah fclose
atau delete.
6. Kesimpulan
✓ Untuk menghubungkan ARDUINO dan Proteus ke HyperTerminal, diperlukan
COMPIM, dan virtual serial port emulator
✓ Untuk mengirim perintah dan data dari MATLAB ke ARDUINO, perintah
fprintf/fwrite dapat digunakan
✓ Untuk membaca data dari Arduino ke Matlab, perintah fscanf dapat digunakan
✓ Objek port serial harus ditutup menggunakan perintah fclose atau delet setelah
itu selesai digunakan

Anda mungkin juga menyukai