Rabu, 23 September 2020

Program Request Lokasi Modul GPS Menggunakan Modul GSM SIM800L Arduino

 Request GPS Location By SIM800L

#include <TinyGPS++.h>

TinyGPSPlus gps;

static const uint32_t GPSBaud = 9600;

double latitude, longitude;


#include <SoftwareSerial.h>

SoftwareSerial SIM800L(2, 3);



String response;

int lastStringLength = response.length();


String link;


void setup() {

  Serial.begin(9600);

  Serial.println("GPS Mulai");


    SIM800L.begin(GPSBaud);  

    SIM800L.println("AT+CMGF=1");

    Serial.println("SIM800L started at 9600");

    delay(1000);

    Serial.println("Setup Complete! SIM800L is Ready!");

    SIM800L.println("AT+CNMI=2,2,0,0,0");

 

}


void loop() {


  if (SIM800L.available()>0){

      response = SIM800L.readStringUntil('\n');

    }

     


  if(lastStringLength != response.length()){

      GPS();

      //Perintah CEK

      if(response.indexOf("CEK") == 4){

          

          SIM800L.println("AT+CMGF=1");    //Sets the GSM Module in Text Mode

          delay(1000);  // Delay of 1000 milli seconds or 1 second

          SIM800L.println("AT+CMGS=\"08xxxxxxxxxx\"\r"); // Replace x with mobile number

          delay(1000);

          SIM800L.println(link);// The SMS text you want to send

          delay(100);

          SIM800L.println((char)26);// ASCII code of CTRL+Z

          delay(1000);

      }

  }

 

    

  

}


void GPS(){

  if(Serial.available()) {

    gps.encode(Serial.read());

  }

  if(gps.location.isUpdated()) {

    latitude = gps.location.lat();

    longitude = gps.location.lng();

    link = "www.google.com/maps/place/" + String(latitude, 6) + "," + String(longitude, 6) ;

    Serial.println(link);

  

  }

}

Selasa, 14 Juli 2020

Selembar


                                                                       Selembar
                                                                  Viviean Anneesa


Selembar
Pikir kokoh dan bersinar
Percaya kemenangan berlari
Berlari mendekati

                           Senyum menempel
                           Lari yakin tuk gapai
                           Langkah lebar kaki
                           Menampung yang dicari

Waktu pergi
Mata berbisik
Pikiran bercengkrama
Hati berfikir

                           Takkan abadi
                            Buah dipetik jemari
                            Membusuk sendiri
                            Robek selembar


Poetry
Puisi Hati

Kamis, 18 Juli 2019

JURNAL RANCANG SISTEM KESEIMBANGAN BALL AND BEAM BERBASIS PID


RANCANG SISTEM KESEIMBANGAN BALL AND BEAM BERBASIS PID


Nisrina Dyan Oktavianaa, Viviean Anneesab , Andrizal,S.T.,M.T.c , Dedi Kurniadi,S.ST.,M.Sc.d

D4 Elektronika Industri, Teknik Elektro, Politeknik Negeri Padang

Email : avinando17@gmail.com , bvivieananneesa@gmail.com , candrizalpoli@gmail.com ,  ddedikurniadi@pnp.ac.id

 


Abstrak

Sistem ball and beam merupakan salah satu contoh klasik mengenai keseimbangan, dimana sebuah bola diletakkan pada sebuah balok, bola akan sulit menuju keadaan seimbang apabila tanpa kontroler. Penelitian ini digunakan untuk mendesain sistem kendali yang dapat menyeimbangkan ball and beam. Sistem ini menggunakan input dari sensor ultrasonic. Output dari sensor tersebut berupa jarak atau posisi yang dikirim ke Arduino UNO. Jarak atau posisi yang didapat dibandingkan dengan nilai setpoin yang diberikan sebesar 16 dengan eror bernilai 0. Nilai selisih dari setpoint dan jarak keluaran sistem dikontrol menggunakan kendali PID. Proses kendali ini diprogram pada software Arduino IDE yang hasilnya dikirim ke motor servo untuk mengatur kecepatan dan arah putaran motor servo untuk menyeimbangkan sistem ball and beam. Dari hasil pengujian diperoleh nilai parameter kontroler PID yang akan digunakan dari tunning nilai Kcr dengan metode Ziegler-Nichols adalah Kp = 0.15, Ki = 0.1 dan Kd = 0.01 dapat mengatasi keseimbangan pada sistem ball and beam mendekati nilai setpoint.
Kata Kunci: Ball And Beam, PID

Abstract

Ball and beam system is one of the classic excamples of balance, in which a ball is placed on a beam, the ball will be difficult to balance if without controller. This research is used to design control system that can keep balancing of ball and beam system. This system uses input ultrasonic sensor. The output is distance or position then sent to Arduino Uno. Distance or position comparison is given by set point has value 16 and value of erorr 0. Difference between setpoint and output distance of control system use PID controller. The controller run in software of Arduino IDE and the result is sent to servo motor to control speed and direction of servo motor for balancing ball and beam system. Testing is given paramater values of PID controller will be used tunning Kcr value with Ziegler-Nichols method is Kp = 0.15, Ki = 0.1 and Kd = 0.01 can keep balancing of ball and beam system approach setpoint.
Keywords: Ball And Beam, PID



1.       PENDAHULUAN

Menjaga keseimbangan suatu obyek terhadap obyek lainnya seringkali menjadi salah satu acuan untuk menerapkan system kendali pada aspek keseimbangan. Dalam sistem kendali, pengendalian keseimbangan suatu sistem merupakan salah satu hal yang sangat penting khususnya dalam aplikasi yang berkaitan dengan gerakan seperti yang dijumpai pada aplikasi robotika (Rosalia H. Subrata, 2015). Kontrol sistem yang tidak stabil sangat penting bagi banyak masalah kontrol. System kendali keseimbangan ball and beam

dapat dijadikan salah satu media sederhana dalam mempelajari system kendali.
Ball and Beam merupakan salah satu contoh klasik mengenai keseimbangan, dimana sebuah bola diletakkan pada sebuah batang dan nantinya akan diberikan berbagai macam gangguan (Michael Setiawan, 2012). Pengendali PID dalam hal ini bertindak untuk menjaga posisi bola agar tetap pada posisi yang setimbang atau yang diinginkan walau diberi berbagai gangguan. Posisi atau lokasi bola akan selalu diukur dengan menggunakan sensor ultrasonik yang kemudian akan menggerakkan motor servo agar bola

berada pada titik setimbang yang diinginkan. Maka dari itu penulis memilih kontrol Proportional Integral Derivative (PID) sebagai kontroler yang dapat menciptakan kontrol sesuai dengan yang diharapkan penulis. Penentuan pada metode kontrol PID ini karena dengan menggunakan PID tersebut keluaran dari sistem dapat menentukan besarnya kecepatan dan arah putar motor servo yang dapat menjaga kestabilan sistem yang dibuat dalam menjaga posisi atau jarak bola yang diinginkan atau ditentukan.
Pada penelitian ini menggunakan Arduino uno dan sensor ultrasonic sebagai inputan yang akan mengendalikan putaran motor servo. Masalah yang didapatkan pada penelitian ini antara lain ialah merealisasikan kontrol PID pada sistem ball and beam, sehingga sistem ini dapat tetap mempertahankan posisi atau jarak untuk berada pada titik set point yang ditentukan (diinginkan) atau dengan kata lain seimbang terhadap permukaan pada bidang datar.

2.       KAJIAN PUSTAKA

Ball and Beam
Ball and Beam merupakan salah satu contoh klasik mengenai keseimbangan, dimana sebuah bola diletakkan pada sebuah batang dan nantinya akan diberikan berbagai macam gangguan. Pengendali PID dalam hal ini bertindak sebagai pengendali gangguan sehingga posisi bola yang dari awal sudah ditentukan tidak terganggu oleh berbagai gangguan. Salah satu pengembangan yang dapat kita lihat secara nyata adalah pada bidang robotika dimana sistem ball and beam ini menjadi dasar kesetimbangan dari setiap mekanisme pergerakan robot. Selain robot tentu masih banyak hal yang dapat kita kembangkan dari sistem ball and beam ini.
Prinsip kerja ball and beam adalah dengan menjaga keseimbangan sistem. Untuk menjaga ball and beam ini seimbang atau mencapai set point, kontroler perlu mengetahui posisi setimbang bola atau nilai set point yang diinginkan, sehingga kontroler dapat memerintahkan motor servo bergerak dengan sudut tertentu yang dibutuhkan agar beam menuju keadaan setimbang dan posisi bola pada nilai set point yang diinginkan seperti yang terlihat pada Gambar 1.

Gambar 1. Asumsi Ball And Beam dalam Keadaan Seimbang

Pengukuran posisi atau jarak bola akan sangat mempengaruhi arah putar motor servo dalam kecepatan tertentu. Nilai inilah yang harus dipertimbangkan sistem kontrol untuk diberikan kepada motor servo agar mengatur arah putar dan kecepatan motor servo supaya kesetimbangan (mencapai nilai set point) dapat terjadi.
Apabila pengukuran jarak atau posisi bola lebih dari nilai set point yang ditentukan maka motor servo akan berputar searah jarum jam dengan sudut tertentu agar posisi atau jarak bola menuju pada posisi setimbangnya atau nilai set point. Demikian sebaliknya bila kurang dari jarak atau posisi set point yang ditentukan, maka motor servo akan berputar berlawanan arah jarum jam secara proposional.

Sistem Pengendali PID

Pengendali PID adalah sistem pengendali gabungan dari tiga macam kontroler, yaitu Kp (Propotional Controller), Ki (Integrall Controller) dan Kd (Derivative Controller) seperti pada Gambar 2. Dalam pengaplikasianya, masing-masing pengendali dapat berdiri sendiri atau dapat melakukan pengkombinasian. Dalam perancangan sistem kontrol PID yang perlu dilakukan adalah mengatur parameter P, I dan D agar respon sinyal keluaran sistem terhadap masukan tertentu sebagaimana yang diinginkan (Royyan, 2015).


Gambar 2. Kontroller PID

Berikut ini merupakan penjelasan singkat dari parameter-parameter yang ada pada kontrol PID :

a)     Kontrol Proporsional
Kontrol proporsional umumnya dinyatakan dengan sebuah gain tanpa memberikan efek dinamik kepada kinerja kontroler. Adanya kontroler proporsional ini mengakibatkan sinyal error akan semakin besar sehingga memperbesar kemungkinan terjadinya overshoot. Namun kontrol proporsional dapat mengakibatkan keluaran sistem lebih cepat mencapai setpoint. Kontrol proporsional memperbaiki rise time dan settling time dari sebuah sistem.

b)    Kontrol Integral
Kontrol integral digunakan untuk menghilangkan nilai offset yang biasanya dihasilkan oleh kontrol proporsional. Namun pemilihan nilai Ki yang tidak tepat dapat menyebabkan ketidakstabilan sistem. Jika pemilihan nilai Ki terlalu tinggi maka akan meyebabkan nilai keluaran akan berosilasi. Penambahan kontrol integral ini juga akan membuat respon dari sistem menjadi lambat. Oleh sebab itu maka dalam implementasinya kontrol integral dikombinasikan dengan kontrol proporsional.

c)     Kontrol Derivative
Keuntungan menggunakan kontrol derivative yaitu dapat merespon perubahan error aktuator dan dapat menghasilkan koreksi yang signifikan sebelum magnitude dari error aktuatornya menjadi sangat besar. Seakan-akan kontrol derivative ini mampu memprediksi error yang akan terjadi sebagai efek dari perhitungan error yang sebelumnya. Karena kontrol derivative ini bekerja berdasarkan laju perubahan error aktuatornya dan bukan pada error aktuator itu sendiri maka kontrol derivative ini tidak dapat berdiri sendiri.

Aturan Ziegler-Nichols Untuk Tuning PID Controllers

Metode tuning Ziegler Nichols dilakukan secara eksperimen (asumsi model belum diketahui). Berikut Aturan Ziegler-Nichols dibagi menjadi dua metode yaitu:
a)        Metode Pertama Ziegler-Nichols
Pada metode ini, percobaan dilakukan dengan menggunakan eksperimen respon plant dari input unit step. Metode ini berlaku jika respon terhadap inputan step kurva berbentuk S melengkung seperti yang ditunjukkan dalam Gambar 3.



Gambar 3. Kurva Respon Bentuk S (Katsuhiko Ogata, 2010)

b)       Metode Kedua Ziegler-Nichols
Pada metode ini, percobaan dilakukan dengan menggunakan kontroler proporsional saja. Dengan cara memberikan (tunning) nilai Critical gain (Kcr) yang menghasilkan grafik osilasi konsisten. Kemudian dari nilai Kcr ini didapatkan nilai Critical Period (Pcr) berdasarkan osilasi seperti pada Gambar 4.


Gambar 4. Osilasi Konsisten Dengan Periode Pcr (Katsuhiko Ogata, 2010)



Tabel 1. Metode Tunning Ziegle Niclhols

Arduino UNO

Arduino UNO merupakan sebuah perangkat mikrokontroler berbasis ATMega328. Seperti halnya mikrokontroler lain, Arduino UNO juga memiliki fasilitas dasar dari mikrokontroler.


Gambar 5. Arduino UNO

Seperti yang ditunjukkan pada Gambar 5 Arduino UNO memiliki 14 pin input/output digital, dengan 6 diantaranya bisa digunakan sebagai PWM (Pulse With Modulation), 6 pin input analog, ICSP header, 16 MHz kristal osilator, port USB dan tombol reset.

Sensor Ultrasonic

Pada penelitian ini digunakan sensor ultrasonic jenis PING Parallax yang menggunakan 3 pin yaitu, transmitter gelombang ultrasonic, receiver gelombang ultrasonic, dan rangkaian control seperti pada Gambar 6.


Teknik Analisis Data

Analisis data yang diperoleh dalam penelitian ini bertujuan untuk menjawab permasalahan dalam rangka merumuskan kesimpulan, seperti dijelaskan pada diagram alir Gambar 8. sebagai berikut:


Gambar 6. Sensor Ultrasonik PING Parallax



Motor Servo

Gambar 7. Motor Servo
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran poros motor servo.
Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). 

1.       METODE PENELITIAN

Pendekatan Penelitian
Penelitian ini untuk mengimplementasikan kontroler PID pada perancangan sistem keseimbangan ball and beam berbasis Arduino UNO. Pada penelitian ini, akan dilakukan uji coba kontroler PID dengan nilai parameter berbeda untuk mencari kontroler PID dengan respon paling mendekati setpoint dari sistem keseimbangan ball and beam menggunakan software Arduino IDE versi 1.8.5.

Tempat dan Waktu Penelitian

Penelitian dilaksanakan di Laboratorium Teknik Kendali Jurusan Teknik Elektro Universitas Negeri Surabaya dan waktu pelaksanaannya dilakukan pada semester ganjil 2017/2018.







Gambar 8. Diagram Alir Langkah-Langkah Penelitian

Data yang terbaca oleh sensor ultrasonic HCSR04, dibandingkan dengan jarak set point yang diinginkan. Error yang didapat pada perbandingan ini diolah pada Arduino Uno, untuk melakukan aksi kendali PID pada motor servo dalam penentuan sudut yang sesuai agar posisi dari jungkat jungkit lurus dan bola tepat berada di tengah, sesuai set point.

Gambar 9. Blok Diagram proses Sistem


4.       HASIL DAN PEMBAHASAN

 

 

Gambar 10. Bentuk Perancangan Alat

 

Dalam melakukan perancangan kontroler PID menggunakan metode Ziegler-Nichols tunning trial and error untuk mendapatkan sebuah kontroler PID yang sesuai dalam melakukan kendali keseimbangan pada ball and beam agar sesuai dengan nilai setpoint. Kemudian dari nilai kontroler PID yang didapat akan di implementasikan pada ball and beam. Dan melakukan pengambilan data keluaran respon dari ball and beam melalui serial monitor pada software Arduino IDE versi 1.6.12.

              Data yang  dihasilkan oleh sensor HCSR04, berupa  data durasi waktu penerima menangkap kembali sinyal gelombang yang telah dipantulkan oleh pemancar. Kemudian data tersebut diubah menjadi data pengukuran jarak.
duration= pulseIn (echo,HIGH);
distance = (duration/2)/29.1;

Tunning Ziegler-Nichols
Untuk menentukan nilai Kp,Ki dan Kd dengan melakukan Tunning.   


Gambar 11. Blok diagram dan grafik tunning
L = 0.1
T = 3.5 - 0.1 = 3.4
Kp = 1.2   = 1.2    = 40.8
Td = 0.5L = 0.5 (0.1) = 0.05
Kd = Kp (Td) = 40.8 (0.05) = 2.04
Ti = 2L = 2 (0.1) = 0.2
Ki = Kp/Ti = 40.8/0.2 = 8.16

Hasil Tunning


Gambar 12. Blok diagram dan Grafik hasil Tunning

Pengujian Nilai PID

Pengujian dilakukan untuk menentukan nilai konstanta PID mana yang cocok untuk diterapkan pada sistem ini. Pengujian dilakukan dengan menerapkan algoritma PID sebagai berikut:
Penentuan nilai error
Nilai error merupakan selisih dari jarak Set point  dengan jarak saat ini.
error = setPoint - distance;

Penentuan jumlah error
Jumlah error merupakan penjumlahan nilai error dengan nilai error sebelumnya, sementara beda error merupakan selisih nilai error yang didapat dengan nilai error sebelumya.
jumError = error + errorSeb;
bedaError = error - errorSeb;

Penentuan nilai total output PID
Penentuan output PID merupakan hasil penjumlahan dari perhitungan konstanta P,I dan D

             Nilai output PID di batasi sesuai dengan nilai sudut servo yang diberikan, dengan posisi horizontal papan keseimbangan berada pada sudut 140 .

if(pid<0){
    sudut=140+(-pid);
  }
  else{
    sudut=140-pid;

Pengujian nilai PID dilakukan dengan cara mencari nilai selisih terkecil antara jarak yang diinginkan dengan jarak sebenarnya. Sistem diuji dengan menetapkan set point sebesar 16cm.

Kp
Ki
Kd
Error sensor
Errot sudut
0.2
0.1
0.1
-16°
-11 cm
0.18
0.1
0.08
-10°
4 cm
0.15
0.1
0.02
-2°
-1 cm
Tabel 1. Pengujian nilai PID


Tampilan pembacaan Serial monitor dan grafik pada Arduino

Gambar 13. Hasil serial Monitor pembacaan data



Gambar 14. Grafik pembacaan data dengan SP yang tidak sesuai


Gambar 15. Grafik pembacaan data yang hampir menuju SP

Pada Gambar 15 di atas menunjukkan respon dari sistem ball and beam yang dilakukan ketika dalam keadaan seimbang pada rentan waktu 200 second tanpa adanya penambahan gangguan, dimana dari hasil respon yang didapat sudah sesuai dengan yang diharapkan untuk mampu mempertahankan kondisi jarak atau posisi bola untuk tetap berada dalam keadaan seimbang atau mendekati nilai set point yang diinginkan.
            
Dimana pada hasil uji diatas akan didapatkan nilai erorr mendekati hasil yang diinginkan dengan nilai sp = 16, kp = 0.15, ki = 0.1, kd = 0.02. Dimana perhitungan sebagai berikut :
error = sp – distance
         = 16 – 15 = 1
  p = error x kp
     = 1 x 0.15 = 0.15
  sumerr = error + errorx
              = 1 + 0 = 1
  i = ki x sumerr
    = 0.1 x 1 = 0.1
  d = error – errorx
     = 1 – 0 = 1
  pid = p + i + d
        = 0.15 + 0.1 + 1 = 1.25
Untuk menghitung sudut maka digunakan perhitungan :
Sudut = 140 – pid
          = 140 – 1.25 = 138.75 derajat
Sudut 140 derajat merupakan sudut yang presisi pada motor servo untuk mendapatkan nilai yang sesuai dengan sp = 16.

 

 

PENUTUP

Simpulan
Dari hasil pengujian yang dilakukan untuk perancangan sistem keseimbangan ball and beam dengan menggunakan pengendali PID berbasis Arduino UNO menggunakan tunning trial and error nilai Kcr metode Ziegler-Nichols dengan nilai konstanta Kp = 2.50002, Ki = 1.3889 dan Kd = 1.125 bola dapat berada pada posisi atau jarak seimbang yang diinginkan dengan nilai error yang dihasilkan kecil yaitu 2.242 cm dari tunning nilai Kcr = 4.1667 sedangkan untuk time response menuju steady state juga baik yaitu kurang dari 30 second untuk itu sistem dengan metode ini dapat dikatakan berhasil. Untuk hasil tunning , didapatkan nilai Kp = 40.8 . Kd = 2.04  dan Ki = 8.16

 

Saran

Dapat dikembangkan dengan mengubah jenis metode pengontrolan yang lain, seperti adaptif, fuzzy logic, jaringan saraf tiruan (JST), dll agar dapat menggurangi nilai error steady state.
Penambahan sensor atau dengan penggantian sensor jenis lain yang lebih akurat agar pembacaan posisi bola lebih presisi.




DAFTAR PUSTAKA
[1]. Ogata, Katsuhito. (2010). Modern Control Engineering RD 5 Edition. New Jersey. Prentice Hall.
[2]. Setiawan, Michael. 2012. Perancangan Pengendali PID untuk Sistem Ball And Beam. Jakarta: Universitas Trisakti.
[3]. Royyan, M., dkk. 2015. “Implementation of Kalman Filter and PID Controller for Inverted Pendulum Robot”.
https://openlibrary.telkomuniversity.ac.id/pustaka
/files/100391/jurnal_eproc/implementasi-kalman- filter-dan-pid-kontroler-pada-robot-pendulum- terbalik.pdf. Bandung: Telkom University.
[4].   Subrata, Rosalia H dan Richard R. Ligianto. 2015. Pengendalian Keseimbangan Ball and Plate Menggunakan Pengendali PID Dan Pengolahan Citra Digital. Jakarta: Universitas Kristen Maranatha.
[5].  Muslimin, M. W. . 2015. Perancangan dan Pembuatan Plant Ball and Beam. Semarang: Prodi S1 Teknik Elektro, Fakultas Teknik Elektro, Universitas Diponogoro.
[6]. J. Hauser, S. Sastry and P. Kokotovic, “Nonlinear control via approximate input-output linearization: ball and beam example”, IEEE Transaction on Automatic Control, Vol.37, 2016.
[7]. Zaleeits, Fahmi. 2017. Metode Tunning Ziegler Nichols Dalam Desain Kontroler PID. Surabaya: Institut Teknologi Surabaya.
[8]. Muhammad, Hindami. 2017. Desan dan Implementasi Kendali PID Pada Beam and Ball System. Bandung: Universitas Telkom.
[9]. Andrizal, Dodon Yendri, Pengendali Pompa pengisi Galon Air Berbasis Sensor Waterflow dan Mini PC, Jurnal Resti,Vol 1,No 2, Tahun 2017.
[10]. Ali, A. Taifour dkk,. 2017. Design and Implementation of Ball and Beam System Using PID Controller. Sudan: Sudan University of Science and Technology.
[11]. Virseda, Marta. 2017. Modeling and Control of the Ball and Beam Process. Master Thesis, Sweden: Department of Automatic Control Lund Institute of Technology.
[12]. Alabib, Luqman. 2018. Project Mandiri Ball On Beam With Stand Alone PID Controller. Banding: Politeknik Negeri Bandung.
[13]. Muhammad, Abiyyu. 2018. Implementation Of Balance Ball And Beam System Using Fuzzy Logic Control . Lampung: Universitas Negeri Lampung.
http://digilib.unila.ac.id/54874/3/jurnal%20Full%20Teks%20Tanpa%20Bab%20Pembahasan
[14]. Merti, Orlanda Wijaya. 2018. Perancangan Sistem Keseimbangan Beam and Ball dengan Menggunakan Pengendali PID Berbasis Arduino Uno. Surabaya: Universitas Negeri Surabaya.
[15]. Fitraturrahman, M. 2018. Desain PID Beam and Ball. Bandung: Politeknik Negeri Bandung




LAMPIRAN