SlideShare a Scribd company logo
1 of 13
LAPORAN PROJECT
PID IMPLEMENTATION ON OCTAVE
LUSIANA DIYAN NINGRUM
2210181051
3 D4 TEKNIK KOMPUTER B
PROGRAM STUDI D4 TEKNIK KOMPUTER
DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
SURABAYA
BAB I
DASAR TEORI
1.1 Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler adalah
sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat
menyimpan program did umumnya terdiri dari CPU (Central Processing Unit), memori, I/O
tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang sudah
terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah tersedianya RAM dan
peralatan I/O pendukung sehingga ukuran board mikrokontroler menjadi sangat
ringkas. Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umunya dapat menyimpan program did MCS51 ialah mikrokomputer CMOS
8 bit dengan 4 KB Flash PEROM (Programmable and Erasable Only Memory) yang dapat
dihapus dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan
teknologi high density non-volatile memory. Flash PEROM on-chip tersebut memungkinkan
memori program untuk diprogram ulang dalam sistem (in-system programming) atau dengan
menggunakan programmer non-volatile memory konvensional. Kombinasi CPU 8 bit serba
guna dan Flash PEROM, menjadikan mikrokontroler MCS51 menjadi microcomputer handal
yang fleksibel. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O
terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan
sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.
1.2 Arduino
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan
dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa
pemrograman sendiri. Banyak pemula yang belajar mengenal robotika dan elektronika lewat
Arduino karena mudah dipelajari. Tapi tidak hanya pemula, para hobbyist atau profesional
pun ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang
dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang
disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino.
Gambar 1.1 Arduino UNO
Arduino memiliki beberapa kelebihan, diantaranya tidak perlu perangkat chip
programmer karena didalamnya sudah ada bootloadder yang akan menangani upload program
dari komputer. Sudah memiliki sarana komunikasi USB, Sehingga pengguna laptop yang
tidak memiliki port serial/RS323 bisa menggunakannya. Memiliki modul siap pakai ( Shield )
yang bisa ditancapkan pada board arduino. Contohnya shield GPS, Ethernet,dll. Soket USB
adalah soket kabel USB yang disambungkan kekomputer atau laptop. Yang berfungsi untuk
mengirimkan program ke arduino dan juga sebagai port komunikasi serial. Input/output
digital atau digital pin adalah pin pin untuk menghubungkan arduino dengan komponen atau
rangkaian digital. contohnya , jika ingin membuat LED berkedip, LED tersebut bisa dipasang
pada salah satu pin input atau output digital dan ground. komponen lain yang menghasilkan
output digital atau menerima input digital bisa disambungkan ke pin pin ini. Input analog atau
analog pin adalah pin pin yang berfungsi untuk menerima sinyal dari komponen atau
rangkaian analog. contohnya , potensiometer, sensor suhu, sensor cahaya, dll. Pin pin catu
daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang
dihubungkan dengan arduino. Pada bagian catu daya ini pin Vin dan Reset. Vin digunakan
untuk memberikan tegangan langsung kepada arduino tanpa melalui tegangan pada USB atau
adaptor, sedangkan Reset adalah pin untuk memberikan sinyal reset melalui tombol atau
rangkaian eksternal. Soket baterai atau adaptor digunakan untuk menyuplai arduino dengan
tegangan dari baterai/adaptor 9V pada saat arduino sedang tidak disambungkan kekomputer.
Jika arduino sedang disambungkan kekomputer dengan USB, Arduino mendapatkan suplai
tegangan dari USB, Jika tidak perlu memasang baterai/adaptor pada saat memprogram
arduino.
1.3 GNU Octave
GNU Octave adalah suatu perangkat lunak gratis (freeware) dan bahasa tingkat tinggi
untuk komputasi numerik dan visualisasi data. Octave dirancang sebagai tiruan dari Matlab.
Sumber informasi mengenai Octave dapat dilihat pada website www.octave.org. Pada
awalnya Octave dikembangkan oleh John W. Eaton (Universitas Texas) dan sekarang
pengembangan dan pemeliharaan Octave dilakukan oleh beberapa orang volunteer dari
berbagai penjuru dunia. Kelebihan utama dari Octave yaitu gratis (freeware) dan tersedia
untuk berbagai sistem operasi seperti Windows 98/2000/XP, Mac OS/X, Debian, Suse,
Fedora, RedHat Linux. Pada kebanyakan sistem operasi program GNU Octave dapat
dijalankan dengan memberikan perintah octave pada shell command. Setelah perintah
tersebut kita berikan maka akan muncul suatu jendela GNU Octave. Pada jendela tersebut
akan ditampilkan beberapa pesan singkat mengenai Octave dan kemudian di bawah pesan
singkat tersebut ditampilkan sebuah prompt, yang menandakan bahwa Octave siap untuk
menerima perintah yang akan kita berikan. Untuk keluar dari program Octave gunakan
perintah quit atau exit. Octave juga dilengkapi dengan dokumentasi yang menjelaskan
program Octave dengan cukup detail. Selain dari dokumentasi, untuk mendapat penjelasan
mengenai suatu perintah atau sjuga dapat dilakukan dengan menggunakan perintah help kata-
kunci, dimana kata-kunci adalah nama fungsi atau operator yang akan kita cari
penjelasannya.
Gambar 1.2 Tampilan Jendela Octave pada Sistm Operasi Windows
Salah satu kelebihan Octave yaitu kemampuannya dalam menangani berbagai macam
operasi manipulasi terhadap data yang berupa suatu matrik. Pada dasarnya semua data
numerik di dalam Octave dianggap sebagai suatu matrik. Vektor dan skalar merupakan
bentuk khusus dari suatu matrik. Vektor adalah suatu matrik yang hanya mempunyai satu
baris atau satu kolom saja, sementara itu skalar adalah suatu matrik yang hanya terdiri dari
satu elemen saja. Pembuatan data matrik dan vektor secara manual dilakukan dengan
menggunakan operator kurung siku ([ ... ]). Dimana elemen-elemen matrik atau vektor
dimasukkan diantara kedua kurung siku tersebut. Untuk memisahkan elemen yang satu
dengan elemen yang lainnya yang terletak pada satu baris dapat digunakan tanda koma (,)
atau tanda spasi. Kemudian untuk memisahkan antara baris yang satu dengan yang lainnya,
gunakan tanda titik koma (;) atau tanda ENT. Octave juga menyediakan sejumlah fungsi yang
dapat digunakan untuk membuat matrik-matrik khusus. Di dalam Octave, secara umum
operasi-operasi matematika terhadap obyek matrik dan vektor dapat dilakukan dengan sangat
mudah tanpa harus menggunakan suatu perulangan. Octave dapat digunakan untuk
melakukan visualisasi data, baik secara dua dimensi maupun tiga dimensi. Untuk membuat
grafik dua dimensi kita dapat menggunakan perintah plot, kemudian untuk grafik tiga
dimensi kita dapat menggunakan perintah surf, mesh, seperti yang diperlihatkan pada contoh-
contoh di bawah ini. Grafik yang dihasilkan oleh perintah-perintah grafis akan ditampilkan
pada jendela tersendiri, yaitu jendela grafik. Penjelasan detail mengenai pembuatan grafik
dapat dilihat pada sistem bantuan yang terdapat pada program Octave.
octave:55> % Contoh penggunaan fungsi plot (lihat Gambar )
octave:55> x = linspace(-1,1,61)';
octave:56> y1 = x.^2; y2 = 1 - y1; y3 = 2*y1;
octave:57> plot(x,[y1 y2 y3])
octave:58>title('Contoh penggunaan fungsi plot')
Gambar 1.3 Hasil Fungsi Plot
1.4 Kontroler PID
Kontroler PID (dari singkatan bahasa Inggris: Proportional–Integral–Derivative
controller) merupakan kontroler mekanisme umpan balik yang biasanya dipakai pada sistem
kontrol industri. Sebuah kontroler PID secara kontinu menghitung nilai kesalahan sebagai
beda antara setpoint yang diinginkan dan variabel proses terukur. Kontroler mencoba untuk
meminimalkan nilai kesalahan setiap waktu dengan penyetelan variabel kontrol, seperti posisi
keran kontrol, damper, atau daya pada elemen pemanas, ke nilai baru yang ditentukan oleh
jumlahan:
dengan Kp, Ki dan Kd semuanya positif, menandakan koefisien untuk term
proporsional, integral, dan derivatif, secara berurutan (atau P, I, dan D). Pada model ini,
 P bertanggung jawab untuk nilai kesalahan saat ini. Contohnya, jika nilai kesalahan
besar dan positif, maka keluaran kontrol juga besar dan positif.
 I bertanggung jawab untuk nilai kesalahan sebelumnya. Contoh, jika keluaran saat ini
kurang besar, maka kesalahan akan terakumulasi terus menerus, dan kontroler akan
merespon dengan keluaran lebih tinggi.
 D bertanggung jawab untuk kemungkinan nilai kesalahan mendatang, berdasarkan pada
rate perubahan tiap waktu.
Karena kontroler PID hanya mengandalkan variabel proses terukur, bukan
pengetahuan mengenai prosesnya, maka dapat secara luas digunakan. Dengan penyesuaian
(tuning) ketiga parameter model, kontroler PID dapat memenuhi kebutuhan proses. Respon
kontroler dapat dijelaskan dengan bagaimana responnya terhadap kesalahan, besarnya
overshoot dari setpoint, dan derajat osilasi sistem. penggunaan algoritme PID tidak menjamin
kontrol optimum sistem atau bahkan kestabilannya. Beberapa aplikasi mungkin hanya
menggunakan satu atau dua term untuk memberikan kontrol sistem yang sesuai. Hal ini dapat
dicapai dengan mengontrol parameter yang lain menjadi nol. Kontroler PID dapat menjadi
kontroler PI, PD, P atau I tergantung aksi apa yang digunakan. Kontroler PI biasanya adalah
kontroler paling umum. Untuk sistem waktu diskrit, sering digunakan PSD atau proportional-
summation-difference.
BAB II
DESAIN SISTEM
2.1 Diagram Sistem
Gambar 2.1 Diagram Sistem PID Implementation Project
2.2 Desain Rangkaian Arduino
Gambar 2.2 Desain Rangkaian
Keterangan konfigurasi kabel :
1. Pin 5V pada Arduino dihubungkan ke kaki 1 Potensiometer
2. Pin A0 pada Arduino dihubungkan ke kaki 2 Potensiometer
3. Pin GND pad aArduino dihubungkan ke kaki 3 Potensiometer
4. Kaki 3 potensiometer di jumper ke resistor yang terhubung ke katoda LED
5. Pin 6 pada Arduino dihubungkan ke Anoda LED
Alat dan Bahan yang dibutuhkan :
1. Arduino UNO
2. Potensiometer 10K ohm
3. Resistor 330 ohm
4. LED
5. Projectboard
6. Kabel jumper
2.3 Program Octave
pkg load arduino; #Load Arduino before any usage
arduinosetup #membuat Proyek Arduino sementara,
#dengan file toolkit Arduino disalin ke sana dan Arduino IDE
akan terbuka.
a=arduino; #mendeklarasikan variabel komunikasi arduino dengan octave
led_pin = "d6"; #mendeklarasikan pin yang terhubung dengan LED
vr_pin = "a0"; #mendeklarasikan pin yang terhubung dengan potensio
initTime = 0; #delay
#readTime = 200;
x = 0;
feedback = 0;
Kp = 0.05;
Ki = 0.05;
Kd = 0.05;
integral_error = 0;
derivatif_error = 0;
last_error = 0;
#PID Controller program
while initTime <= 250
adc = readAnalogPin(a, vr_pin); #inisialisasi pembacaan nilai potensio
value = adc/4;
#menghitung nilai error
error = value - feedback; #menghitung perbedaan nilai input potensio dengan
pembacaan output PID Controller
integral_error += error;
derivatif_error = error - last_error;
last_error = error;
#menghitung nilai proportional, derivatif, integral
proportional = Kp * error;
integral = Ki * integral_error;
derivatif = Kp * derivatif_error;
#menampilkan nilai proportional, derivatif, integral di komunikasi serial
printf("Proportional : %dn", proportional);
printf("Derivatif : %dn", derivatif);
printf("Integral : %dn", integral);
printf("n");
PID = proportional + integral + derivatif; #menghitung nilai PID
conv = PID/256; #konversi nilai PID
double(conv); #konversi type nilai
writePWMDutyCycle(a,led_pin,conv);
feedback = PID;
x = [x,PID]; #deklarasi matriks data output
plot(x); #membuat plot/grafik dari data output PID Controller
title("PID Value Plot"); #membuat judul grafik
xlabel("time"); #memberi label sisi x grafik
ylabel("Digital Value 0-256"); #memberi label sisi y grafik
grid ON #memberikan garis grid pada grafik
initTime = initTime + 1; #mengatur waktu yang digunakan untuk data grafik
drawnow; #menggambarkan grafik berdasarkan data output PID Controller
endwhile
2.4 Program Arduino
Gambar 2.3 Program Arduino
Program file yang terbuat di Arduino IDE, merupakan file program yang ter-build
secara otomatis ketika menjalankan perintah arduinosetup melalui software Ooctave.
Program ini dapat langsung diupload ke hardware Arduino tanpa memerlukan modifikasi
pada baris programnya.
BAB III
SCREENSHOOT IMPLEMENTASI
3.1 Rangkaian Arduino
Gambar 3.1 Rangkaian Arduino dengan LED dan Potensiometer
Gambar 3.2 Rangkaian Mikrokontroller dalam keadaan nyala
3.2 Grafik Data Output Mikrokontroller
Gambar 3.3 Grafik output rangkaian mikrokontroller
Grafik menunjukkan pembacaan nilai output PID Controller yang berasal dari trigger
potensiometer. Nilai PID ini diperoleh dari proses penghitungan PID = (Kp * kesalahan) +
(Ki * integralKesalahan) + (Kd * derivatifKesalahan). Plot diagram dari nilai PID Controller
seperti pada gambar 3.3
Gambar 3.4 Nilai PWM dari output PID Controller di Serial Komunikasi
Selain menampilkan nilai PID yang berasal dari input trigger potensiometer dalam
bentuk grafik plot sinyal, trigger input dari potensimeter juga dapat digunakan untuk
mengetahui nilai PWM dari output PID Controller di serial komunikasi sehingga akan
muncul nilai proportional, derivatif dan nilai integral.
Link youtube video demo :
https://youtu.be/GbFRjgZvaYQ
BAB IV
LIST REFERENSI
1. Arief. 2014. Fungsi dan Kegunaan Arduino. Diakses pada 24 September 2020.
(https://ariefeeiiggeennblog.wordpress.com/2014/02/07/pengertian-fungsi-dan-
kegunaan-arduino/)
2. Arief, Saifuddin. 2016. Pengenalan GNU Octave. Diakses pada 25 September 2020.
(https://id.scribd.com/doc/296788425/Sarief-Octave)
3. Elektronika Dasar. 2012. Pengertian dan Kelebihan Mikrokontroler. Diakses pada 24
September 2020. (http://elektronika-dasar.web.id/pengertian-dan-kelebihan-
mikrokontroler/)
4. Khumaidi S.ST.,M.T., Agus. 2019. Mikrokontroller Arduino. Diakses pada 24
September 2020. (http://lecturer.ppns.ac.id/aguskhumaidi/2019/09/05/mikrokontroler-
arduino/)
5. Naziq, Ahmad. Pengertian Mikrokontroler. Diakses pada 24 September 2020.
(https://sites.google.com/site/informasiterbarusekali/pengertian-mikrokontroller)
6. Viyan. Perangkat Keras : Arduino dan Raspberry Pi. Diakses pada 24 September
2020.
(http://viyan.staff.gunadarma.ac.id/Downloads/files/62856/7_Perangkat+Keras.pdf)
7. http://www.boarduino.web.id/
8. https://id.wikipedia.org/wiki/PID
BAB V
BIODATA MAHASISWA
Nama : Lusiana Diyan Ningrum
NRP : 2210181051
Kelas : 3 D4 Teknik Komputer B

More Related Content

What's hot

72681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-1672681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-16Satria Speed
 
1. arief-budijanto uwika-ok1
1. arief-budijanto uwika-ok11. arief-budijanto uwika-ok1
1. arief-budijanto uwika-ok1ravicf
 
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16Beny Abdurrahman
 
Pendahuluan plc
Pendahuluan plcPendahuluan plc
Pendahuluan plcarie eric
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerAbel Tasfir
 
Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 lely charo
 
Telkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complexTelkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complexuad12
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledSawah Dan Ladang Ku
 
Pemograman zelio soft 2
Pemograman zelio soft 2Pemograman zelio soft 2
Pemograman zelio soft 2arie eric
 
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...Muhammad Kennedy Ginting
 
2 mikrokontroler atmega 8535
2 mikrokontroler atmega 85352 mikrokontroler atmega 8535
2 mikrokontroler atmega 8535Agung Gumelar
 
Cara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteusCara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteusFilla Fidyana
 
Telkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complexTelkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complexAri_widodo
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input OutputBeny Abd
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i iisutono stn
 
Modul arduino iii
Modul arduino iiiModul arduino iii
Modul arduino iiisutono stn
 

What's hot (20)

72681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-1672681707 jam-digital-at-mega-16
72681707 jam-digital-at-mega-16
 
1. arief-budijanto uwika-ok1
1. arief-budijanto uwika-ok11. arief-budijanto uwika-ok1
1. arief-budijanto uwika-ok1
 
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
Modul dasar-mikrokontroler-bab-ii-kebutuhan-hardware-at mega16
 
Pendahuluan plc
Pendahuluan plcPendahuluan plc
Pendahuluan plc
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar Mikrokontroler
 
Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2
 
Telkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complexTelkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complex
 
Mikrokontroler ATMega16
Mikrokontroler ATMega16Mikrokontroler ATMega16
Mikrokontroler ATMega16
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
 
Presentasi Mikrokontroler
Presentasi MikrokontrolerPresentasi Mikrokontroler
Presentasi Mikrokontroler
 
Pemograman zelio soft 2
Pemograman zelio soft 2Pemograman zelio soft 2
Pemograman zelio soft 2
 
PROYEK1
PROYEK1PROYEK1
PROYEK1
 
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...
Membuat stopwatch menggunakan mikrokontroler atmega16 by muhammad kennedy gin...
 
2 mikrokontroler atmega 8535
2 mikrokontroler atmega 85352 mikrokontroler atmega 8535
2 mikrokontroler atmega 8535
 
Cara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteusCara membuat simulasi lcd running text dengan menggunakan proteus
Cara membuat simulasi lcd running text dengan menggunakan proteus
 
Telkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complexTelkomnika fpga implementation of area efficient ieee 754 complex
Telkomnika fpga implementation of area efficient ieee 754 complex
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input Output
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i ii
 
Modul arduino iii
Modul arduino iiiModul arduino iii
Modul arduino iii
 
(1) pemrograman lcd
(1) pemrograman lcd(1) pemrograman lcd
(1) pemrograman lcd
 

Similar to PID Implementation on Octave

Perancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifi
Perancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifiPerancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifi
Perancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifiRiki Ardoni
 
PS2 Mouse Interfacing dengan pemrograman bahasa C
PS2 Mouse Interfacing dengan pemrograman bahasa CPS2 Mouse Interfacing dengan pemrograman bahasa C
PS2 Mouse Interfacing dengan pemrograman bahasa CJosephine Prasetya
 
alat pencampur minuman berbasis PLC
alat pencampur minuman berbasis PLCalat pencampur minuman berbasis PLC
alat pencampur minuman berbasis PLC5223127190
 
M I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009newM I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009newDeddy Susilo
 
Makalah praktikum mikro
Makalah praktikum mikroMakalah praktikum mikro
Makalah praktikum mikroAnjar OI
 
1.-Arief-Budijanto_Uwika_ok1.pdf
1.-Arief-Budijanto_Uwika_ok1.pdf1.-Arief-Budijanto_Uwika_ok1.pdf
1.-Arief-Budijanto_Uwika_ok1.pdfZulkarnain619989
 
Dani w ( 100210007 ) tm transformer rev
Dani w ( 100210007 ) tm transformer revDani w ( 100210007 ) tm transformer rev
Dani w ( 100210007 ) tm transformer revRatzman III
 
Pembuatan Walking Robot Motor DC Dengan Program ATmega Maju Berhenti
Pembuatan Walking Robot Motor DC Dengan Program ATmega Maju BerhentiPembuatan Walking Robot Motor DC Dengan Program ATmega Maju Berhenti
Pembuatan Walking Robot Motor DC Dengan Program ATmega Maju BerhentiYazid98
 
Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...
Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...
Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...Brian Raafiu
 
MODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdf
MODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdfMODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdf
MODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdfAzizahFajar
 
Aplikasi kendali smart relay pada motor 3 fasa.pptx
Aplikasi kendali smart relay pada motor 3 fasa.pptxAplikasi kendali smart relay pada motor 3 fasa.pptx
Aplikasi kendali smart relay pada motor 3 fasa.pptxArifHendrawan9
 
Simulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatisSimulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatis5223127190
 
Simulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatisSimulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatis5223127190
 
MIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptx
MIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptxMIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptx
MIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptxWisnuKurniadiFTKOMUN
 

Similar to PID Implementation on Octave (20)

Microcontroller
MicrocontrollerMicrocontroller
Microcontroller
 
Sensor suhu LM 35
Sensor suhu LM 35Sensor suhu LM 35
Sensor suhu LM 35
 
Perancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifi
Perancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifiPerancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifi
Perancangan simulasi prototipe jaringan sensor cahaya memanfaatkan jaringan wifi
 
PS2 Mouse Interfacing dengan pemrograman bahasa C
PS2 Mouse Interfacing dengan pemrograman bahasa CPS2 Mouse Interfacing dengan pemrograman bahasa C
PS2 Mouse Interfacing dengan pemrograman bahasa C
 
alat pencampur minuman berbasis PLC
alat pencampur minuman berbasis PLCalat pencampur minuman berbasis PLC
alat pencampur minuman berbasis PLC
 
M I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009newM I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009new
 
Makalah praktikum mikro
Makalah praktikum mikroMakalah praktikum mikro
Makalah praktikum mikro
 
1.-Arief-Budijanto_Uwika_ok1.pdf
1.-Arief-Budijanto_Uwika_ok1.pdf1.-Arief-Budijanto_Uwika_ok1.pdf
1.-Arief-Budijanto_Uwika_ok1.pdf
 
Makalah Seminar TA1
Makalah Seminar TA1Makalah Seminar TA1
Makalah Seminar TA1
 
Dani w ( 100210007 ) tm transformer rev
Dani w ( 100210007 ) tm transformer revDani w ( 100210007 ) tm transformer rev
Dani w ( 100210007 ) tm transformer rev
 
Soal
SoalSoal
Soal
 
Pembuatan Walking Robot Motor DC Dengan Program ATmega Maju Berhenti
Pembuatan Walking Robot Motor DC Dengan Program ATmega Maju BerhentiPembuatan Walking Robot Motor DC Dengan Program ATmega Maju Berhenti
Pembuatan Walking Robot Motor DC Dengan Program ATmega Maju Berhenti
 
Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...
Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...
Pengembangan Sistem SCADA Pada PLC Tipe COMPACT Untuk Aplikasi PIntu Air Otom...
 
MODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdf
MODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdfMODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdf
MODUL WORKSHOP MIKROKONTROLLER MANTINGAN.pdf
 
Bahan
BahanBahan
Bahan
 
Aplikasi kendali smart relay pada motor 3 fasa.pptx
Aplikasi kendali smart relay pada motor 3 fasa.pptxAplikasi kendali smart relay pada motor 3 fasa.pptx
Aplikasi kendali smart relay pada motor 3 fasa.pptx
 
jurnal
jurnaljurnal
jurnal
 
Simulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatisSimulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatis
 
Simulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatisSimulasi alat pengkonversi kertas a3 ke a4 otomatis
Simulasi alat pengkonversi kertas a3 ke a4 otomatis
 
MIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptx
MIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptxMIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptx
MIKROKONTROLER (PRAKTIKUM) PERKULIAHAN.pptx
 

More from Lusiana Diyan

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifLusiana Diyan
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam TimLusiana Diyan
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Lusiana Diyan
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Lusiana Diyan
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentLusiana Diyan
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTLusiana Diyan
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimLusiana Diyan
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLLusiana Diyan
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web ServerLusiana Diyan
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiLusiana Diyan
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREPLusiana Diyan
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleLusiana Diyan
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakLusiana Diyan
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCLusiana Diyan
 

More from Lusiana Diyan (20)

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang Efektif
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam Tim
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan Keragaman
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering Enrichment
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENT
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQL
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web Server
 
Installasi NodeMCU
Installasi NodeMCUInstallasi NodeMCU
Installasi NodeMCU
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry Pi
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software Eagle
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DC
 

PID Implementation on Octave

  • 1. LAPORAN PROJECT PID IMPLEMENTATION ON OCTAVE LUSIANA DIYAN NINGRUM 2210181051 3 D4 TEKNIK KOMPUTER B PROGRAM STUDI D4 TEKNIK KOMPUTER DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA
  • 2. BAB I DASAR TEORI 1.1 Mikrokontroler Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program did umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board mikrokontroler menjadi sangat ringkas. Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program did MCS51 ialah mikrokomputer CMOS 8 bit dengan 4 KB Flash PEROM (Programmable and Erasable Only Memory) yang dapat dihapus dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan teknologi high density non-volatile memory. Flash PEROM on-chip tersebut memungkinkan memori program untuk diprogram ulang dalam sistem (in-system programming) atau dengan menggunakan programmer non-volatile memory konvensional. Kombinasi CPU 8 bit serba guna dan Flash PEROM, menjadikan mikrokontroler MCS51 menjadi microcomputer handal yang fleksibel. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem. 1.2 Arduino Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Banyak pemula yang belajar mengenal robotika dan elektronika lewat Arduino karena mudah dipelajari. Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino. Gambar 1.1 Arduino UNO
  • 3. Arduino memiliki beberapa kelebihan, diantaranya tidak perlu perangkat chip programmer karena didalamnya sudah ada bootloadder yang akan menangani upload program dari komputer. Sudah memiliki sarana komunikasi USB, Sehingga pengguna laptop yang tidak memiliki port serial/RS323 bisa menggunakannya. Memiliki modul siap pakai ( Shield ) yang bisa ditancapkan pada board arduino. Contohnya shield GPS, Ethernet,dll. Soket USB adalah soket kabel USB yang disambungkan kekomputer atau laptop. Yang berfungsi untuk mengirimkan program ke arduino dan juga sebagai port komunikasi serial. Input/output digital atau digital pin adalah pin pin untuk menghubungkan arduino dengan komponen atau rangkaian digital. contohnya , jika ingin membuat LED berkedip, LED tersebut bisa dipasang pada salah satu pin input atau output digital dan ground. komponen lain yang menghasilkan output digital atau menerima input digital bisa disambungkan ke pin pin ini. Input analog atau analog pin adalah pin pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. contohnya , potensiometer, sensor suhu, sensor cahaya, dll. Pin pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan arduino. Pada bagian catu daya ini pin Vin dan Reset. Vin digunakan untuk memberikan tegangan langsung kepada arduino tanpa melalui tegangan pada USB atau adaptor, sedangkan Reset adalah pin untuk memberikan sinyal reset melalui tombol atau rangkaian eksternal. Soket baterai atau adaptor digunakan untuk menyuplai arduino dengan tegangan dari baterai/adaptor 9V pada saat arduino sedang tidak disambungkan kekomputer. Jika arduino sedang disambungkan kekomputer dengan USB, Arduino mendapatkan suplai tegangan dari USB, Jika tidak perlu memasang baterai/adaptor pada saat memprogram arduino. 1.3 GNU Octave GNU Octave adalah suatu perangkat lunak gratis (freeware) dan bahasa tingkat tinggi untuk komputasi numerik dan visualisasi data. Octave dirancang sebagai tiruan dari Matlab. Sumber informasi mengenai Octave dapat dilihat pada website www.octave.org. Pada awalnya Octave dikembangkan oleh John W. Eaton (Universitas Texas) dan sekarang pengembangan dan pemeliharaan Octave dilakukan oleh beberapa orang volunteer dari berbagai penjuru dunia. Kelebihan utama dari Octave yaitu gratis (freeware) dan tersedia untuk berbagai sistem operasi seperti Windows 98/2000/XP, Mac OS/X, Debian, Suse, Fedora, RedHat Linux. Pada kebanyakan sistem operasi program GNU Octave dapat dijalankan dengan memberikan perintah octave pada shell command. Setelah perintah tersebut kita berikan maka akan muncul suatu jendela GNU Octave. Pada jendela tersebut akan ditampilkan beberapa pesan singkat mengenai Octave dan kemudian di bawah pesan singkat tersebut ditampilkan sebuah prompt, yang menandakan bahwa Octave siap untuk menerima perintah yang akan kita berikan. Untuk keluar dari program Octave gunakan perintah quit atau exit. Octave juga dilengkapi dengan dokumentasi yang menjelaskan program Octave dengan cukup detail. Selain dari dokumentasi, untuk mendapat penjelasan mengenai suatu perintah atau sjuga dapat dilakukan dengan menggunakan perintah help kata- kunci, dimana kata-kunci adalah nama fungsi atau operator yang akan kita cari penjelasannya.
  • 4. Gambar 1.2 Tampilan Jendela Octave pada Sistm Operasi Windows Salah satu kelebihan Octave yaitu kemampuannya dalam menangani berbagai macam operasi manipulasi terhadap data yang berupa suatu matrik. Pada dasarnya semua data numerik di dalam Octave dianggap sebagai suatu matrik. Vektor dan skalar merupakan bentuk khusus dari suatu matrik. Vektor adalah suatu matrik yang hanya mempunyai satu baris atau satu kolom saja, sementara itu skalar adalah suatu matrik yang hanya terdiri dari satu elemen saja. Pembuatan data matrik dan vektor secara manual dilakukan dengan menggunakan operator kurung siku ([ ... ]). Dimana elemen-elemen matrik atau vektor dimasukkan diantara kedua kurung siku tersebut. Untuk memisahkan elemen yang satu dengan elemen yang lainnya yang terletak pada satu baris dapat digunakan tanda koma (,) atau tanda spasi. Kemudian untuk memisahkan antara baris yang satu dengan yang lainnya, gunakan tanda titik koma (;) atau tanda ENT. Octave juga menyediakan sejumlah fungsi yang dapat digunakan untuk membuat matrik-matrik khusus. Di dalam Octave, secara umum operasi-operasi matematika terhadap obyek matrik dan vektor dapat dilakukan dengan sangat mudah tanpa harus menggunakan suatu perulangan. Octave dapat digunakan untuk melakukan visualisasi data, baik secara dua dimensi maupun tiga dimensi. Untuk membuat grafik dua dimensi kita dapat menggunakan perintah plot, kemudian untuk grafik tiga dimensi kita dapat menggunakan perintah surf, mesh, seperti yang diperlihatkan pada contoh- contoh di bawah ini. Grafik yang dihasilkan oleh perintah-perintah grafis akan ditampilkan pada jendela tersendiri, yaitu jendela grafik. Penjelasan detail mengenai pembuatan grafik dapat dilihat pada sistem bantuan yang terdapat pada program Octave. octave:55> % Contoh penggunaan fungsi plot (lihat Gambar ) octave:55> x = linspace(-1,1,61)'; octave:56> y1 = x.^2; y2 = 1 - y1; y3 = 2*y1; octave:57> plot(x,[y1 y2 y3]) octave:58>title('Contoh penggunaan fungsi plot')
  • 5. Gambar 1.3 Hasil Fungsi Plot 1.4 Kontroler PID Kontroler PID (dari singkatan bahasa Inggris: Proportional–Integral–Derivative controller) merupakan kontroler mekanisme umpan balik yang biasanya dipakai pada sistem kontrol industri. Sebuah kontroler PID secara kontinu menghitung nilai kesalahan sebagai beda antara setpoint yang diinginkan dan variabel proses terukur. Kontroler mencoba untuk meminimalkan nilai kesalahan setiap waktu dengan penyetelan variabel kontrol, seperti posisi keran kontrol, damper, atau daya pada elemen pemanas, ke nilai baru yang ditentukan oleh jumlahan: dengan Kp, Ki dan Kd semuanya positif, menandakan koefisien untuk term proporsional, integral, dan derivatif, secara berurutan (atau P, I, dan D). Pada model ini,  P bertanggung jawab untuk nilai kesalahan saat ini. Contohnya, jika nilai kesalahan besar dan positif, maka keluaran kontrol juga besar dan positif.  I bertanggung jawab untuk nilai kesalahan sebelumnya. Contoh, jika keluaran saat ini kurang besar, maka kesalahan akan terakumulasi terus menerus, dan kontroler akan merespon dengan keluaran lebih tinggi.  D bertanggung jawab untuk kemungkinan nilai kesalahan mendatang, berdasarkan pada rate perubahan tiap waktu. Karena kontroler PID hanya mengandalkan variabel proses terukur, bukan pengetahuan mengenai prosesnya, maka dapat secara luas digunakan. Dengan penyesuaian (tuning) ketiga parameter model, kontroler PID dapat memenuhi kebutuhan proses. Respon kontroler dapat dijelaskan dengan bagaimana responnya terhadap kesalahan, besarnya overshoot dari setpoint, dan derajat osilasi sistem. penggunaan algoritme PID tidak menjamin kontrol optimum sistem atau bahkan kestabilannya. Beberapa aplikasi mungkin hanya menggunakan satu atau dua term untuk memberikan kontrol sistem yang sesuai. Hal ini dapat dicapai dengan mengontrol parameter yang lain menjadi nol. Kontroler PID dapat menjadi kontroler PI, PD, P atau I tergantung aksi apa yang digunakan. Kontroler PI biasanya adalah kontroler paling umum. Untuk sistem waktu diskrit, sering digunakan PSD atau proportional- summation-difference.
  • 6. BAB II DESAIN SISTEM 2.1 Diagram Sistem Gambar 2.1 Diagram Sistem PID Implementation Project
  • 7. 2.2 Desain Rangkaian Arduino Gambar 2.2 Desain Rangkaian Keterangan konfigurasi kabel : 1. Pin 5V pada Arduino dihubungkan ke kaki 1 Potensiometer 2. Pin A0 pada Arduino dihubungkan ke kaki 2 Potensiometer 3. Pin GND pad aArduino dihubungkan ke kaki 3 Potensiometer 4. Kaki 3 potensiometer di jumper ke resistor yang terhubung ke katoda LED 5. Pin 6 pada Arduino dihubungkan ke Anoda LED Alat dan Bahan yang dibutuhkan : 1. Arduino UNO 2. Potensiometer 10K ohm 3. Resistor 330 ohm 4. LED 5. Projectboard 6. Kabel jumper
  • 8. 2.3 Program Octave pkg load arduino; #Load Arduino before any usage arduinosetup #membuat Proyek Arduino sementara, #dengan file toolkit Arduino disalin ke sana dan Arduino IDE akan terbuka. a=arduino; #mendeklarasikan variabel komunikasi arduino dengan octave led_pin = "d6"; #mendeklarasikan pin yang terhubung dengan LED vr_pin = "a0"; #mendeklarasikan pin yang terhubung dengan potensio initTime = 0; #delay #readTime = 200; x = 0; feedback = 0; Kp = 0.05; Ki = 0.05; Kd = 0.05; integral_error = 0; derivatif_error = 0; last_error = 0; #PID Controller program while initTime <= 250 adc = readAnalogPin(a, vr_pin); #inisialisasi pembacaan nilai potensio value = adc/4; #menghitung nilai error error = value - feedback; #menghitung perbedaan nilai input potensio dengan pembacaan output PID Controller integral_error += error; derivatif_error = error - last_error; last_error = error; #menghitung nilai proportional, derivatif, integral proportional = Kp * error; integral = Ki * integral_error; derivatif = Kp * derivatif_error; #menampilkan nilai proportional, derivatif, integral di komunikasi serial printf("Proportional : %dn", proportional);
  • 9. printf("Derivatif : %dn", derivatif); printf("Integral : %dn", integral); printf("n"); PID = proportional + integral + derivatif; #menghitung nilai PID conv = PID/256; #konversi nilai PID double(conv); #konversi type nilai writePWMDutyCycle(a,led_pin,conv); feedback = PID; x = [x,PID]; #deklarasi matriks data output plot(x); #membuat plot/grafik dari data output PID Controller title("PID Value Plot"); #membuat judul grafik xlabel("time"); #memberi label sisi x grafik ylabel("Digital Value 0-256"); #memberi label sisi y grafik grid ON #memberikan garis grid pada grafik initTime = initTime + 1; #mengatur waktu yang digunakan untuk data grafik drawnow; #menggambarkan grafik berdasarkan data output PID Controller endwhile 2.4 Program Arduino Gambar 2.3 Program Arduino Program file yang terbuat di Arduino IDE, merupakan file program yang ter-build secara otomatis ketika menjalankan perintah arduinosetup melalui software Ooctave. Program ini dapat langsung diupload ke hardware Arduino tanpa memerlukan modifikasi pada baris programnya.
  • 10. BAB III SCREENSHOOT IMPLEMENTASI 3.1 Rangkaian Arduino Gambar 3.1 Rangkaian Arduino dengan LED dan Potensiometer Gambar 3.2 Rangkaian Mikrokontroller dalam keadaan nyala 3.2 Grafik Data Output Mikrokontroller Gambar 3.3 Grafik output rangkaian mikrokontroller
  • 11. Grafik menunjukkan pembacaan nilai output PID Controller yang berasal dari trigger potensiometer. Nilai PID ini diperoleh dari proses penghitungan PID = (Kp * kesalahan) + (Ki * integralKesalahan) + (Kd * derivatifKesalahan). Plot diagram dari nilai PID Controller seperti pada gambar 3.3 Gambar 3.4 Nilai PWM dari output PID Controller di Serial Komunikasi Selain menampilkan nilai PID yang berasal dari input trigger potensiometer dalam bentuk grafik plot sinyal, trigger input dari potensimeter juga dapat digunakan untuk mengetahui nilai PWM dari output PID Controller di serial komunikasi sehingga akan muncul nilai proportional, derivatif dan nilai integral. Link youtube video demo : https://youtu.be/GbFRjgZvaYQ
  • 12. BAB IV LIST REFERENSI 1. Arief. 2014. Fungsi dan Kegunaan Arduino. Diakses pada 24 September 2020. (https://ariefeeiiggeennblog.wordpress.com/2014/02/07/pengertian-fungsi-dan- kegunaan-arduino/) 2. Arief, Saifuddin. 2016. Pengenalan GNU Octave. Diakses pada 25 September 2020. (https://id.scribd.com/doc/296788425/Sarief-Octave) 3. Elektronika Dasar. 2012. Pengertian dan Kelebihan Mikrokontroler. Diakses pada 24 September 2020. (http://elektronika-dasar.web.id/pengertian-dan-kelebihan- mikrokontroler/) 4. Khumaidi S.ST.,M.T., Agus. 2019. Mikrokontroller Arduino. Diakses pada 24 September 2020. (http://lecturer.ppns.ac.id/aguskhumaidi/2019/09/05/mikrokontroler- arduino/) 5. Naziq, Ahmad. Pengertian Mikrokontroler. Diakses pada 24 September 2020. (https://sites.google.com/site/informasiterbarusekali/pengertian-mikrokontroller) 6. Viyan. Perangkat Keras : Arduino dan Raspberry Pi. Diakses pada 24 September 2020. (http://viyan.staff.gunadarma.ac.id/Downloads/files/62856/7_Perangkat+Keras.pdf) 7. http://www.boarduino.web.id/ 8. https://id.wikipedia.org/wiki/PID
  • 13. BAB V BIODATA MAHASISWA Nama : Lusiana Diyan Ningrum NRP : 2210181051 Kelas : 3 D4 Teknik Komputer B