syringe pump otomatis berbasis mikrokontroler

advertisement
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
TUGAS AKHIR
SYRINGE PUMP OTOMATIS BERBASIS
MIKROKONTROLER ARDUINO UNO
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh :
PRAYADI SULISTYANTO
NIM : 115114040
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2013
i
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
FINAL PROJECT
AUTOMATIC SYRINGE PUMP BASED
ARDUINO UNO MICROCONTROLLER
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
PRAYADI SULISTYANTO
NIM : 115114040
ELECTRICAL ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
2013
ii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
iii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
iv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau
bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka
sebagaimana layaknya karya ilmiah.
Yogyakarta, 17 Juli 2013
Prayadi Sulistyanto
v
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
HALAMAN MOTTO HIDUP DAN PERSEMBAHAN
MOTTO :
Tuhan Akan Memeluk Mimpi-mimpi Orang Yang Mau
Berusaha
Skripsi ini kupersembahkan untuk,
Tuhan YME yang selalu menyertaiku
Ani Sulistyawati Ibunda yang tercinta,
M.Bakhrun Ayahanda tercinta, Marsupiyanti
vi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama
: Prayadi Sulistyanto
Nomor Mahasiswa
: 115114040
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah ini yang berjudul :
SYRINGE PUMP OTOMATIS BERBASIS MIKROKONTROLER
ARDUINO UNO
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam
bentuk media lain, mengolahnya dalam bentuk pangkalan data, mendistribusikan secara
terbatas, dan mempublikasikan di Internet atau media lain untuk kepentingan akademis
tanpa perlu memnita ijin dari saya maupun memberikan royalti kepada saya selama tetap
mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 18 Juli 2013
(Prayadi Sulistyanto)
vii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
INTISARI
Syringe pump merupakan peralatan medis yang berfungsi untuk memasukkan obat
berwujud cairan ke dalam tubuh pasien dengan ukuran dan waktu tertentu secara otomatis.
Prinsip kerja syringe pump adalah mengatur laju cairan yang dimasukan ke dalam tubuh
dengan satuan ml/jam.
Syringe pump otomatis berbasis mikrokontroler arduino uno terdiri dari tiga bagian
yaitu : unit input, unit pengolah dan unit output. Unit input tersusun atas tombol navigasi
“start”, “stop”, “reset”, dan keypad matrik 4x3 sebagai pengatur laju aliran dan sensor
linear scale yang digunakan sebagai sensor posisi dari pendorong tabung suntik. Unit
pengolah tersusun atas mikrokontroler arduino uno. Unit output tersusun atas driver motor
stepper, motor stepper yang berfungsi sebagai penggerak pendorong tabung suntik, buzzer
yang berfungsi untuk memberi peringatan ke pengguna apabila tabung suntik kosong dan
LCD yang berfungsi sebagai penampil nilai laju cairan. Prinsip kerja syringe pump
otomatis berbasis mikrokontroler arduino uno yaitu dengan mengolah nilai input laju aliran
yang dimasukkan dan mengkonversi menjadi jeda setiap langkah motor stepper dan
banyak langkah motor stepper. Motor stepper digunakan untuk mendorong tabung suntik.
Semakin besar nilai jeda tiap langkah motor stepper, semakin kecil laju aliran yang
dihasilkan oleh syrnge pump otomatis berbasis mikrokontroler arduino uno.
Syringe pump otomatis berbasis mikrokontroler arduino uno berhasil dibuat dan
dapat bekerja dengan baik dan rentang pengaturan laju cairan 0,1 – 999 ml/jam dengan
ketelitian 0,1 ml. Syringe pump otomatis berbasis mikrokontroler arduino uno memiliki
error dibawah 5%.
Kata kunci : Syringe pump otomatis, mikrokontroler, Arduino Uno
viii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
ABSTRACT
Syringe pump is a medical equipment that used to inject automatically for size and
time drugs fluid into patient body. The working principle of syringe pump is to set rate of
fluid that entered into the body of the ml/hour unit.
There are three main units of automation syringe pump based Arduino Uno
microcontroller such as, the input unit, the processing unit, and the output unit. On the
input unit, there are some navigation buttons such as start button, stop button, and reset
button. Besides that inpu unit also contain a 4x3 matrix keypad and a linier scale sensor.
The 4 x 3 matrix keypad used to control fluid flow rate and a linier scale sensor used to
control position of the syringe plunger. The processing unit contain an Arduino Uno
microcontroller. A stepper motor, buzzer, and LCD display are parts o an output unit. A
stepper motor driver used to drive a syringe plunger. Buzzer used to warn the user when
the syringe is empty. A LCD display used to display a fluid speed value. The working
principle of automation syringe pump based Arduino Uno microcontroller is to process the
flow rate input value and convert the value to give how many delay and step for motor
stepper output. Stepper motor used to drive the syringe. If the greater delay value every
step of stepper motor then the flow rate generated by automation syringe pump based on
microcontroller Arduino Uno is smaller.
Automated syringe pump based on Arduino Uno has been successfully created and
work correctly based on the range adjustment liquid rate from 0.1 until 999 ml/hour with
0,1 ml precision. Syringe pump based on microcontroller Arduino Uno has an error less
than 5%.
Keywords : Automatic syringe pump, microcontroller, Arduino Uno
ix
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas rahmat dan
karunia-Nya sehingga tugas akhir dengan judul “Syringe Pump Otomatis Berbasis
Mikrokontroler Arduino Uno” ini dapat diselesaikan dengan baik. Selama menulis tugas
akhir ini, penulis menyadari bahwa ada banyak pihak yang telah memberikan bantuan dan
dukungan pada penulis. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada :
1. Ibu Ani Sulistyawati, Bapak M. Bakhrun, Mbak Sulis, Mas Agung dan saudarasaudara penulis yang senantiasa memberikan doa, semangat serta dukungan kepada
penulis.
2. Ibu Ir. Prima Ari Setiyani. M.T. selaku dosen pembimbing yang dengan penuh
kesabaran membimbing, memberi saran, dan kritik kepada penulis.
3. Seluruh Dosen Teknik Elektro dan seluruh Laboran Teknik Elektro yang telah
memberikan ilmu dan pengetahuan kepada penulis selama kuliah.
4. Seluruh Dosen dan Karyawan Politeknik Mekatronika Sanata Dharma yang telah
memberikan ilmu dan pengetahuan kepada penulis selama kuliah.
5. Sdri. Marsupiyanti yang telah memberikan semangat dan dukungan pada penulis.
6. Teman-teman alumni Politeknik Mekatronika Sanata Dharma yang sedang
menempuh studi di Teknik Elektro yang telah memberikan doa, semangat dan
dukungan kepada penulis.
7. Teman-teman Teknik Elektro semua angkatan yang telah memberikan semangat
pada penulis.
Penulis menyadari bahwa laporan tugas akhir ini masih sangat jauh dari sempurna,
oleh karena itu penulis mengharapkan saran dan kritik yang membangun dari pembaca
agar dalam proses penulisan dikemudian hari dapat semakin baik. Semoga tugas akhir ini
bermanfaat bagi semua pihak, baik bagi penulis maupun bagi pembaca. Terima kasih.
Yogyakarta, 21 Juni 2013
Penulis
x
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR ISI
HALAMAN JUDUL ................................................................................................
i
HALAMN JUDUL (Bahasa Inggris) .......................................................................
ii
HALAMAN PERSETUJUAN .................................................................................
iii
HALAMAN PENGESAHAN ..................................................................................
iv
PERNYATAAN KEASLIAN KARYA ..................................................................
v
HALAMAN MOTTO HIDUP DAN PERSEMBAHAN .........................................
vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS .................................................................
vii
INTISARI .................................................................................................................
viii
ABSTRACT .............................................................................................................
ix
KATA PENGANTAR ..............................................................................................
x
DAFTAR ISI ............................................................................................................
xi
DAFTAR GAMBAR ................................................................................................
xv
DAFTAR TABEL .................................................................................................... xviii
DAFTAR LAMPIRAN ............................................................................................
xx
BAB I PENDAHULUAN .........................................................................................
1
1.1. Latar Belakang ...............................................................................................
1
1.2. Tujuan dan Manfaat ........................................................................................
2
1.3. Batasan Masalah .............................................................................................
2
1.4. Metodologi Penelitian .....................................................................................
3
BAB II DASAR TEORI ...........................................................................................
4
2.1. Syringe Pump .................................................................................................
4
xi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2.2. Modul Mikrokontroler Arduino Uno................................................................
4
2.2.1. Mikrokontroler ATmega328 ..................................................................
6
2.2.2. Timer/Counter pada Mikrokontroler Arduino Uno ................................
7
2.3. Tombol ...........................................................................................................
8
2.4. Keypad Matrik 4x3 .........................................................................................
10
2.5. Pembagi Tegangan .........................................................................................
12
2.6. Linear Scale ...................................................................................................
12
2.7. LCD (Liquid Crystal Display) ........................................................................
13
2.8. Motor Stepper .................................................................................................
15
2.9. IC L298 ..........................................................................................................
17
2.10. Buzzer ..........................................................................................................
19
2.11. Jenis Ulir Menurut Jumlah Ulir Tiap Gang (Pitch) .......................................
19
BAB III PERANCANGAN ALAT ..........................................................................
21
3.1. Layout Perancangan .......................................................................................
21
3.2. Cara Kerja Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno ....
23
3.3. Perancangan Perangkat Keras .........................................................................
24
3.3.1. Modul Mikrokontroler Arduino Uno .....................................................
24
3.3.2. Sensor Posisi dengan Linear Scale .........................................................
25
3.3.3. Tombol Navigasi ...................................................................................
27
3.3.4. Keypad Pengatur Laju Cairan .................................................................
28
3.3.5. Driver Motor Stepper ............................................................................
29
3.3.6. Liquid Crystal Display (LCD) ...............................................................
30
xii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
3.3.7. Buzzer ...................................................................................................
31
3.4. Perancangan Perangkat Lunak ........................................................................
31
3.4.1. Diagram Utama .....................................................................................
31
3.4.2. Diagram Alir Tombol Navigasi .............................................................
33
3.4.3. Diagram Alir Keypad Pengatur Laju Aliran ...........................................
34
3.4.4. Diagram Alir Input Linear Scale ............................................................
34
3.4.5. Diagram Alir Peringatan Buzzer ............................................................
35
3.4.6. Penentuan Laju Aliran dan Diagram Alir Gerakan Motor Stepper ..........
35
BAB IV HASIL DAN PEMBAHASAN ...................................................................
37
4.1. Hasil Implementasi Alat .................................................................................
37
4.2. Perancangan Ulang untuk Koreksi Error ........................................................
41
4.2.1. Koreksi Error Menggunakan Perangkat Keras ......................................
41
4.2.2. Koreksi Error Menggunakan Perangkat Lunak ......................................
46
4.3. Hasil Perancangan Perangkat Keras ................................................................
52
4.4. Hasil Pengujian ..............................................................................................
54
4.4.1. Pengujian Tombol Navigasi ...................................................................
54
4.4.2. Pengujian Keypad Pengatur Laju Aliran ................................................
54
4.4.3. Pengujian Driver Motor Stepper ............................................................
55
4.4.4. Pengujian Buzzer ...................................................................................
56
4.5. Analisa Perangkat Lunak ................................................................................
57
4.5.1. Implementasi Diagram Utama ...............................................................
57
4.5.2. Implementasi Diagram Alir Tombol Navigasi ........................................
58
xiii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
4.5.3. Implementasi Diagram Alir Keypad Pengatur Laju Aliran .....................
61
4.5.4. Implementasi Diagram Alir Input Linear Scale ......................................
64
4.5.5. Implementasi Diagram Alir Peringatan Buzzer ......................................
64
4.5.6. Implementasi Diagram Alir Gerakan Motor Stepper ..............................
65
BAB V KESIMPULAN DAN SARAN ....................................................................
67
5.1. Kesimpulan ....................................................................................................
67
5.2. Saran ..............................................................................................................
67
DAFTAR PUSTAKA ...............................................................................................
68
xiv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR GAMBAR
Gambar 2.1. Bentuk Fisik Syringe Pump TE-331 Terumo ..........................................
4
Gambar 2.2. Modul Mikrokontroler Arduino Uno ......................................................
5
Gambar 2.3. Konfigurasi Pin ATmega328/ATmega168 pada Arduino Uno .................
5
Gambar 2.4. Perangkat Lunak Arduino ......................................................................
5
Gambar 2.5. Rangkaian Tombol dengan Pull-up Resistor ..........................................
10
Gambar 2.6. Bentuk Fisik Keypad Matrik 4x3 ...........................................................
11
Gambar 2.7. Rangkaian Keypad Matrik 4x3 ..............................................................
11
Gambar 2.8. Rangkaian Pembagi Tegangan ...............................................................
12
Gambar 2.9. Slide Pot-Motorized (10k Linear Taper) ................................................
13
Gambar 2.10. Bentuk Fisik Modul LCD Topway .......................................................
14
Gambar 2.11. Ilustrasi Motor Stepper Tipe Variable Reluctance (VR) .......................
15
Gambar 2.12. Ilustrasi Motor Stepper Tipe Permanent Magnet (PM) ........................
16
Gambar 2.13. Ilustrasi Motor Stepper Tipe Hybrid (HB) ...........................................
16
Gambar 2.14. Prinsip Kerja Motor Stepper ................................................................
16
Gambar 2.15. IC L298N ............................................................................................
18
Gambar 2.16. Rangkaian IC L298 .............................................................................
19
Gambar 2.17. Simbol Buzzer .....................................................................................
19
Gambar 2.18. Bentuk Fisik Buzzer ............................................................................
19
Gambar 2.19. Ulir Tunggal dan Ulir Ganda ...............................................................
20
Gambar 3.1. Diagram Blok Sistem Secara Keseluruhan Syringe Pump ......................
21
Gambar 3.2. Bentuk Fisik Syringe Pump Otomatis ....................................................
22
xv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 3.3. Dimensi Syringe Pump Otomatis Tampak Atas .....................................
23
Gambar 3.4. Dimensi Syringe Pump Otomatis Tampak Samping ...............................
23
Gambar 3.5. Rangkaian Pemanfaatan Pin Mikrokontroler Arduino Uno ....................
24
Gambar 3.6. Rangkaian Linear Scale .........................................................................
25
Gambar 3.7. Rangkaian Tombol Navigasi ..................................................................
27
Gambar 3.8. Rangkaian Keypad Matrik 4x3 ...............................................................
28
Gambar 3.9. Rangkaian Driver Motor Stepper ...........................................................
29
Gambar 3.10. Rangkaian LCD ..................................................................................
30
Gambar 3.11. Rangkaian Buzzer ................................................................................
31
Gambar 3.12. Diagram Utama ...................................................................................
32
Gambar 3.13. Diagram Alir Input Navigasi ...............................................................
33
Gambar 3.14. Diagram Alir Keypad Pengatur Laju Aliran .........................................
34
Gambar 3.15. Diagram Alir Input Linear Scale .........................................................
35
Gambar 3.16. Diagram Alir Peringatan Buzzer ..........................................................
35
Gambar 3.17. Diagram Alir Gerakan Motor Stepper ..................................................
36
Gambar 4.1. Blok Kontrol pada Alat Syringe Pump Otomatis Berbasis
Mikrokontroler Arduino Uno .....................................................................................
52
Gambar 4.2. Konstruksi Alat Syringe Pump Otomatis Berbasis Mikrokontroler
Arduino Uno ..............................................................................................................
53
Gambar 4.3. Inisialisasi Program ...............................................................................
58
Gambar 4.4. Program Utama .....................................................................................
58
Gambar 4.5. Diagram Alir Tombol Navigasi .............................................................
59
Gambar 4.6. Implementasi Program Navigasi ............................................................
60
xvi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 4.7. Hasil Penekanan Tombol Navigasi “start” .............................................
60
Gambar 4.8. Hasil Penekanan Tombol Navigasi “stop” ..............................................
60
Gambar 4.9. Hasil Penekanan Tombol Navigasi “reset” ............................................
61
Gambar 4.10. Diagram Alir Keypad Pengatur Laju Cairan ........................................
61
Gambar 4.11. Implementasi Diagram Alir Keypad Pengatur Laju Cairan ..................
62
Gambar 4.12. Diagram Alir Perkalian .......................................................................
63
Gambar 4.13. Implementasi Diagram Alir Perkalian ..................................................
63
Gambar 4.14. Hasil Penekanan Tombol Keypad Pengatur Laju Aliran ......................
63
Gambar 4.15. Implementasi Diagram Alir Input Linear Scale ...................................
64
Gambar 4.16. Implementasi Diagram Alir Peringatan Buzzer ....................................
64
Gambar 4.17. Hasil Coding Peringatan Buzzer ..........................................................
64
Gambar 4.18. Diagram Alir Gerakan Motor Stepper ..................................................
65
Gambar 4.19. Implementasi Diagram Alir Gerakan Motor Stepper Step 1 dan Step 2 .
66
xvii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR TABEL
Tabel 2.1. Konfigurasi dan Diskripsi Pin ATmega328 .................................................
6
Tabel 2.2. Konfigurasi Alternatif Port D .....................................................................
7
Tabel 2.3. Timer pada Mikrokontroler Arduino Uno ...................................................
8
Tabel 2.4. Macam-macam Saklar berdasar Konstruksinya ..........................................
9
Tabel 2.5. Spesifikasi Slide Pot-Motorized (10k Linear Taper) ...................................
13
Tabel 2.6. Konfigurasi Pin LCD Topway ....................................................................
14
Tabel 2.7. Pemberian Pulsa Motor Stepper .................................................................
17
Tabel 2.8. Konfigurasi Pin IC L298 ............................................................................
18
Tabel 2.9. Ulir ISO Metrik Normal .............................................................................
20
Tabel 3.1. Pengalamatan Input Output Mikrokontroler Arduino Uno ..........................
25
Tabel 3.2. Tombol Navigasi ........................................................................................
28
Tabel 3.3. Nilai Resistansi Tombol Keypad Matrik 4x3 ..............................................
28
Tabel 3.4. Pengalamatan Driver Motor Stepper ..........................................................
29
Tabel 3.5. Informasi yang Tertampil Dalam LCD .......................................................
30
Tabel 3.6. Pengalamatan LCD ....................................................................................
30
Tabel 3.7. Deklarasi Pin Arduino Uno ........................................................................
31
Tabel 4.1. Data Hasil Pengujian Syringe Pump Otomatis Berbasis Mikrokontroler
Arduino Uno ..............................................................................................................
38
Tabel 4.2. Data Hasil Pengujiann Laju Aliran 20 ml/jam dalam Waktu Tertentu .........
40
Tabel 4.3. Data Hasil Pengujiann Laju Aliran 50 ml/jam dalam Waktu Tertentu .........
41
Tabel 4.4. Data Hasil Pengujiann Laju Aliran 120 ml/jam dalam Waktu Tertentu .......
41
Tabel 4.5. Data Hasil Pengujiann Laju Aliran 500 ml/jam dalam Waktu Tertentu .......
41
xviii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Tabel 4.6. Data Hasil Pengujiann Laju Aliran 999 ml/jam dalam Waktu Tertentu .......
41
Tabel 4.7. Data Hasil Pengujian Linear Scale .............................................................
42
Tabel 4.8. Data pembacaan Linear Scale Tiap Satu Putaran Motor Stepper .................
42
Tabel 4.9. Nilai Error Rata-rata dan Laju Aliran Tiap Langkah Motor Stepper ...........
46
Tabel 4.10. Data Hasil Pengujian setelah Koreksi Error Pertama ...............................
47
Tabel 4.11. Nilai Error Rata-rata dan Laju aliran Tiap Langkah Motor Stepper ..........
49
Tabel 4.12. Data Hasil Pengujian seteleah Koreksi Error Kedua ................................
49
Tabel 4.13. Bagian dari Blok Kontrol dan Fungsi dari Rangkaian ...............................
49
Tabel 4.14. Bagian dan Fungsi dari Alat .....................................................................
53
Tabel 4.15. Data Hasil Pengujian Tombol Navigasi ....................................................
54
Tabel 4.16. Data Hasil Pengujian Keypad Pengatur Laju Cairan .................................
54
Tabel 4.17. Data Hasil Pengujian Driver Motor Stepper .............................................
56
Tabel 4.18. Data Hasil Pengujian Buzzer dengan Laju aliran 1,2 ml/jam .....................
57
Tabel 4.19. Data Hasil Pengujian Buzzer dengan Laju aliran 4,8 ml/jam .....................
57
Tabel 4.20. Data Hasil Pengujian Buzzer dengan Laju aliran 10,2 ml/jam ..................
57
xix
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR LAMPIRAN
1. LAMPIRAN LISTING PROGRAM UTAMA .................................................
L1
2. LAMPIRAN RANGKAIAN KESELURUHAN .............................................
L2
3. LAMPIRAN TABEL PENGAMBILAN DATA .............................................
L3
4. DATASHEET L298 .........................................................................................
L4
5. DATASHEET SLIDE POT-MOTORIZED .......................................................
L5
xx
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
1
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Peralatan kesehatan yang digunakan di rumah sakit terkemuka di Indonesia sudah
menggunakan teknologi yang canggih. Peralatan medis yang canggih sangat membantu
tenaga medis dalam penanganan pasien karena proses pengobatan dan perawatan dapat
dilakukan dengan cepat dan akurat. Berbagai macam penyakit yang diderita oleh pasien
kadang membutuhkan penanganan khusus seperti penanganan nyeri pasca bedah
menggunakan teknik regional epidural dengan meletakan kateter epidural (meletakan
tabung elastis diantara kedua selaput keras dari sumsum belakang [2]) dan memberikan
obat–obat anestetik lokal, opioid dan adjuvant lainnya pada masa pasca bedah baik secara
intermittent maupun kontinyu [1] sehingga tenaga medis harus secara rutin memberikan
obat dengan dosis tertentu kepada pasien secara tepat. Opioid adalah semua zat sintetik
atau natural yang dapat berikatan dengan reseptor morfin. Opioid disebut juga sebagai
analgetik narkotika yang sering dalam anesthesia untuk mengendalikan nyeri saat
pembedahan dan nyeri pasca pembedahan [3].
Penggunaan komponen elektronika, mekanika dan mikrokontroler sangat
dibutuhkan dalam dunia kesehatan untuk mendapatkan tingkat akurasi dan kepresisian
yang diharapkan. Peralatan medis yang menggunakan perpaduan antara elektronika,
mekanika dan mikrokontroler sudah banyak dijumpai dirumah sakit terkemuka seluruh
Indonesia, misalnya syringe pump yang berfungi untuk memasukan obat berwujud cairan
ke dalam tubuh pasien dengan ukuran dan waktu tertentu secara otomatis. Pada
penanganan nyeri pasca bedah, pasien membutuhkan obat dengan dosis tertentu secara
intermittent dan kontinyu [1]. Dengan menggunakan syringe pump maka pemberian obat
ke pasien dapat dilakukan dengan mudah dengan tingkat kepresisian yang tinggi. Hal ini
sangat membantu pasien dalam proses penyembuhan dari sakit yang dideritanya.
Prinsip kerja syringe pump adalah mengatur laju cairan yang dimasukan ke dalam
tubuh dengan satuan ml/jam yang berarti menyatakan jumlah cairan dalam milliliter dalam
satuan jam. Syringe pump otomatis berbasis mikrokontroler Arduino Uno yang akan dibuat
dalam penelitian ini, merupakan alat bantu kesehatan yang akan mengatur laju cairan yang
dikontrol dengan mikrokontroler Arduino Uno. Pengaturan dilakukan dengan mengatur
1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2
pendorong syringe yang digerakkan menggunakan motor stepper. Dengan mengatur step
motor stepper maka laju cairan dapat dikendalikan.
Syringe pump yang saat ini ada dipasaran adalah Syringe Pump TE-331 Terumo
memiliki rentang pengaturan laju cairan 0,1 - 999 ml/jam untuk syringe ukuran 50 ml
dengan ketelitian 0,1 ml pada rentang pengaturan laju cairan 0,1 - 99 ml/jam dan ketelitian
1ml pada rentang pengaturan laju cairan 100 - 999 ml/jam [4]. Syringe pump otomatis
berbasis mikrokontroler Arduino Uno yang akan dibuat dalam penelitian ini memiliki
rentang pengaturan laju cairan 0,1 - 999 ml/jam dengan ketelitian 0,1 ml.
Keunggulan dari syringe pump otomatis berbasis mikrokontroler Arduino Uno yang
akan dibuat dalam penelitian ini dibandingkan dengan syringe pump yang ada dipasaran
saat ini adalah laju cairan yang tetap pada ketelitian 0,1 ml.
1.2.
Tujuan dan Manfaat
Tujuan yang akan dicapai adalah :
Merancang dan mengimplementasikan syringe pump otomatis berbasis
mikrokontroler Arduino Uno sebagai alat medis dengan rentang pengaturan laju
cairan 0,1 – 999 ml/jam dengan ketelitian 0,1 ml.
Manfaat yang akan dicapai adalah :
Membantu tenaga medis memasukan obat berwujud cair kedalam tubuh
secara tepat dan akurat dalam jumlah dan waktu tertentu.
1.3.
Batasan Masalah
Batasan masalah pada penelitian ini :
a. Merancang dan mengimplementasikan syringe pump otomatis berbasis
mikrokontroler Arduino Uno.
b. Menggunakan tabung suntik produk TERUMO berukuran 60ml.
c. Rentang pengaturan laju cairan antara 0.1 ml/jam sampai dengan 999 ml/jam
d. Ketelitian syringe pump yang dibuat adalah 0.1 ml/jam.
e. Setpoint diatur menggunakan keypad matrik dan nilai dari setpoint akan
ditampilkan dalam LCD 16x2.
f. Menggunakan sensor linier scale sebagai feedback dari alat yang dibuat.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
1.4.
3
Metodologi Penelitian
Metode yang digunakan dalam penelitian ini adalah :
a. Mengumpulkan referensi-referensi mengenai alat syringe pump.
b. Mengumpulkan referensi-referensi mengenai modul Arduino Uno.
c. Merancang desain sistem alat syringe pump otomatis berbasis mikrokontroler
Arduino Uno.
d. Merancang desain hardware syringe pump otomatis berbasis mikrokontroler
Arduino Uno.
e. Membuat hardware dari desain hardware syringe pump otomatis berbasis
mikrokontroler Arduino Uno.
f. Merancang flowchart syringe pump otomatis berbasis mikrokontroler
Arduino Uno.
g. Coding program dengan menggunakan software arduino.
h. Melakukan pengambilan data menggunakan gelas ukur dengan ketelitian 0,1
ml dari output laju cairan yang dihasilkan alat syringe pump otomatis berbasis
mikrokontroler Arduino Uno dengan nilai setpoint.
i. Melakukan pengambilan data waktu yang dibutuhkan untuk mendapatkan
laju cairan sesuai dengan setpoint menggunakan stopwatch.
j. Melakukan analisa dari hasil pengambilan data alat syringe pump otomatis
berbasis mikrokontroler Arduino Uno.
k. Melakukan pengambilan kesimpulan dari alat syringe pump otomatis berbasis
mikrokontroler Arduino Uno yang dibuat dalam penelitian ini.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
4
BAB II
DASAR TEORI
Bab ini menjelaskan tentang dasar teori yang akan dicapai dalam melakukan
perancangan syringe pump otomatis berbasis mikrokontroler Arduino Uno. Dasar teori
yang akan diterapkan dalam bab ini meliputi : syringe pump, mikrokontroler Arduino Uno,
tombol input, keypad matrik, linear scale, LCD, motor stepper, IC L298 dan buzzer.
2.1. Syringe Pump
Syringe pump merupakan salah satu peralatan elektromedis yang berfungsi untuk
memasukan cairan obat kedalam tubuh pasien dalam jangka waktu tertentu secara teratur
[5]. Prinsip kerja syringe pump adalah mengatur laju cairan yang dimasukan ke dalam
tubuh dengan satuan ml/jam yang berarti menyatakan jumlah cairan dalam milliliter dalam
satuan jam. Bentuk fisik syringe pump dapat dilihar pada gambar 2.1.
Gambar 2.1 Bentuk Fisik Syringe Pump TE-331 Terumo [4]
Peralatan elektromedis fungsinya sama dengan syringe pump adalah infusion pump.
Meskipun kedua peralatan ini mempunyai fungsi yang sama, kedua jenis pump ini ternyata
mempunyai jenis atau karakteristik yang berbeda. Pada infusion pump jenis larutan obat
yang dimasukan ke dalam tubuh pasien maksimal sebesar 500 cc. Sedangkan untuk syringe
pump hanya sebesar 50 cc [6].
2.2. Modul Mikrokontroler Arduino Uno
Arduino Uno merupakan sebuah perangkat keras dari arduino berupa sistem minimum
dengan mikrokontroler ATmega328 [7]. Hardware mikrokontroler Arduino Uno dapat
dilihat pada gambar 2.2.
4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
5
Gambar 2.2. Modul Mikrokontroler Arduino Uno [7]
Mikrokontroler Arduino Uno memiliki 14 pin digital (6 pin diantaranya dapat
digunakan sebagai output Pulse Width Modulation atau PWM ), input/output dan 6 pin
input analog, osilator 16 MHz, koneksi USB, konektor input tegangan, ICSP header dan
tombol reset. Modul mikrokontroler Arduino Uno ditunjukan pada gambar 2.1, sedangkan
gambar 2.3 menunjukan konfigurasi pin ATmega 328 pada Arduino Uno.
Gambar 2.3. Konfigurasi pin ATmega328/ATmega168 pada Arduino Uno [7]
Pemprograman modul mikrokontroler Arduino Uno menggunakan perangkat lunak
arduino (gambar 2.4). ATmega328 pada arduno uno sudah terpasang bootloader yang
memungkinkan pengguna untuk mengunggah kode tanpa menggunakan perangkat keras
tambahan.
Gambar 2.4. Perangkat lunak Arduino
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
6
Fasilitas komunikasi yang dimiliki mikrokontroler Arduino Uno meliputi komunikasi
antara Arduino Uno dengan komputer, Arduino Uno dengan arduino lain, dan Arduino
Uno dengan mikrokontroler yang lain. ATmega328 menyediakan fasilitas USART
(Universal Synchronus and Asynchronus Serial Receiverand Transmitter) pada pin D0
(Rx) dan pin D1 (Tx).
2.2.1. Mikrokontroler ATmega328
Dalam penelitian ini mikrokontroler yang digunakan adalah mikrokontroler
ATmega328 karena kompatibilasnya dengan modul mikrokontroler Arduino Uno.
ATmega328 memiliki fitur 32 kByte downloadable flash memory, 1 kByte Electrically
Erasable Programmable Read-Only Memory (EEPROM), 2 kByte internal Static RandomAcessMemory (SRAM), 2 Timer/Counter 8 bit dan1 Timer/Counter 16 bit, 6 kanal PWM,
serial USART yang dapat diprogram dan frekuensi kerja dapat mencapai 20MHz [8].
ATmega328 memiliki fungsi masing-masing pin yang dapat dilihat pada gambar 2.3
sedangkan untuk penjelasan masing-masing pin dapat dilihat pada tabel 2.1 dan
konfigurasi alternatif port D dapat dilihat pada tabel 2.2.
Tabel 2.1. Konfigurasi dan diskripsi pin ATmega328 [8]
No Pin
Nama Pin
Keterangan
7
VCC
Sumer tegangan positif
8, 22
GND
Ground
Masing-masing pin pada port B memiliki resistor pull-up
9,10, 14,
Port B
15,16,17,18,19
( PB7:0 )
internal dan dapat digunakan sebagai 8 bit I/O digital. Pin
PB6 dan PB7 terhubung dengan Kristal 16Mhz, tidak
digunakan sebagai I/O. Pin PB1- pin PB3 dapat digunakan
sebagai output PWM.
Masing-masing pin pada port C memiliki resistor pull-up
1, 23, 24,25,
Port C
internal dan dapat digunakan sebagai 7 bit I/O analog. Pin
26, 27, 28
( PC6:0 )
PC6 digunakan sebagai input reset, tidak digunakan
sebagai I/O
2, 3, 4, 5, 6,
Port D
11, 12, 13
( PD7:0 )
20
AVcc
Sumber tegangan positif untuk konversi analog ke digital
21
Aref
Tegangan referensi untuk konversi analog ke digital
Konfigurasi alternatif port D dapat dilhat pada tabel 2.2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
7
Tabel 2.2. Konfigurasi Alternatif Port D [8]
No Pin
Nama Pin
13
PD7
Keterangan
AIN1 (Analog Comparator Negative Input)
PCINT23 (Pin Charge Interrupt 2 )
AIN0 (Analog Comparator Negative Input )
12
PD6
OC0A (Timer/Counter 0 Output Compare Match A
Output)
PCINT22 (Pin Change Interupt 22)
T1 (Timer/Counter 1 External Counter Input)
11
PD5
OC0B (Timer/Counter 0 Output Compare Match B Output)
PCINT21 (Pin Change Interupt 21)
XCK (USART External Clock Input/Output)
10
PD4
T0 (Timer/Counter 0 External Counter Input)
PCINT20 (Pin Change Interupt 20)
INT1 (Extenal Interupt 1 Input)
9
PD3
OC2B (Timer/Counter 2 Output Compare Match B Output)
PCINT19 (Pin Change Interupt 19)
8
PD2
7
PD1
6
PD0
INT0 (Extenal Interupt 0 Input)
PCINT18 (Pin Change Interupt 18)
TXD (USART Output Pin)
PCINT17 (Pin Change Interupt 17)
RXD (USART Input Pin)
PCINT16 (Pin Change Interupt 16)
2.2.2. Timer/Counter pada Mikrokontroler Arduino Uno
Ada tiga buah timer yang tersedia di mikrokontroler ATmega328 dan dapat
dikonfigurasi
untuk memenuhi kebutuhan penggunanya [9]. Fungsi dari ketiga timer
tersebut dapat dilihat pada tabel 2.3.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
8
Tabel 2.3. Timer pada Mikrokontroler Arduino Uno
Timer
Timer 0
Fungsi
 Waktu delay dengan satuan millisecond
Pin Output
Pin 5 dan 6
 Pengendali output PWM
Timer 1
Pengendali output PWM
Pin 9 dan 10
Timer 2
Pengendali output PWM
Pin 3 dan 11
Dari ketiga timer tersebut, hanya timer 0 yang dilengkapi dengan ISR (Interrupt
Service Routine) sehingga untuk keperluan PWM (Pulse Width Modulation) menggunakan
timer 1 yang akan mengatur pin 9 dan 10 sedangkan untuk timer 2 akan mengatur pin 3
dan 11.
Hal yang perlu diperhatikan dalam penggunaan timer adalah sebagai berikut:
1. Inisialisasi
Inisialisasi dilakukan pertama kali untuk menentukan periode timer karena secara
default bernilai satu detik.
2. Pengaturan periode
Mikrokontroler Arduino memiliki periode minimal satu mikrodetik atau 1MHz dan
periode maksimal 8388480 mikrodetik atau 8,3 detik. Pengaturan periode ini akan
merubah interrupt dan frekuensi kedua output PWM.
3. PWM
Pin output untuk timer1 adalah pin 9 dan 10 sedangkan timer 2 memliki output pin 3
dan 11. Duty cycle yang dimiliki adalah 10 bit sehingga dapat diatur mulai dari nol
sampai 1023.
4. Fungsi interrupt
Pemanggilan fungsi interrupt dalam mikrodetik. Perlu diperhatikan dalam
penggunaan fungsi interrupt karena akan berjalan pada frekuensi tinggi, atau CPU
tidak akan pernah masuk ke program utama dan program akan terkunci di fungsi
interrupt.
5. Mematikan pin PWM
Dengan mematikan PWM maka pin tersebut dapat digunakan untuk fungsi yang lain
2.3. Tombol
Tombol adalah sebuah alat yang berfungsi sebagai penghubung dan pemutus arus
listrik. Dalam rangkaian elektronika dan rangkaian listrik, tombol atau saklar berfungsi
untuk menghubungkan dan memutuskan arus listrik yang mengalir dari sumber tegangan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
9
menuju beban (output) atau dari sebuah sistem ke sistem lainya [10]. Macam-macam
tombol atau saklar berdasar konstruksinya dapat dilihat pada tabel 2.4.
Tabel 2.4. Macam-macam Saklar berdasar Konstruksinya [8]
Jenis Saklar (Switch)
SPST (Single Pole, Single Throw)
Saklar On-Off sederhana
Saklar Push-Off
Kedua terminal akan terputus selama
ditekan
SPDT (Single Pole, Double Throw)
Terminal sentral (COM) akan
terhubung ke salah satu terminal dan
akan terputus ke terminal lainnnya
dalam satu kondisi.
DPST (Double Pole, Single Throw)
Dalam kondisi On ("1") dua terminal
sentral akan terhubung ke terminal
pasangannya dan akan terputus ketika
kondisi Off ("0")
DPDT (Double Pole, Double Throw)
Dua terminal sentral akan terhubung ke
salah satu terminal pasangannya dan
teputus ke terminal pasangannya yang
lain dalam satu kondisi.
Simbol Saklar
Contoh fisik
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
10
Dalam perancangan alat elektronika yang menggunakan IC digital, perlu
memperhatikan mengenai resistor pull-up dan resistor pull-down pada input. Tujuan dari
resistor ini adalah untuk menghindari kondisi mengambang pada masukan IC. Pada IC
jenis TTL, jika kaki tidak terhubung maka akan dianggap selalu mendapat logic satu (high)
atau menggunakan pull-up resistor [11].
Pull-up resistor berarti menghubungkan masukan IC supaya secara default mendapat
logic satu, ketika mendapat trigger maka akan berubah menjadi logic nol atau sering
disebut dengan aktif low. Gambar rangkaian tombol dengan pull-up resistor dapat dilihat
pada gambar 2.5.
Vcc
Ke Pin Mikrokontroler
Resistor
Switch
Gambar 2.5. Rangkaian Tombol dengan Pull-up Resistor
Besarnya resistansi resistor dalam rangkaian pull-up resistor harus diperhatikan
karena akan menentukan besarnya arus yang mengalir ke mikrokontroler. Sesuai dengan
hukum Ohm, besarnya resistansi resistor dapat dihitung dengan persamaan:
R = V / I ......................................................... (2.1)
dengan :
R = resistansi resistor ( Ohm )
V = tegangan catu daya (Volt)
I = arus yang diijinkan masuk ke pin mikrokontroler ( Ampere )
2.4. Keypad Matrik 4x3
Tombol keypad matrik 4x3 adalah susunan dari beberapa buah saklar tekan (push
button) yang disusun secara matrik. Dipasaran terdapat beberapa jenis tombol keypad, dan
yang paling sering digunakan diantaranya adalah tombol keypad matrik 4x3 dan keypad
matrik 4x4. Tombol keypad ini banyak digunakan dalam aplikasi sistem berbasis
mikrokontroler seperti untuk memasukan password atau data ke sebuah sistem. Cara
mengakses tombol keypad ini dilakukan dengan cara scaning, yaitu memberi logika 0 pada
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
11
salah satu pin (baik baris atau kolom) kemudian membaca titik yang lain [12]. Bentuk fisik
fisik keypad matrik 4x3 dapat dilihat pada gambar 2.6.
Gambar 2.6. Bentuk Fisik Keypad Matrik 4x3 [13]
Dalam perancangan ini, keypad matrik yang digunakan adalah keypad matrik 4x3
dengan memanfaatkan satu pin analog Arduino Uno. Gambar rangkaian keypad matrik
4x3, dapat dilihat pada gambar 2.7.
Gambar 2.7 Rangkaian Keypad Matrik 4x3 [14]
Pada gambar 2.7, semua baris dan kolom terhubung ke beberapa resistor. Setiap
penekanan tombol akan memberikan nilai resistansi yang berbeda yaitu antara 0kΩ sampai
11kΩ [14].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
12
2.5. Pembagi Tegangan
Rangkaian pembagi tegangan biasanya digunakan untuk membuat suatu tegangan
referensi dari sumber tegangan yang lebih besar, titik tegangan referensi pada sensor,
untuk memberikan bias pada rangkaian penguat atau untuk memberi bias pada komponen
aktif. Rangkaian pembagi tegangan pada dasarnya dapat dibuat dengan dua buah resistor,
contoh rangkaian dasar pembagi tegangan dengan output Vo dari tegangan sumber Vi
menggunakan resistor pembagi tegangan R1 dan R2 seperti pada gambar berikut [15].
Gambar 2.8. Rangkaian Pembagi Tegangan [15]
Besarnya Vo dapat dirumuskan sebagai berikut :
Vo =
dengan :
x Vi ...............................................................( 2.2)
R1 = resistansi resistor pertama ( Ohm )
R2 = resistansi resistor kedua ( Ohm )
Vi = tegangan input (Volt)
Vo = tegangan output (Volt)
2.6. Linear Scale
Linear scale merupakan sensor yang digunakan untuk mendeteksi posisi. Slide PotMotorized (10k linear Taper) merupakan potensiometer berpenggerak motor servo. Slide
menggunakan dua buah potensiometer yang terpisah sehingga untuk membaca posisi dapat
menggunakan salah satu potensiometer saja. Potensiometer bermotor berguna juga ketika
dibutuhkan kemampuan untuk lompat menuju titik tertentu secara tepat [16]. Gambar 2.9
menunjukan bentuk fisik dari Slide Pot-Motorized (10k linear Taper).
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
13
Gambar 2.9. Slide Pot-Motorized (10k linear Taper) [16]
Slide Pot-Motorized dapat difungsikan sebagai sensor posisi (line track) dan actuator
(servo track). Jika Slide Pot-Motorized difungsikan sebagai actuator maka perpindahan
posisi dapat dilakukan dengan mengaktifkan motor servo sedangkan feedback posisi dapat
menggunakan potensiometer (Line track). Spesifikasi dari Slide Pot-Motorized (10k linear
Taper) dapat dilihat pada tabel 2.5.
Tabel 2.5. Spesifikasi Slide Pot-Motorized (10k linear Taper) [16]
Keterangan
Spesifikasi
Tegangan operasional
6 – 11 Vdc
Arus operasional
800mA
Kecepatan perpindahan posisi
20mm/0.1 sec
Jangkauan
100mm
Total resistansi potensiometer
10kΩ ±20 %
Daya operasional
Line Track : 0,5 W
Servo track : 0,5 W
2.7. LCD (Liquid Crystal Display)
Liquid Crystal Dysplay (LCD) merupakan material yang mengalir seperti cairan,
tetapi memiliki struktur molekul dengan sifat-sifat yang bersesuaian dengan padatan
(solid). Ada 2 tipe utama LCD yang dikembangkan, yaitu field effect dan dynamic
scattering. Keunggulan LCD dibandingkan dengan LED adalah daya yang diperlukan
lebih rendah, tampilan yang lebih lengkap (angka, huruf grafis dan warna) dan kemudahan
dalam memprogram. Kerugian LCD dibandingkan dengan LED adalah waktu hidup
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
14
(lifetime) yang lebih singkat, waktu tanggap yang lebih lambat dan memerlukan sumber
cahaya baik internal atau eksternal [17].
LCD yang dipakai adalah LCD Topway LMB162AFC 2x16 karakter yang
kompatibel dengan Hitachi tipe HD44780U. LCD memerlukan tiga jalur kontrol dan
delapan jalur data (untuk mode 8 bit) atau empat jalur data (untuk mode 4 bit). Ketiga jalur
kontrol yang dimaksud adalah pin E, RS, dan R/W. Bentuk fisik LCD dapat dilihat pada
gambar 2.10, dan konfigurasi pin 1-16 pada LCD Topway dapat dilihat pada tabel 2.6 .
Gambar 2.10. Bentuk fisik modul LCD Topway [18]
Tabel 2.6. Konfigurasi pin LCD Topway [19]
No Pin
Nama Pin
Fungsi Pin
Keterangan
1
VSS
Sumber tegangan
Ground
2
VDD
Sumber tegangan
Sumber tegangan positif
3
V0
Sumber tegangan
4
RS
Sumber tegangan
5
R/W
Input
Read / Write control bus
7
E
Input
Data Enable, biasanya juga disebut “EN”
8
DB0
9
DB0
10
DB0
11
DB0
12
DB0
13
DB0
14
DB0
Sumber tegangan referensi untuk mengatur
kontras LCD
Register select
6
I/O
Bi-directional tri-state data bus
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
15
Tabel 2.6. (Lanjutan) Konfigurasi pin LCD Topway [19]
No Pin
Nama Pin
Fungsi Pin
Keterangan
15
BLA
Sumber tegangan
Sumber tegangan positif backlight
16
BLK
Sumber tegangan
Sumber tegangan negatif backlight
Pin Enable (E) digunakan untuk mengaktifkan LCD. Sebelum mengirim data ke
LCD pin E harus berlogika satu (high). Data yang dikirim terletak pada jalur data. Transisi
dari logika satu (high) ke logika nol (low) memberitahu LCD untuk mengambil data pada
jalur kontrol dan jalur data. Pin RS adalah pin register select. Saat pin RS berlogika nol
(low), data yang dikirim adalah perintah-perintah seperti membersihkan layar, posisi
kursor, dan lain-lain. Jika pin RS berlogika satu (high), maka data yang dikirim adalah teks
data dimana teks ini yang harus ditampilkan pada layar. Pin R/W adalah pin Read/Write.
Pada saat pin R/W berlogika nol (low), informasi pada jalur data berupa pengiriman data
ke LCD (write). Sedangkan saat pin R/W berlogika high, informasi pada jalur data berupa
pengambilan data dari LCD (read) [17].
2.8. Motor Stepper
Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah
pulsa elektronis menjadi gerakan mekanis diskrit [20]. Motor stepper bergerak berdasarkan
urutan pulsa yang diberikan kepada motor sehingga diperlukan pengendali motor stepper
yang membangkitkan pulsa-pulsa periodik. Ada tiga tipe motor stepper yaitu : Motor
stepper tipe variable reluctance (VR) yang ilustrasinya dapat dilihat pada gambar 2.11,
motor stepper tipe permanent magnet (PM) yang ilustrasinya dapat dilihat pada gambar
2.12, dan motor stepper tipe hybrid (HB) yang ilustrasinya dapat dilihat pada gambar 2.13.
Gambar 2.11. Ilustrasi Motor Stepper Tipe Variable Reluctance (VR) [20]
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
16
Gambar 2.12. Ilustrasi Motor Stepper Tipe Permanent Magnet (PM) [20]
Gambar 2.13. Ilustrasi Motor Stepper Tipe Hybrid (HB) [20]
Motor stepper memiliki prinsip kerja yang hampir sama dengan motor induksi
lainnya. Hal yang membedakan motor stepper dengan motor induksi biasa adalah motor
stepper memiliki beberapa lilitan pada rotor yang jumlahnya ditunjukkan oleh jumlah bit
motor stepper tersebut dan juga menunjukan besar derajat pada setiap langkah putaran
[21]. Pada motor stepper empat bit terdapat empat lilitan yang menentukan gerakan rotor.
Dengan menggunakan gambar 2.14, prinsip kerja dari motor stepper akan dijelaskan pada
paragraph berikutnya.
Gambar 2.14. Prinsip Kerja Motor Stepper [21]
Suatu lilitan induktor dengan arah tertentu dialiri arus listrik searah, akan timbul
medan magnet berkutub utara-selatan pada ujung-ujung inti besinya. Medan magnet pada
keempat lilitan stator motor stepper SA, SB, SC, dan SD, dapat diaktifkan masing-masing.
Pengaktifan medan magnet pada satu lilitan stator akan menarik ujung rotor R untuk
mensejajarkan dirinya dengan stator penarik. Dimisalkan gambar di atas menunjukkan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
17
kondisi awal suatu motor stepper yang salah satu ujung rotor R sedang sejajar dengan
lilitan stator SA. Jika dalam keadaan tersebut aktivitas pemberian arus dipindahkan ke
lilitan SB, maka ujung rotor R yang terdekat dengan SB akan segera mensejajarkan diri
dengan SB. Berarti, rotor akan berputar searah jarum jam sejauh 18o. Sebaliknya, jika dari
kondisi awal lilitan pada stator SD yang diaktifkan, maka rotor akan berputar berlawanan
dengan arah jarum jam sejauh 18o, hingga ujung rotor yang terdekat menjadi sejajar
dengan SD. Jadi, untuk memutar rotor sejauh 360o searah jarum jam, diperlukan 20 langkah
aktivasi (360o = 20 x 18o), yaitu SB, SC, SD, SA, SB, ... dst [21].
Pada tabel 2.7 diperlihatkan contoh cara pemberian pulsa jika diinginkan gerakan
motor stepper ( gambar 2.14) yang bergerak empat langkah searah jarum jam, kemudian
dilanjutkan motor berbalik arah berlawanan jarum jam sejuah empat langkah [21].
Tabel 2.7. Pemberian Pulsa Motor Stepper [21]
SA
SB
SC
SD
Gerakan
0
1
0
0
CW
0
0
1
0
CW
0
0
0
1
CW
1
0
0
0
CW
0
0
0
1
CCW
0
0
1
0
CCW
0
1
0
0
CCW
1
0
0
0
CCW
2.9. IC L298
IC L298 adalah jenis IC driver yang dapat digunakan untuk mengendalikan arah
putaran dan kecepatan motor DC ataupun motor stepper. IC L298 dapat memberikan
output tegangan untuk motor dc dan motor stepper sebesar 50 volt. IC l298 terdiri dari
transistor-transistor logik (TTL) dengan gerbang AND yang memudahkan dalam
menentukan arah putaran suatu motor DC dan motor stepper. Dapat mengendalikan 2
untuk motor DC namun pada hanya dapat mengendalikan satu motor stepper [22].
Bentuk fisik IC L298 dapat dilihat pada gambar 2.15. Konfigurasi pin IC L298 dapat
dilihat pada tabel 2.8.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
18
Gambar 2.15. IC L298N [23]
Tabel 2.8. Konfigurasi Pin IC L298 [24]
No Pin
Nama
1, 15
Sense A, Sense B
Keterangan
Kontrol besar arus dari beban dengan menggunakan
resistor yang dihubungkan ke ground
2,3
Out 1, Out 2
Output bridge A, arus yang mengalir ke beban di
kontrol oleh pin 1.
4
Vs
Input tegangan untuk motor. Diperlukan penambahan
capasitor 100nF yang dihubungkan ke ground.
5, 7
Input 1, Input 2
6,11
Enable A, Enable B
Input bridge A
Enable A digunakan untuk mengaktifkan bridge A
Enable B digunakan untuk mengaktifkan bridge B
8
GND
Ground.
9
Vss
Input tegangan untuk blok logika. Diperlukan
penambahan capasitor 100nF yang dihubungkan ke
ground.
10,12
Input 3, Input 4
13,14
Out 3, Out 4
Input bridge B
Output bridge B, arus yang mengalir ke beban di kontrol
oleh pin 15.
Dalam perancangan ini, IC L298 digunakan sebagai driver motor stepper yang di
kontrol oleh mikrokontroler Arduino Uno. Gambar rangkaian IC L298 dapat dilihat pada
gambar 2.16.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
C6
470uF
U1
VCC1
1EN
2EN
Pin D.5
Pin D.6
Pin D.7
5
7
10
12
1A1
1A2
2A1
2A2
VCC2
1E
2E
L298
100nF
4
1
15
MOTOR STEPPER
1
0.5
0.5
D1
D2
D3
D4
2
4
1Y 1
1Y 2
2Y 1
2Y 2
2
3
13
14
3
9
6
11
GND
C7
100nF
Pin D.4
+12V
C8
+5V
19
D6
D7
D8
8
D5
Gambar 2.16. Rangkaian IC L298 [24]
2.10. Buzzer
Buzzer merupakan alat yang dapat digunakan untuk merubah sinyal listrik menjadi
sinyal suara. Pada umumnya buzzer digunakan untuk alarm, karena penggunaannya cukup
mudah yaitu dengan memberikan tegangan input maka buzzer akan mengeluarkan bunyi.
Frekuensi suara yang di keluarkan oleh buzzer yaitu antara 1-5 KHz [25]. Simbol buzzer
dapat dilihat pada gambar 2.17 dan bentuk fisik buzzer dapat dilihat pada gambar 2.18.
LS1
1
BUZZER
2
Gambar 2.17. Simbol Buzzer
Gambar 2.18. Bentuk Fisik Buzzer [26]
2.11. Jenis Ulir Menurut Jumlah Ulir Tiap Gang (Pitch)
Dilihat dari banyaknya ulir tiap gang (pitch) maka ulir dapat dibedakan menjadi ulir
tunggal dan ulir ganda. Ulir ganda artinya dalam satu putaran (dari puncak ulir yang satu
ke puncak ulir yang lain) terdapat lebih dari satu ulir, misalnya dua ulir, tiga ulir dan empat
ulir. Untuk ulir ganda ini biasanya disebutkan berdasarkan jumlah ulirnya, misalnya ganda
dua, ganda tiga dan ganda empat. Gambar 2.19 menunjukkan bagan dari ulir tunggal dan
ulir ganda. Melihat bentuknya, maka satu putaran pada ulir ganda dapat memindahkan
jarak yang lebih panjang dari pada satu putaran ulir tunggal [27].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
20
Dalam perancangan ini, ulir yang digunakan menggunakan diameter enam (M6)
yang memiliki pitch sebesar 1mm sesuai tabel ulir ISO matrik dapat dilihat pada tabel 2.9.
Gambar 2.19. Ulir Tunggal dan Ulir Ganda [27]
Tabel 2.9 Ulir ISO Metik Normal [28]
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
21
BAB III
RANCANGAN PENELITIAN
Syringe pump otomatis berbasis mikrokontroler Arduino Uno terdiri dari tiga bagian
yaitu : unit input, unit pengolah dan unit output. Unit input tersusun atas tombol navigasi,
keypad pengatur laju cairan dengan menggunakan keypad matrik 4x3 dan sensor linear
scale. Unit pengolah tersusun atas mikrokontroler Arduino Uno. Unit output tersusun atas
driver motor stepper, motor stepper, buzzer dan LCD. Diagram blok sistem dapat dilihat
pada gambar 3.1.
Tombol Input
Navigasi
LCD 16x2
Mikrokontroler
Arduino Uno
Keypad
pengatur laju
cairan
Buzzer
Driver Motor
Stepper
Linier scale
INPUT
PENGOLAH
Motor
Stepper
OUTPUT
Gambar 3.1. Diagram Blok Sistem Secara Keseluruhan Syringe Pump
Tombol input terdiri dari 3 tombol navigasi dan keypad pengatur laju cairan
menggunakan keypad matrik. Tombol navigasi terdiri dari tombol start, stop, dan reset
yang dihubungkan dengan mikrokontroler Arduino Uno pin A.1 sampai pin A.3. Keypad
matrik sebagai pengatur laju cairan dihubungkan dengan mikrokontroler Arduino Uno pin
A.4. Sensor linear scale dihubungkan dengan mikrokontroler Arduino Uno pin A.0.
Output dari syringe pump otomatis berbasis mikrokontroler Arduino Uno yaitu LCD 16x2,
buzzer dan motor stepper. Driver motor stepper dihubungkan dengan mikrokontroler
Arduino Uno pin 3 sampai pin 7. LCD 16x2 dihubungkan dengan mikrokontroler Arduino
Uno pin 2, pin 3, dan pin 9 sampai pin 12. Buzzer dihubungkan dengan mikrokontroler
Arduino Uno pin 8.
3.1. Layout Perancangan
Syringe pump otomatis berbasis mikrokontroler Arduino Uno tersusun atas :
21
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
22
1. Tabung suntik produk TUREMO berukuran 60ml.
2. Linear scale sebagai sensor posisi dari tabung suntik
3. LCD
16x12
sebagai
display
dari
Syringe
Pump
Otomatis
Berbasis
Mikrokontroler Arduino Uno
4. Tiga buah tombol navigasi
5. Dua buah tombol untuk mengatur laju aliran
Bentuk Fisik dari Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno
dapat dilihat pada gambar 3.2. Sedangkan dimensi dari Syringe Pump Otomatis Berbasis
Mikrokontroler Arduino Uno dapat dilihat pada gambar 3.3 dengan skala yang digunakan
pada perancangan ini menggunakan skala satuan millimeter.
1
2
3
4
5
6
7
8
Gambar 3.2. Bentuk Fisik Syringe Pump Otomatis
Keterarangan :
1. Tabung Suntik
5. Dudukan tabung suntik
2. Linear Scale
6. LCD
3. Ulir pendorong tabung suntik
7. Keypad pengatur laju aliran
4. Motor Stepper
8. Tombol navigasi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
23
Gambar 3.3 Dimensi Syringe Pump Otomatis tampak atas
Gambar 3.4 Dimensi Syringe Pump Otomatis tampak samping
3.2.
Cara Kerja Syringe Pump Otomatis Berbasis Mikrokontroler
Arduino Uno
Cara kerja Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno dilakukan
dengan menekan tombol pengatur laju aliran sesuai dengan yang diinginkan dan nilai dari
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
24
laju aliran akan tertampil di LCD. Setelah nilai laju aliran selesai dimasukan, dilanjutkan
dengan menekan tombol navigasi “start” sehingga syringe pump otomatis akan berjalan.
Pada saat syringe pump otomatis berjalan, tombol pengatur laju aliran tidak dapat
dioperasikan sebelum tombol navigasi “stop” ditekan. Tombol navigasi “reset” hanya akan
berfungsi jika syringe pump otomatis tidak dalam kondisi berjalan. Tombol navigasi
“reset” digunakan untuk mengembalikan nilai laju aliran ke posisi nol.
Pada saat laju aliran diatur lebih besar dari 60ml/jam dan cairan dalam tabung
kosong, maka LCD akan menampilkan “Standby”. Standby menginstruksikan ke user
untuk mengganti atau mengisi cairan sampai penuh 60 ml. Setelah cairan diisikan ke
tabung suntik dengan penuh (60 ml), maka dengan menekan tombol navigasi “start” maka
proses akan dilanjutkan kembali.
3.3. Perancangan Perangkat Keras
3.3.1. Modul Mikrokontroler Arduino Uno
Pada perancangan ini, mikrokontroler Arduino Uno digunakan sebagai pengontrol
dari seluruh sistem syringe pump otomatis. Gambar rangkaian pemanfaatan pin
mikrokontroler dapat dilihat pada gambar 3.5 dan pengalamatan input output
mikrokontroler Arduino Uno dapat dilihat pada table 3.1.
1
1
2
3
4
1
2
3
4
5
6
LCD
5V
Vin
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Driver
Buzzer
Motor Stepper
A0
A1
A2
A3
A4
A5
Digital Input/output
1
2
3
Analog Input
1
Power
ARDUINO
RST
AREF
GND
Keypad pengatur
Laju aliran
Tombol
Navigasi Linear scale
3V3
J2
1
Gambar 3.5. Rangkaian Pemanfaatan Pin Mikrokontroler Arduino Uno
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
25
Tabel 3.1. Pengalamatan Input Output Mikrokontroler Arduino Uno
Nama I/O
Tipe
Pengalamatan di Arduino Uno
Linier Scale
Input
Pin A.0
Tombol Navigasi
Input
Pin A.1 – 3
Keypad Pengatur Laju Aliran
Input
Pin A.4
Driver Motor Stepper
Output
Pin D.4 – 7
Buzzer
Output
Pin D8
LCD
Output
Pin D.2 – 3 dan Pin D.9 - 12
3.3.2. Sensor Posisi dengan Linear Scale
Pada perancangan Syringe Pump otomatis berbasis mikrokontroler Arduino Uno,
linear scale digunakan sebagai feedback. Linear scale dikaitkan pada ujung pendorong
tabung suntik sehingga setiap perubahan posisi dari pendorong tabung suntik akan terbaca
oleh linear scale.
Linear scale memiliki output berupa data analog dan data analog dari linear scale
akan dibaca oleh mikrokontroler Arduino Uno pin A.0. Gambar rangkaian dapat dilihat
pada gambar 3.6.
+5V
Pin A.0
R1
1
Linear Scale
3
2
1k
Gambar 3.6. Rangkaian Linear Scale
Slide Pot-Motorized (10k linear Taper) pada posisi maksimal akan diasumsikan
sebagai posisi tabung suntik penuh terisi cairan (60ml). Posisi maksimal linear scale akan
memberikan resistansi maksimal yaitu sebesar 10kΩ dan tegangan output analog yang
dihasilkan dapat dihitung sesuai persamaan 2.2 yaitu:
Vout =
=
Ω
= 4,545
Ω
Ω
Volt
x5V
x Vin
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
26
Panjang tabung suntik adalah 91 mm, maka pada posisi minimal tabung suntik
(tidak ada cairan) maka nilai resistansi yang dihasilkan linear scale adalah sebesar :
Resistansi (kosong) =
=
x 10kΩ
x < Rmax >
= 0,9 kΩ
Tegangan output analog yang dihasilkan pada saat tabung suntik kosong adalah sebesar:
Vout (kosong) =
=
Ω
Ω
x Vin
5
Ω
= 2,368 Volt
Besar perubahan tegangan yang dihasilkan setiap 1 milliliter cairan adalah:
Vout =
=
,
,
= 0,0363 V / ml
Pitch ulir yang digunakan dalam perancangan ini adalah 1mm sehingga satu putaran
motor stepper akan mendorong tabung sejauh 1mm. Satu putaran motor stepper
memerlukan 20 langkah sehingga tiap langkah motor stepper akan mendorong tabung
suntik sejauh 0,05 mm.
Laju aliran yang dihailkan tiap langkah motor stepper dapat dihitung dengan cara:
Laju aliran tiap langkah
=
=
.
= 0,033
x 60 ml
x < Volume Tabung >
ml
Besar perubahan tegangan yang dihasilkan setiap 1 langkah motor stepper adalah:
Vout =
x 0,0363 V
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
=
,
27
x 0,0363 V
= 1,197 mV
3.3.3. Tombol Navigasi
Perancangan tombol menggunakan rangkaian aktif low. Tombol akan mengirimkan
sinyal ke mikrokontroler Arduino Uno ketika tombol tersebut ditekan. Saat ditekan, tombol
tersebut akan memberikan logika low ke mikrokontroler Arduino Uno. Rangkaian tombol
dapat dilihat pada gambar 2.4.
Gambar rangkaian tombol navigasi dan pengalamatan di pin mikrokontroler Arduino
Uno dapat dilihat pada gambar 3.7 dan tabel 3.2, sedangkan tombol pengatur laju aliran
dapat dilihat pada gambar 3.8 dan table 3.3. Pada rangkaian digunakan juga resistor
sebagai pembatas arus yang hanya mengijinkan arus yang masuk ke mikrokontroler
Arduino Uno maksimal yaitu 40 mA, sedangkan nilai resistor dapat dihitung sesuai dengan
persamaan 2.1 :
R=V/I
R = 5 / ( 40 x 10-3 )
R = 125 Ω
Pada rangkaian ini menggunakan resistor sebesar 10kΩ sehingga arus yang masuk
ke pin mikrokontroler Arduino Uno tidak terlalu besar yaitu sebesar 0.5 mA.
+5V
Pin A.1
R1
SW1
1
2
10k
Pin A.2
SW2
R2
1
2
10k
Pin A.3
SW3
R3
1
2
10k
Gambar 3.7. Rangkaian Tombol Navigasi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
28
Tabel 3.2. Tombol Navigasi
Nomor Tombol
Fungsi Tombol
Pengalamatan Tombol
SW 1
Sebagai tombol navigasi Start
Pin A.1
SW 2
Sebagai tombol navigasi Stop
Pin A.2
SW 3
Sebagai tombol navigasi Reset
Pin A.3
3.3.4. Keypad Pengatur Laju Cairan
Perancangan keypad pengatur laju cairan menggunakan keypad matrik 4x3 sehingga
memudahkan dalam pengaturan nilai laju aliran. Keypad matrik 4x3 hanya pemanfaatkan
satu pin mikrokontroler Arduino Uno yaitu pada pin A.4. Gambar rangkaian keypad matrik
4x3 dapat dilihat pada gambar 3.8 yang merupakan modifikasi dari rangkaian gambar 2.7
dan gambar 2.8. Nilai resistansi masing-masing tombol dapat dilihat pada tabel 3.3 dan
besar tegangan output dapat dihitung sesuai dengan persamaan 2.2.
+5V
R10
1k
R11
2k
SW1
SW2
SW3
SW4
SW5
SW6
R12
SW7
SW8
SW9
3k
R13
SW10
SW11
SW12
3k
R14
3k
R15
R16
3k
3k
R17
3k
Pin A.4
R18
10k
Gambar 3.8. Rangkaian Keypad Matrik 4x3
Tabel 3.3. Nilai Resistansi Tombol Keypad Matrik 4x3
Nomor Switch
Nomor Keypad
Nilai Resistansi Keypad
Vout
SW1
1
1kΩ
4,54 Volt
0kΩ
5 Volt
SW2
2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
29
Tabel 3.3. (Lanjutan) Nilai Resistansi Tombol Keypad Matrik 4x3
Nomor Switch
Nomor Keypad
Nilai Resistansi Keypad
Vout
SW3
3
2kΩ
4,17 Volt
SW4
4
4kΩ
3,57 Volt
SW5
5
3kΩ
3,85 Volt
SW6
6
5kΩ
3,33 Volt
SW7
7
7kΩ
2,94 Volt
SW8
8
6kΩ
3,12 Volt
SW9
9
8kΩ
2,78 Volt
SW11
0
9kΩ
2,63 Volt
SW12
,
11kΩ
2,38 Volt
3.3.5. Driver Motor Stepper
Driver motor stepper yang digunakan pada perancangan ini menggunakan IC L298.
Untuk gambar rangkaian dapat dilihat pada gambar 3.9 dan pengalamatan pin Arduino
Uno dapat dilihat di tabel 3.4.
C6
470uF
Pin D.4
U1
VCC1
1EN
2EN
Pin D.5
Pin D.6
Pin D.7
5
7
10
12
1A1
1A2
2A1
2A2
VCC2
1E
2E
L298
4
1
15
100nF
MOTOR STEPPER
1
0.5
0.5
D1
D2
D3
D4
2
4
1Y 1
1Y 2
2Y 1
2Y 2
2
3
13
14
3
9
6
11
GND
C7
100nF
+12V
C8
+5V
D6
D7
D8
8
D5
Gambar 3.9. Rangkaian Driver Motor Stepper [24]
Tabel 3.4. Pengalamatan Driver motor Stepper
Pin L298
Pengalamatan L298
1A1
Pin D.4
1A2
Pin D.5
2A1
Pin D.6
2A2
Pin D.7
Pada rangkaian driver motor stepper dipasang delapan buah dioda yang berfungsi
sebagai pengaman motor atau freeweeling diode bila terjadi lonjakan arus yang disebabkan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
30
oleh induksi lilitan motor. Dioda yang digunakan adalah 1N5401 yang memiliki arus
maksimal sebesar 3 Ampare dan tegangan maksimal 100 Volt [24].
3.3.6. Liquid Crystal Display (LCD)
LCD yang digunakan pada perancangan syringe pump otomatis berbasis
mikrokontroler Arduino Uno menggunakan LCD 16x2 (enam belas kolom, dua baris).
LCD digunakan untuk memberikan informasi ke pengguna mengenai cepat laju aliran dan
status (running atau stop) dari syringe pump otomatis berbasis mikrokontroler Arduino
Uno. Informasi yang akan ditampilkan dapat lihat pada tabel 3.5.
Tabel 3.5. Informasi yang tertampil dalam LCD
Kondisi
LCD Baris Pertama
LCD baris Kedua
Stop
0 ml
Running
Running
< nilai dari laju aliran >
Standby
Standby
< nilai dari laju aliran >
Stop
Rangkaian LCD dapat dilihat pada gambar 3.9, sedangkan pengalamatan LCD di pin
Arduino Uno dapat dilihat pada tabel 3.6.
2
Vin
5V
GND
Analog Input
3
A0
A1
A2
A3
A4
A5
1 (VSS)
2 (VCC)
3 (Vo)
4 (RS)
5 (R/W)
6 (E)
7 (DB0)
8 (DB1)
9 (DB2)
10 (DB3)
11 (DB4)
12 (DB5)
13 (DB6)
14 (DB7)
15 (LED+)
16 (LED-)
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Gambar 3.10. Rangkaian LCD
Tabel 3.6. Pengalamatan LCD
Pin LCD
Pengalamatan LCD
RS
Pin D.12
R/W
GND
E
Pin D.11
DB4
Pin D.10
LCD
10k
Power
Digital Input/output
1
RST
AREF
ARDUINO
3V3
J2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
31
Tabel 3.6. (Lanjutan) Pengalamatan LCD
Pin LCD
Pengalamatan LCD
DB4
Pin D.10
DB5
Pin D.9
DB6
Pin D.3
DB7
Pin D.2
3.3.7. Buzzer
Pada perancangan alat syringe pump otomatis berbasis Arduino Uno ini, dipasang
buzzer sebagai output yang digunakan untuk indikator bahwa proses telah selesai atau
tabung suntik dalam kedaan kosong. Buzzer dihubungkan pada pin D.8 mikrokontroler
Arduino Uno. Gambar rangkaian buzzer dapat dilihat pada gambar 3.10.
Pin D.8
LS1
1
BUZZER
2
Gambar 3.11. Rangkaian Buzzer
3.4. Perancangan Perangkat Lunak
3.4.1. Diagram Utama
Diagram utama sistem syringe pump otomatis berbasis mikrokontroler Arduino Uno
dapat dilihat pada gambar 3.11. Pada diagram utama terdapat proses inisialisasi yaitu
proses pendeklarasian pin-pin Arduino Uno. Pendeklarasian ini dilakukan untuk
menentukan pemanfaatan dari pin-pin tersebut. Deklarasi pin Arduino Uno dapat dilihat
pada table 3.7.
Tabel 3.7. Deklarasi pin Arduino Uno
Nomor Pin Arduino Uno
Tipe
Keterangan
A0
Input Analog
Input Linear Scale
A1
Input Digital
Input tombol Navigasi “Start”
A2
Input Digital
Input tombol Navigasi “Stop”
A3
Input Digital
Input tombol Navigasi “Reset”
A4
Input Digital
Input tombol Laju Aliran “Up”
A5
Input Digital
Input tombol Laju Aliran “Down”
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
32
Tabel 3.7. (Lanjutan) Deklarasi pin Arduino Uno
Nomor Pin Arduino Uno
Tipe
Keterangan
D2
Output Digital
Output ke LCD pin DB7
D3
Output Digital
Output ke LCD pin DB6
D4
Output Digital
Output ke driver motor Stepper 1A1
D5
Output Digital
Output ke driver motor Stepper 1A2
D6
Output Digital
Output ke driver motor Stepper 2A1
D7
Output Digital
Output ke driver motor Stepper 2A2
D8
Output Digital
Output ke Buzzer
D9
Output Digital
Output ke LCD pin DB5
D10
Output Digital
Output ke LCD pin DB4
D11
Output Digital
Output ke LCD pin E
D12
Output Digital
Output ke LCD pin RS
Inisialisasi pin pada mikrokontroler Arduino Uno dilakukan dengan cara:
pinMode(<pin>,<tipe>);
Contoh:
pinMode(1,INPUT) // menjadikan pin 1 sebagai input [29].
Pada gambar 3.11 dapat dilihat juga pengambilan data linear scale yang berfungsi
untuk memantau volume dari cairan yang berada pada tabung suntik. Pada saat volume
cairan nol atau kosong maka syringe pump akan memberikan peringatan ke pengguna.
Gambar 3.12. Diagram Utama
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
33
3.4.2. Diagram Alir Tombol Navigasi
Pada tombol navigasi, tombol akan memberikan instruksi pada mikrokontroler
Arduino Uno dan mikrokontroler akan memproses instruksi berdasar dengan fungsi
masing-masing tombol navigasi. Diagram alir untuk tombol navigasi dapat dilihat pada
gambar 3.12.
Gambar 3.13. Diagram Alir Input Navigasi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
34
3.4.3. Diagram Alir Keypad Pengatur Laju Aliran
Pada keypad pengatur laju aliran, tombol akan memberikan instruksi pada
mikrokontroler Arduino Uno dan mikrokontroler akan memproses instruksi berdasar
dengan fungsi masing-masing tombol pengatur laju aliran. Diagram alir untuk keypad
pengatur laju aliran, dapat dilihat pada gambar 3.13.
Gambar 3.14. Diagram Alir Keypad Pengatur Laju Aliran
3.4.4. Diagram Alir Input Linear Scale
Pada input linear scale, mikrokontroler Arduino Uno akan menerima tegangan
analog dari output linear scale kemudian akan dikoversi oleh ADC yang memiliki resolusi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
35
10-bit dan akan membaca perubahan tegangan menjadi angka antara 0 hingga 1023 [30].
Perintah analogRead () menghasilkan sebuah nilai antara 0 hingga 1023 yang sebanding
dengan jumlah tegangan yang diterapkan ke pin. Diagram alir untuk input linear scale,
dapat dilihat pada gambar 3.14.
Gambar 3.15. Diagram Alir Input Linear Scale
3.4.5. Diagram Alir Peringatan Buzzer
Pada diagram alir peringatan buzzer, mikrokontoler Arduino Uno akan mematikan
motor stepper dan dilanjutkan dengan menyalakan buzzer. Hal ini bertujuan untuk
memberikan informasi kepengguna bahwa syringe pump berhenti bekerja. Diagram alir
dapat dilihat pada gambar 3.15.
Gambar 3.16. Diagram Alir Peringatan Buzzer
3.4.6. Penentuan Laju Aliran dan Diagram Alir Gerakan Motor Stepper
Laju aliran dalam sistem syringe pump otomatis berbasis mikrokontroler Arduino
Uno akan menentukan cepat lambat motor stepper dalam berputar. Untuk mengatur
kecepatan motor stepper, diperlukan jeda (delay) dalam setiap langkah motor stepper.
Penentuan jeda dalam tiap langkah motor stepper dilakukan dengan perhitungan seperti
berikut:
Contoh 1: Laju aliran yang diinginkan adalah 0,1 ml/jam
Banyak langkah motor stepper yang diperlukan untuk mendapatkan laju aliran 0,1 ml/jam
adalah :
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
36
Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper)
= 0,1 ml/jam : 0,033 ml
= 3,03 langkah per jam ( 3 langkah motor stepper)
Jeda = 3600 detik / (langkah motor stepper yang diperlukan)
= 3600 detik / 3
= 1200 detik
Contoh 2 : Laju aliran yang diinginkan adalah 999 ml/jam
Banyak langkah motor stepper yang diperlukan untuk mendapatkan laju aliran 999 ml/jam
adalah :
Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper)
= 999 ml/jam : 0,033 ml
= 30272,73 langkah per jam ( 30273 langkah motor stepper)
Jeda = 3600 detik / (langkah motor stepper yang diperlukan)
= 3600 detik / 30273
= 0,119 detik ( 119 millisecond )
Dari perhitungan diatas, besar jeda sangat mempengaruhi laju aliran. Semakin besar
nilai laju aliran, jeda tiap langkah motor stepper akan menjadi semakin kecil. Diagram alir
driver motor stepper, dapat dilihat pada gambar 3.16.
Gambar 3.17. Diagram Alir Gerakan Motor Stepper
Pada diagram alir gerakan motor stepper (gambar 3.17), 1A1 sampai 1A4 merupakan
pin IC L298 yang digunakan sebagai driver motor stepper (sesuai tabel 3.4).
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
37
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil Implemetasi Alat
Implementasi alat syringe pump otomatis berbasis mikrokontroler Arduino Uno yang
dirancang pada BAB III mengalami kegagalan. Laju aliran yang dihasilkan tidak sesuai
dengan yang diharapkan, sehingga pada implemetasi pertama tidak berhasil dilakukan.
Pada perancangan tersebut, untuk dapat menghasilkan satu putaran penuh motor stepper
memerlukan 20 pulsa, sedangkan motor stepper yang diimplemetasikan membutuhkan 200
pulsa sehingga perhitungan laju aliran dilakukan perubahan sebagai berikut:
Pergeseran tiap langkah
=
=
= 0,005
Laju aliran tiap langkah
mm/pulsa
=
=
.
= 0,003296
x 60 ml
x < Volume Tabung >
ml
Penentuan jeda dalam tiap langkah motor stepper dapat dilakukan dengan perhitungan
seperti berikut:
Contoh 1: Laju aliran yang diinginkan adalah 0,1 ml/jam
Banyak langkah motor stepper yang diperlukan untuk mendapatkan laju aliran 0,1 ml/jam
adalah :
Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper)
= 0,1 ml/jam : 0,003296 ml
= 30,3398 langkah
Jeda = 3600000 / (langkah motor stepper yang diperlukan)
= 3600000 / 30,3398 langkah
= 118656 millisecond.
37
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
38
Contoh 2: Laju aliran yang diinginkan adalah 999 ml/jam
Banyak langkah motor stepper yang diperlukan untuk mendapatkan laju aliran 999 ml/jam
adalah :
Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper)
= 999 ml/jam : 0,003296 ml
= 303094,6602 langkah
Jeda = 3600000 / (langkah motor stepper yang diperlukan)
= 3600000 / 303094,6602 langkah
= 11,87 millisecond.
Pada percobaan kedua, setelah dilakukan perubahan perhitungan jeda, maka
diperoleh hasil laju aliran sesuai dengan yang diharapkan. Pengujian dilakukan dengan
memasukan ujung syringe kedalam gelas ukur berukuran 10 ml. Pada pengaturan laju
aliran diatas 10 ml/jam, digunakan gelas ukur berukuran 1000 ml sebagai tempat
penampungan hasil laju aliran apabila gelas ukur berukuran 10 ml sudah penuh. Data hasil
pengujian dari syringe pump otomatis berbasis mikrokontroler Arduino Uno dapat dilihat
pada tabel 4.1.
Tabel 4.1. Data Hasil Pengujian Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
1
0,1
18:56
19:56
0,1
0
0
2
0,2
18:29
19:29
0,2
0
0
3
0,3
18:16
19:16
0,3
0
0
4
0,4
23:12
00:12
0,4
0
0
5
0,5
9::49
10:49
0,5
0
0
6
0,7
9:21
10:21
0,7
0
0
7
1,1
18:32
19:32
1,1
0
0
8
2,1
17:54
18:54
2,1
0
0
9
5
21:23
22:23
5
0
0
10
5,5
20:51
21:51
5,5
0
0
11
6,2
22:25
23:25
6,2
0
0
12
10
14:52
15:52
10
0
0
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
39
Tabel 4.1. (lanjutan) Data Hasil Pengujian Syringe Pump Otomatis Berbasis
Mikrokontroler Arduino Uno
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
13
12,2
21:07
22:07
12,2
0
0
14
15
22:29
23:29
15
0
0
15
17,8
19:28
20:28
17,8
0
0
16
25,2
21:01
22:01
25,2
0
0
17
32,4
00:24
01:24
32,2
0
0
18
43,5
01:50
02:50
43,5
0
0
19
57,6
18:21
19:21
57,6
0
0
20
76,5
08:34
09:34
76,5
0
0
21
91,5
10:01
11:01
91,5
0
0
22
103,2
11:49
12:49
103,2
0
0
23
121,5
21:55
22:55
121,5
0
0
24
150
23:01
00:01
150
0
0
25
187,2
00.23
01:23
187,2
0
0
26
194,4
01:31
02:31
195,2
0,8
0,46
27
200
07:10
08:10
204.8
4,8
2,4
28
208,8
08:15
09:15
202,4
6,4
3,06
29
223,2
10:12
11:12
216
7.2
3,22
30
241,2
11:40
12:40
229,2
12
4,97
31
273,6
13:45
14:45
259,6
14
5,12
32
302,4
14:55
15:55
280,8
21,6
7,14
33
331,2
17:22
18:22
309,6
21,6
6,52
34
374,4
18:34
19:34
349,2
25,2
6,73
35
396
20:58
21:58
367,2
28.8
7,27
36
410,4
22:15
23:15
374,4
36
8,77
37
439,2
23:32
00:32
374,4
64,8
14,75
38
482,4
00:49
01:49
417,6
64,8
13,43
39
511,2
01:58
02:58
432
79,2
15,49
40
540
06:15
07:15
446
94
17,41
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
40
Tabel 4.1. (lanjutan) Data Hasil Pengujian Syringe Pump Otomatis Berbasis
Mikrokontroler Arduino Uno
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
41
590,4
07:34
08:34
460,8
129,6
21,95
42
626,4
08:55
09:55
518,4
108
17,24
43
667,4
17:10
18:10
553,8
113,6
17,02
44
695,8
18:39
19:39
556
139,8
20,09
45
724,2
20:33
21:33
582,2
142
19,61
46
766,8
21:46
22:46
596,4
170,4
22,22
47
795,2
22:50
23:50
596,4
198,8
25
48
823,6
00:05
01:05
610,6
213
25,86
49
866,2
01:21
02:21
624,8
241,4
27,87
50
894,6
17:30
18:30
653,2
241,4
26,98
51
923
18:55
19:55
667,4
255,6
27,69
52
965,6
20:14
21:14
681,6
284
29,41
53
999
21:31
22:31
702
297
29,73
Laju aliran yang dihasilkan oleh alat syringe pump otomatis berbasis mikrokontroler
Arduino Uno sesuai dengan yang dimasukkan oleh pengguna untuk pengaturan laju aliran
dibawah 200 ml/jam. Penyimpangan laju aliran mulai terjadi pada laju aliran diatas
200ml/jam.
Pengujian alat syringe pump otomatis berbasis mikrokontroler Arduino Uno juga
dilakukan dengan pengamatan besar laju aliran dalam waktu tertentu. Hasil pengujian
besar laju aliran dalam waktu tertentu dapat dilihat pada tabel 4.2 untuk laju aliran 20
ml/jam, tabel 4.3 untuk laju aliran 50 ml/jam, tabel 4.4 untuk laju aliran 120 ml/jam, tabel
4.5 untuk laju aliran 500 ml/jam, tabel 4.6 untuk laju aliran 999 ml/jam.
Tabel 4.2. Data Hasil Pengujian Laju Aliran 20 ml/jam dalam Waktu Tertentu
Waktu (Menit)
Volume Cairan (ml)
Laju Aliran (ml/jam)
Error (%)
3
1
20
0
6
2
20
0
10
3,3
19,8
1
20
6,6
19,8
1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
41
Tabel 4.3. Data Hasil Pengujian Laju Aliran 50 ml/jam dalam Waktu Tertentu
Waktu (Menit)
Volume Cairan (ml)
Laju Aliran (ml/jam)
Error (%)
3
2,5
50
0
6
5
50
0
10
8,3
49,8
0,4
20
16,6
49,8
0,4
Tabel 4.4. Data Hasil Pengujian Laju Aliran 120 ml/jam dalam Waktu Tertentu
Waktu (Menit)
Volume Cairan (ml)
Laju Aliran (ml/jam)
Error (%)
3
6
120
0
6
12
120
0
10
20
120
0
20
40
120
0
Tabel 4.5. Data Hasil Pengujian Laju Aliran 500 ml/jam dalam Waktu Tertentu
Waktu (Menit)
Volume Cairan (ml)
Laju Aliran (ml/jam)
Error (%)
3
24,6
492
1,6
6
49,2
492
1,6
10
81,8
490,8
1,84
20
163,8
491,4
1,72
Tabel 4.6. Data Hasil Pengujian Laju Aliran 999 ml/jam dalam Waktu Tertentu
Waktu (Menit)
Volume Cairan (ml)
Laju Aliran (ml/jam)
Error (%)
3
48,4
968
3,10
6
97,2
972
2,70
10
162
972
2,70
20
325,2
975,6
2,34
4.2. Perancangan Ulang untuk Koreksi Error
4.2.1 Koreksi Error Menggunakan Perangkat Keras
Koreksi error menggunakan perangkat keras dilakukan dengan linear scale yang
terdapat pada alat syringe pump otomatis berbasis mikrokontroler Arduino Uno. Linear
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
42
scale pada alat ini selain digunakan untuk koreksi error, juga digunakan untuk mendeteksi
volume cairan yang ada dalam tabung suntik. Data hasil pengujian dari linear scale untuk
mendeteksi volume cairan dalam tabung suntik dapat dilihat pada tabel 4.7.
Tabel 4.7. Data Hasil Pengujian Linear Scale
Kondisi Volume Cairan (ml) Nilai Resistansi (Ohm)
Tegangan Masukan (Volt)
Penuh
60
10000
4,52
Kosong
0
100
0,46
Pada tabel 4.7. dapat dilihat bahwa saat tabung suntik berisi cairan penuh maka
tegangan masukan pin mikrokontroler Arduino Uno adalah 4,52 volt dan sesuai dengan
perancangan. Pada saat tabung suntik kosong, tegangan masukan pada pin mikrokontroler
Arduino Uno adalah 0,46 volt sedangkan pada perancangan, tegangan yang dihasilkan
adalah 2,368 Volt. Nilai resistansi pada saat cairan kosong adalah 100 ohm sedangkan
pada perancangan adalah sebesar 900 ohm. Besar error resistansi yang dihasilkan pada
saat cairan kosong adalah sebesar 800 ohm dan besar error dari tegangan yang dihasilkan
pada saat kosong adalah 1,908 volt.
Pengujian linear scale dalam pembacaan setiap satu putaran motor stepper yang akan
digunakan untuk koreksi error dapat dilihat pada tabel 4.8. Pengujian dilakukan dengan
memberi 200 pulsa ke motor stepper secara berurutan dan mengamati perubahan nilai ADC
dari linear scale.
Tabel 4.8. Data Pembacaan Linear Scale setiap Satu Putaran Motor Stepper
Putaran ke :
Nilai ADC Linear Scale
Nilai Perubahan ADC Linear Scale
1
935
-
2
932
3
3
933
-1
4
932
1
5
931
1
6
929
2
7
929
0
8
928
1
9
927
1
10
926
1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
43
Tabel 4.8. (lanjutan)Data Pembacaan Linear Scale setiap Satu Putaran Motor Stepper
Putaran ke :
Nilai ADC Linear Scale
Nilai Perubahan ADC Linear Scale
11
925
1
12
924
1
13
923
1
14
921
2
15
922
-1
16
919
3
17
918
1
18
916
2
19
915
1
20
914
1
21
912
2
22
911
1
23
909
2
24
908
1
25
906
2
26
905
1
27
903
2
28
901
2
29
900
1
30
898
2
31
896
2
32
894
2
33
892
2
34
890
2
35
888
2
36
886
2
37
884
2
38
881
3
39
879
2
40
877
2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
44
Tabel 4.8. (lanjutan)Data Pembacaan Linear Scale setiap Satu Putaran Motor Stepper
Putaran ke :
Nilai ADC Linear Scale
Nilai Perubahan ADC Linear Scale
41
876
1
42
871
5
43
869
2
44
866
3
45
863
3
46
860
3
47
857
3
48
854
3
49
851
3
50
848
3
51
844
4
52
839
5
53
836
3
54
833
3
55
828
5
56
824
4
57
819
5
58
814
5
59
810
4
60
805
5
61
799
6
62
791
8
63
788
3
64
779
9
65
774
5
66
768
6
67
759
9
68
751
8
69
742
9
70
735
7
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
45
Tabel 4.8. (lanjutan)Data Pembacaan Linear Scale setiap Satu Putaran Motor Stepper
Putaran ke :
Nilai ADC Linear Scale
Nilai Perubahan ADC Linear Scale
71
722
13
72
712
10
73
700
12
74
687
13
75
673
14
76
660
13
77
643
17
78
626
17
79
606
20
80
582
24
81
564
18
82
537
27
83
509
28
84
480
29
85
439
41
86
398
41
87
354
44
88
297
57
89
239
58
90
148
91
91
36
112
92
14
22
93
14
0
94
15
-1
95
14
1
Pada tabel 4.8 dapat dilihat perubahan nilai ADC linear scale yang tidak konstan
sehingga tidak dimungkinkan koreksi error menggunakan linear Scale.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
46
4.2.2 Koreksi Error Menggunakan Perangkat Lunak
Mengacu pada tabel 4.1, error terjadi pada saat laju cairan diatur diatas 200 ml/jam.
Koreksi error dilakukan dengan mengambil nilai error rata-rata setiap kenaikan laju cairan
100 ml/jam. Error rata-rata akan digunakan untuk mengurangi nilai laju aliran tiap langkah
motor stepper. Perhitungan error rata-rata untuk laju aliran 200,01 ml/jam sampai 300
ml/jam yang mengacu pada tabel 4.1 adalah sebagai berikut :
Error rata-rata =
,
% ,
% ,
% ,
%
x 100%
Error rata-rata = 3,59 %
Laju aliran tiap langkah motor stepper = 0,003296 ml – (3,59% x 0,003296 ml)
Laju aliran tiap langkah motor stepper = 0,003296 ml – 0,0001183 ml
Laju aliran tiap langkah motor stepper = 0,003177 ml
Nilai error rata-rata dan laju aliran tiap langkah motor stepper untuk range laju
aliran yang lain yang mengacu pada tabel 4.1 dapat dilihat pada tabel 4.9.
Tabel 4.9. Nilai Error Rata-rata dan Laju Aliran Tiap Langkah Motor Stepper
Range laju aliran
Error Rata-rata
Laju Aliran Tiap Langkah Motor Stepper
(ml/jam)
(%)
(ml)
200,1 – 300
3,59
0,003177
300,1 – 400
6,915
0,003068
400,1 – 500
12,316
0,002890
500,1 – 600
18,283
0,002693
600,01 – 700
18,386
0,002690
700,1 – 800
22,276
0,002562
800,1 – 900
26,903
0,002409
900,1 – 999
28,943
0,002342
Data hasil pengujian alat syringe pump otomatis berbasis mikrokontroler Arduino
Uno setelah dilakukan koreksi error pertama dapat dilihat pada tabel 4.10.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
47
Tabel 4.10. Data Hasil Pengujian setelah Koreksi Error Pertama
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
1
0,1
06:05
07:05
0,1
0
0
2
0,2
07:10
08:10
0,2
0
0
3
0,3
08:18
09:18
0,3
0
0
4
0,4
09:25
10:25
0,4
0
0
5
0,5
10:31
11:31
0,5
0
0
6
0,7
11:40
12:41
0,7
0
0
7
1,1
15:04
16:04
1,1
0
0
8
2,1
16:15
17:15
2,1
0
0
9
5
17:20
18:20
5
0
0
10
5,5
18:26
19:26
5,5
0
0
11
6,2
19:32
20:32
6,2
0
0
12
10
20:40
21:40
10
0
0
13
12,2
21:48
22:48
12,2
0
0
14
15
22:52
23:52
15
0
0
15
17,8
23:58
00:58
17,8
0
0
16
25,2
01:05
02:05
25,2
0
0
17
32,4
02:15
03:15
32,2
0
0
18
43,5
07:15
08:15
43,5
0
0
19
57,6
08:23
09:23
57,6
0
0
20
76,5
17:18
18:18
76,5
0
0
21
91,5
18:25
19:25
91,5
0
0
22
103,2
19:35
20:35
103,2
0
0
23
121,5
20:42
21:42
121,5
0
0
24
150
21:46
22:46
150
0
0
25
187,2
22:51
23:51
187,2
0
0
26
194,4
00:00
01:00
195,2
0,6
0,31
27
200
01:06
02:06
202,8
2,8
1,4
28
208,8
02:30
03:30
210,2
1,4
0,67
29
223,2
06:40
07:40
219,4
3,8
0,17
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
48
Tabel 4.10. (lanjutan) Data Hasil Pengujian setelah Koreksi Error Pertama
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
30
241,2
07:45
08:45
234
7,2
2,98
31
273,6
08:50
09:50
266,4
7,2
2,63
32
302,4
18:30
19:30
291,6
10,8
3,57
33
331,2
19:35
20:35
324
7,2
2,17
34
374,4
20:42
21:42
367,2
7,2
1,92
35
396
21:49
22:49
381,6
14,4
3,64
36
410,4
22:56
23:56
384
21.4
6.63
37
439,2
00:03
01:03
417,6
21,6
4,91
38
482,4
01:10
02:10
444
38,4
7,96
39
511,2
02:20
03:20
489,6
21,6
4,22
40
540
09:05
10:05
507,6
32,4
6
41
590,4
10:15
11:15
532,8
57,6
9,76
42
626,4
11:22
12:22
544,4
72
11,4
43
667,4
12:28
13:28
583,2
84,2
12,61
44
695,8
13:33
14:33
604,8
91
13,08
45
724,2
14:50
15:50
648
76,2
10,52
46
766,8
15:56
16:56
672,8
94
12,26
47
795,2
17:05
18:05
696,4
98,8
12,42
48
823,6
18:12
19:12
720,4
103,2
12,53
49
866,2
19:18
20:18
744,6
121,6
14,04
50
894,6
20:24
21:24
780,8
113,8
12,72
51
923
21:30
21:30
820,8
102,2
11,72
52
965,6
21:45
22:45
878,4
87,2
9,03
53
999
22:54
23:54
892,8
106,2
10,63
Pada tabel 4.10 dapat dilihat nilai error yang terjadi pada nilai laju aliran diatas 400
ml/jam masih besar, untuk meminimalisir nilai error pada laju aliran diatas 400 ml/jam
dilakukan koreksi error dengan mengambil nilai error rata-rata setiap kenaikan 100
ml/jam. Nilai error rata-rata akan digunakan untuk mengurangi nilai laju aliran tiap
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
49
langkah motor stepper. Perhitungan error rata-rata untuk laju aliran 400,01 ml/jam sampai
500 ml/jam yang mengacu pada tabel 4.5 adalah sebagai berikut :
Error rata-rata =
,
% ,
% ,
%
x 100%
Error rata-rata = 6,5 %
Laju aliran tiap langkah motor stepper = 0,002890 ml – (6,5% x 0,002890 ml)
Laju aliran tiap langkah motor stepper = 0,002890 ml – 0,0001878 ml
Laju aliran tiap langkah motor stepper = 0,002702 ml
Nilai error rata-rata dan laju aliran tiap langkah motor stepper untuk range laju
aliran yang lain yang mengacu pada tabel 4.5 dapat dilihat pada tabel 4.11.
Tabel 4.11. Nilai Error Rata-rata dan Laju Aliran Tiap Langkah Motor Stepper
Range laju aliran
Error Rata-rata
Laju Aliran Tiap Langkah Motor Stepper
(ml/jam)
(%)
(ml)
400,1 – 500
6,5
0,002702
500,1 – 600
6,66
0,002514
600,1 – 700
12,363
0,002357
700,1 – 800
11,733
0,002261
800,1 – 900
13,097
0,002093
900,1 – 999
10,46
0,002097
Data hasil pengujian alat syringe pump otomatis berbasis mikrokontroler Arduino
Uno setelah dilakukan koreksi error kedua dapat dilihat pada tabel 4.12.
Tabel 4.12. Data Hasil Pengujian setelah Koreksi Error Kedua
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
1
0,1
14:02
15:02
0,1
0
0
2
0,2
15:08
16:08
0,2
0
0
3
0,3
16:15
17:15
0,3
0
0
4
0,4
17:18
18:18
0,4
0
0
5
0,5
18:23
19:23
0,5
0
0
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
50
Tabel 4.12. (lanjutan) Data Hasil Pengujian setelah Koreksi Error Kedua
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
6
0,7
19:30
20:30
0,7
0
0
7
1,1
20:35
21:35
1,1
0
0
8
2,1
21:42
22:42
2,1
0
0
9
5
22:49
23,49
5
0
0
10
5,5
23:56
00:56
5,5
0
0
11
6,2
01:01
02:01
6,2
0
0
12
10
02:07
03:07
10
0
0
13
12,2
07:15
08:15
12,2
0
0
14
15
08:22
09:22
15
0
0
15
17,8
09:31
10:31
17,8
0
0
16
25,2
10:38
11:38
25,2
0
0
17
32,4
13:02
14:02
32,2
0
0
18
43,5
14:10
15:10
43,5
0
0
19
57,6
15:14
16:14
57,6
0
0
20
76,5
16:20
17:20
76,5
0
0
21
91,5
17:27
18:27
91,5
0
0
22
103,2
18:35
19:35
103,2
0
0
23
121,5
19:42
20:42
121,5
0
0
24
150
20:50
21:50
150
0
0
25
187,2
21:59
22:59
187,2
0
0
26
194,4
23:06
00:06
195,4
1
0,51
27
200
00:14
01:14
203,5
3,5
1,75
28
208,8
01:21
02:21
212,4
3,6
1,72
29
223,2
02:30
03:30
223,2
0
0
30
241,2
17:30
18:30
237,6
3,6
1,49
31
273,6
18:34
19:34
276
2,4
0,88
32
302,4
19:39
20:39
300
2,4
0,8
33
331,2
20:45
21:45
324
7,2
2,17
34
374,4
21:53
22:53
367,2
7,2
1,92
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
51
Tabel 4.12. (lanjutan) Data Hasil Pengujian setelah Koreksi Error Kedua
No
Set Point
(ml/jam)
Start time
End Time
Laju Aliran yang
Error
Error
dihasilkan (ml/jam)
(ml)
(%)
35
396
23:00
00:00
381,6
14,4
3,64
36
410,4
00:08
01:08
417,6
7,2
1,75
37
439,2
01:15
02:15
432
7,2
1,64
38
482,4
02:23
03:23
468
14,4
2,98
39
511,2
07:10
07:10
518,4
7,2
1,41
40
540
07:14
08:14
525,6
14,4
2,67
41
590,4
08:18
09:18
561,6
28,2
4,88
42
626,4
16:30
17:30
619,2
7,2
1,15
43
667,4
17:34
18:34
648
19,4
2,91
44
695,8
18:40
19:40
676,8
19
2,73
45
724,2
19:46
20:46
691,2
33
4,56
46
766,8
20:50
21:50
734,4
32,4
4,23
47
795,2
21:54
22:54
763,2
32
4,02
48
823,6
23:05
00:05
792
31,6
3,84
49
866,2
00:12
01:12
849,6
16,6
1,92
50
894,6
01:18
02:18
864
30,6
3,42
51
923
02:22
03:22
878,4
44,6
4,83
52
965,6
07:30
08:30
921,6
44
4,56
53
999
08:38
08:38
950,4
48,6
4,86
Pada tabel 4.12 dapat dilihat koreksi error sudah dibawah batas toleransi kesalahan
5% [31]. Nilai error rata-rata alat syringe pump otomatis berbasis mikrokontroler Arduino
Uno adalah :
Error rata-rata =
Error rata-rata =
<
<
73,24%
53
Error rata-rata = 1,38 %
ℎ
ℎ
>
>
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
52
4.3. Hasil Perancangan Perangkat Keras
Perangkat keras pada alat syringe pump otomatis berbasis mikrokontroler Arduino
Uno terdiri atas bebrapa bagian yaitu : rangkaian elektronika (blok kontrol) dan konstruksi
alat. Blok kontrol terdiri atas beberapa rangkaian elektronika yang berfungsi sebagai
pengontrol laju aliran dan penampil informasi ke pengguna. Blok kontrol dapat dilihat
pada gambar 4.1, sedangkan fungsi dari setiap rangkaian dapat dilihat pada tabel 4.13.
1
4
2
5
6
3
Gambar 4.1. Blok Kontrol pada Alat Syringe Pump Otomatis Berbasis Mikrokontroler
Arduino Uno
Tabel 4.13. Bagian dari Blok Kontrol dan Fungsi dari Rangkaian
No
Nama Rangkaian
Fungsi
1
Driver Motor Stepper
Untuk mengatur cepat lambat putaran motor stepper
2
Tombol navigasi
Untuk menghapus, mereset dan menjalankan
syringe pump.
3
Pembagi tegangan untuk
Untuk mengatur tegangan yang masuk ke pin
linear
analog arduino.
Rangkaian pembagi tegangan
Untuk mengatur tegangan masing-masing tombol
untuk keypad matrik
keypad
5
Mikrokontroler Arduino Uno
Sebagai pengontrol input dan output.
6
Rangkaian LCD
Untuk mengatur informasi yang akan ditampilkan
4
ke pengguna.
Konstruksi dari alat syringe pump otomatis berbasis mikrokontroler Arduino Uno
sesuai dengan perancangan. Hasil konstruksi dapat dilihat pada gambar 4.2 dan dan fungsi
dari setiap bagian dapat dilihat pada tabel 4.14.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
53
1
2
3
4
5
6
7
8
9
Gambar 4.2. Konstruksi Alat Syringe Pump Otomatis Berbasis Mikrokontroler Arduino
Uno
Tabel 4.14. Bagian dan Fungsi dari Alat
No
Nama Bagian
Fungsi
1
Tabung suntik
Untuk memasukan cairan kedalam tubuh.
2
Linear scale
Untuk mendeteksi posisi pendorong tabung suntik
3
Motor Stepper
Untuk menggerakan ulir pendorong tabung suntik
4
Ulir pendorong tabung suntik
Untuk mendorong tabung suntik
5
Keypad pengatur laju aliran
Untuk memberikan input nilai laju cairan
6
Slider pendorong tabung
Untuk menstabilkan gerakan pendorong tabung
suntik
suntik
7
Dudukan tabung suntik
Untuk memasang dan menahan tabung suntik
8
LCD
Untuk memberikan informasi ke pengguna
9
Tombol navigasi
Untuk menghapus, mereset dan menjalankan
syringe pump.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
54
4.4. Hasil Pengujian
4.4.1. Pengujian Tombol Navigasi
Pengujian tombol pada tombol navigasi alat syringe pump otomatis berbasis
mikrokontroler Arduino Uno ini bertujuan untuk mengetahui besar tegangan yang masuk
ke pin mikrokontroler Arduino Uno saat tombol ditekan dan pada saat tombol tidak
ditekan. Data hasil pengujian dari tombol navigasi dapat dilihat pada tabel 4.15.
Tabel 4.15. Data Hasil Pengujian Tombol Navigasi
Nama
Tombol
Tegangan Masukan (Volt)
Pin Mikrokontroler
Tombol
Tombol Tidak
Ditekan
Ditekan
Start
Pin A.1
0
4,93
Stop
Pin A.2
0
4,93
Reset
Pin A.3
0
4,93
Pada tabel 4.15. dapat dilihat bahwa saat tombol ditekan maka tegangan masukan pin
mikrokontroler Arduino Uno adalah 0 volt atau logika ”low” dan saat tombol tidak ditekan
tegangan masukan pada pin mikrokontroler Arduino Uno adalah 4,93 volt atau logika
“high”. Sesuai dengan hasil pengujian yang ditabelkan pada tabel 4.15, dapat disimpulkan
bahwa tombol navigasi dapat bekerja sesuai dengan perancangan.
4.4.2. Pengujian Keypad Pengatur Laju Aliran
Pengujian keypad pengatur laju Aliran pada alat syringe pump otomatis berbasis
mikrokontroler Arduino Uno ini bertujuan untuk mengetahui besar tegangan yang masuk
ke mikrokontroler Arduino Uno pin A.4 saat tombol ditekan dan pada saat tombol tidak
ditekan. Data hasil pengujian dari tombol navigasi dapat dilihat pada tabel 4.16.
Tabel 4.16. Data Hasil Pengujian Keypad Pengatur Laju Cairan.
Tegangan Masukan (Volt)
Tombol Keypad
Nilai ADC
Tombol
Tombol Tidak
Ditekan
Ditekan
1
4,53
0
931
2
4,98
0
1023
saat ditekan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
55
Tabel 4.16. (Lanjutan) Data Hasil Pengujian Keypad Pengatur Laju Cairan.
Tegangan Masukan (Volt)
Tombol Keypad
Nilai ADC
Tombol
Tombol Tidak
Ditekan
Ditekan
3
4,15
0
854
4
3,55
0
730
5
3,83
0
788
6
3,31
0
683
7
2,92
0
604
8
3,11
0
639
9
2,76
0
571
0
2,60
0
538
,
2,35
0
486
Del
2,44
0
509
saat ditekan
Pada tabel 4.16. dapat dilihat bahwa saat keypad pengatur laju cairan tidak ada yang
ditekan, tegangan masukan pada pin mikrokontroler Arduino Uno adalah 0 volt dan ADC
menghasilkan nilai “0”. Saat salah satu tombol keypad ditekan, maka nilai ADC akan
berubah sesuai dengan besarnya tegangan masing-masing tombol keypad. Terdapat
penambahan tombol yaitu “del” yang berfungsi untuk menghapus nilai laju cairan yang
dimasukkan guna memudahkan pengguna syringe pump otomatis berbasis mikrokontroler
Arduino Uno. Sesuai dengan hasil pengujian yang ditabelkan pada tabel 4.16, dapat
disimpulkan bahwa keypad pengatur laju cairan dapat bekerja sesuai dengan perancangan.
4.4.3. Pengujian Driver Motor Stepper
Pengujian driver motor stepper pada alat syringe pump otomatis berbasis
mikrokontroler Arduino Uno ini bertujuan untuk mengetahui output pin mikrokontroler
Arduino Uno dan gerakan yang dihasilkan oleh motor stepper. Data hasil pengujian dari
driver motor stepper dapat dilihat pada tabel 4.17.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
56
Tabel 4.17. Data Hasil Pengujian Driver Motor Stepper
Tegangan Pin
Tegangan Pin Input
Tegangan Pin Output
Mikrokontroler (volt)
IC L298 (volt)
IC L298 (volt)
Gerakan
D.4
D.5
D.6
D.7
1A1
1A2 1A3 1A4 1Y1
1Y2
2Y1
2Y2
4,99
4,99
4,99
4,99
4,99
4,99
4,99
4,99
11,8
11,8
11,8
11,8
Diam
0
4,99
4,99
4,99
0
4,99
4,99
4,99
0
11,8
11,8
11,8
CCW
4,99
0
4,99
4,99
4,99
0
4,99
4,99
11,8
0
11,8
11,8
CCW
4,99
4,99
0
4,99
4,99
4,99
0
4,99
11,8
11,8
0
11,8
CCW
4,99
4,99
4,99
0
4,99
4,99
4,99
0
11,8
11,8
11,8
0
CCW
0
4,99
4,99
4,99
0
4,99
4,99
4,99
0
11,8
11,8
11,8
CCW
4,99
0
4,99
4,99
4,99
0
4,99
4,99
11,8
0
11,8
11,8
CCW
4,99
4,99
0
4,99
4,99
4,99
0
4,99
11,8
11,8
0
11,8
CCW
4,99
4,99
4,99
0
4,99
4,99
4,99
0
11,8
11,8
11,8
0
CCW
Pada tabel 4.17. dapat dilihat bahwa saat pin D4 mikrokontroler Arduino Uno
memberi output 0 volt atau logika ”low” maka IC L298 pin 1Y1 akan memberi output 0
volt sehingga motor stepper akan berputar kekiri satu langkah. Saat pin D5 mikrokontroler
Arduino Uno memberi output 0 volt atau logika ”low” maka IC L298 pin 1Y2 akan
memberi output 0 volt sehingga motor stepper akan berputar lagi kekiri satu langkah.
Dengan menggeser logika low pada kaki D4 sampai D7 secara berurutan dan bergantian,
maka akan menyebabkan motor berputar kekiri dengan banyaknya langkah sesuai dengan
jumlah pergeseran logika low. Sesuai dengan hasil pengujian yang ditabelkan pada tabel
4.17, dapat disimpulkan bahwa driver motor stepper dapat bekerja sesuai dengan
perancangan.
4.4.4. Pengujian Buzzer
Pengujian buzzer pada alat syringe pump otomatis berbasis mikrokontroler Arduino
Uno ini bertujuan untuk mengetahui besar tegangan output pin mikrokontroler Arduino
Uno dan hasil suara yang dihasilkan buzzer. Data hasil pengujian buzzer dapat dilihat pada
tabel 4.18, tabel 4.19 dan tabel 4.20.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
57
Tabel 4.18. Data Hasil Pengujian Buzzer dengan Laju aliran 1,2 ml/jam
Waktu
Laju aliran yang dihasilkan (ml)
ADC linear Scale
Kondisi Buzzer
12.34
0
312
Off
13.04
0,6
239
Off
13.34
1,2
112
On
Tabel 4.19. Data Hasil Pengujian Buzzer dengan Laju aliran 4,8 ml/jam
Waktu
Laju aliran yang dihasilkan (ml)
ADC linear Scale
Kondisi Buzzer
14.45
0
503
Off
15.15
2,4
334
Off
15.45
4,8
112
On
Tabel 4.20. Data Hasil Pengujian Buzzer dengan Laju aliran 10,2 ml/jam
Waktu
Laju aliran yang dihasilkan (ml)
ADC linear Scale
Kondisi Buzzer
16.00
0
667
Off
16.30
5,1
528
Off
17.00
10,2
112
On
Pada tabel 4.18, tabel 4.19 dan tabel 4.20 dapat dilihat buzzer berbunyi pada saat
ADC linear scale bernilai 112 (kondisi cairan kosong) dan pada saat ADC linear scale
lebih dari 112 maka buzzer tidak akan berbunyi. Sesuai dengan hasil pengujian yang
ditabelkan pada tabel 4.18, tabel 4.19 dan tabel 4.20 dapat disimpulkan bahwa buzzer dapat
bekerja sesuai dengan perancangan.
Pada pengujian buzzer, terjadi ketidaknyamanan ketika melepas dan memasang
tabung suntik. Diperlukan perancangan ulang dudukan tabung suntik sehingga dapat
memudahkan dalam melepas dan memasang tabung suntik.
4.5. Analisa Perangkat Lunak
4.5.1. Implementasi Diagram Utama
Program utama yang diimplementasikan pada alat syringe pump otomatis berbasis
mikrokontroler Arduino Uno mengalami penambahan pada blok inisialisasi yaitu
menambahan inisialisasi LCD. Penambahan inisialisasi LCD dapat dilihat pada gambar 4.3
yang diberi tanda kotak merah.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
58
Gambar 4.3. Inisalisasi Program
Inisialisasi pin input output pada alat syringe pump otomatis berbasis mikrokontroler
Arduino Uno dapat dilihat pada gambar 4.3 yang merupakan implementasi pada
perancangan bab III.
Implementasi dari diagram utama yang dirancang pada bab III dapat berjalan sesuai
dengan yang diharapkan. Implementasi diagram utama dapat dilihat pada gambar 4.4.
Gambar 4.4. Program Utama
4.5.2. Implementasi Diagram Alir Tombol Navigasi
Diagram alir tombol navigasi yang diimplementasikan pada alat syringe pump
otomatis berbasis mikrokontroler Arduino Uno mengalami pengurangan pada koreksi
error. Hasil perubahan diagram alir tombol navigasi dapat dilihat pada gambar 4.5.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
59
Gambar 4.5. Diagram Alir Tombol Navigasi
Dengan mengimplementasiakan diagram alir tombol navigasi yang dirancang pada
bab III dengan menghilangkan koreksi error, maka sistem pada alat syringe pump otomatis
berbasis mikrokontroler Arduino Uno dapat berjalan sesuai dengan yang diharapkan.
Implementasi diagram alir tombol navigasi dapat dilihat pada gambar 4.6.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
60
Gambar 4.6. Implementasi Program Tombol Navigasi
Hasil dari penekanan tombol
navigasi “start” setelah dilakukan coding sesuai
dengan diagram alir tombol navigasi dapat dilihat pada gambar 4.7, hasil dari penekanan
tombol
navigasi “stop” dilihat pada gambar 4.8, dan Hasil dari penekanan tombol
navigasi “reset” dilihat pada gambar 4.9.
Gambar 4.7. Hasil Penekanan Tombol Navigasi “start”
Gambar 4.8. Hasil Penekanan Tombol Navigasi “stop”
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
61
Gambar 4.9. Hasil Penekanan Tombol Navigasi “reset”
4.5.3. Implementasi Diagram Alir Keypad Pengatur Laju Aliran
Diagram alir keypad pengatur laju aliran yang diimplementasikan pada alat syringe
pump otomatis berbasis mikrokontroler Arduino Uno mengalami perubahan dalam
pembacaan tombol keypad. Perubahan diagram alir keypad pengatur laju cairan dapat
dilihat pada gambar 4.10 dan implementasi diagram alir keypad pengatur laju cairan dapat
dilihat pada gambar 4.11.
Mulai
Baca data ADC
ADC=char(1) ?
ADC=char(2) ?
Tidak
ADC=char(3) ?
Ya
Apa koma
ditekan ?
Tidak
Ya
Ya
Perkalian
Perkalian
Laju=laju+0.4
Laju=laju+0.3
Laju=laju+1
Laju=laju+2
Kirim data ke
LCD
Tidak
Ya
Perkalian
Laju=laju+0.2
Kirim data ke
LCD
Apa koma
ditekan ?
Tidak
Ya
Perkalian
Laju=laju+0.1
Ya
Apa koma
ditekan ?
Tidak
A
Tidak
Ya
Ya
Apa koma
ditekan ?
ADC=char(4) ?
Tidak
Tidak
Laju=laju+3
Kirim data ke
LCD
Laju=laju+4
Kirim data ke
LCD
C
A
ADC=char(5) ?
ADC=char(6) ?
Tidak
Ya
Apa koma
ditekan ?
Apa koma
ditekan ?
Tidak
Perkalian
Laju=laju+0.5
Apa koma
ditekan ?
Tidak
Perkalian
Laju=laju+0.6
Kirim data ke
LCD
Ya
Apa koma
ditekan ?
Tidak
Perkalian
Perkalian
Kirim data ke
LCD
Tidak
Ya
Ya
Laju=laju+0.8
Laju=laju+0.7
Laju=laju+6
B
Tidak
Ya
Ya
Laju=laju+5
ADC=char(8) ?
Tidak
Ya
Ya
Kirim data ke
LCD
ADC=char(7) ?
Tidak
Laju=laju+7
D
Gambar 4.10. Diagram Alir Keypad Pengatur Laju Cairan
Kirim data ke
LCD
Laju=laju+8
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
B
ADC=char(9) ?
ADC=char(0) ?
Tidak
ADC=char(,) ?
Tidak
Tidak
Ya
Ya
Ya
Apa koma
ditekan ?
Apa koma
ditekan ?
Tidak
Ya
Perkalian
Laju=laju+0.9
Kirim data ke
LCD
ADC=char(del)
?
62
Tidak
Ya
Laju= 0
Tidak
Ya
Perkalian
Laju=laju+0
Laju=laju+9
Kirim data ke
LCD
Kirim data ke
LCD
Laju=laju+0
C
D
Selesai
Gambar 4.10. Diagram Alir Keypad Pengatur Laju Cairan
Gambar 4.11. Implementasi Diagram Alir Keypad Pengatur Laju Cairan
Pada gambar 4.10 dapat dilihat setiap tombol pada keypad memiliki dua fungsi.
Fungsi yang pertama untuk memasukan bilangan bulat, dan fungsi yang kedua untuk
bilangan pecahan. Perpindahan fungsi pertma ke fungsi kedua ditandai dengan penekanan
tanda “koma”.
Jumlah tombol keypad pengatur laju cairan yang digunakan pada perancangan bab III
adalah sebanyak 11 tombol, namun pada implementasinya digunakan 12 tombol.
Penambahan satu tombol yaitu “del” digunakan untuk menghapus nilai laju cairan yang
telah dimasukan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
63
Gambar 4.11 merupakan implementasi diagram alir keypad pengatur laju cairan.
Pada gambar 4.11 dapat dilihat ada penambahan subrutine “perkalian”. Diagram alir
perkalian dapat dilihat pada gambar 4.12 dan implementasi diagram alir perkalian dapat
dilihat pada gambar 4.13.
Mulai
Penekanan
“pertama” ?
Tidak
Penekanan
“kedua” ?
Ya
Ya
Tidak
Penekanan
“ketiga” ?
Tidak
Ya
Penekanan=”kedua”
Penekanan=”ketiga”
Penekanan=”pertama”
Laju=( laju x 1 )
Laju=( laju x 10 )
Laju=( laju x 10 )
Selesai
Gambar 4.12. Diagram Alir Perkalian
Gambar 4.13. Implementasi Diagram Alir Perkalian
Hasil dari penekanan tombol keypad pengatur laju aliran setelah dilakukan coding
sesuai dengan diagram alir keypad pengatur laju aliran dan diagram alir perkalian, dapat
dilihat pada gambar 4.14.
Gambar 4.14. Hasil Penekanan Tombol Keypad Pengatur Laju Aliran
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
64
4.5.4. Implementasi Diagram Alir Input Linear Scale
Diagram alir input linear scale yang diimplementasikan pada alat syringe pump
otomatis berbasis mikrokontroler Arduino Uno tidak mengalami perubahan dan dapat
berjalan sesuai dengan yang diharapkan. Output linear scale akan dimasukan ke arduino
pin A0. Implementasi diagram alir input linear scale dapat dilihat pada gambar 4.15.
Gambar 4.15. Implementasi Diagram Alir Input Linear Scale
4.5.5. Implementasi Diagram Alir Peringatan Buzzer
Diagram alir peringatan buzzer yang diimplementasikan pada alat syringe pump
otomatis berbasis mikrokontroler Arduino Uno tidak mengalami perubahan dan dapat
berjalan sesuai dengan yang diharapkan. Implementasi diagram alir peringatan buzzer
dapat dilihat pada gambar 4.16.
Gambar 4.16. Implementasi Diagram Alir Peringatan Buzzer
Hasil dari coding sesuai dengan diagram alir peringatan buzzer yaitu buzzer akan
berbunyi pada saat syringe kosong dan tampilan LCD dapat dilihat pada gambar 4.17.
Gambar 4.17. Hasil Coding Peringatan Buzzer
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
65
4.5.6. Implementasi Diagram Alir Gerakan Motor Stepper
Diagram alir gerakan motor stepper yang diimplementasikan pada alat syringe pump
otomatis berbasis mikrokontroler Arduino Uno mengalami perubahan. Hal ini dikarenakan
pin arduino yang digunakan sebagai output tidak dapat dibaca sebagai input. Perubahan
juga dilakukan dikarenakan adanya koreksi error. Perubahan diagram alir gerakan motor
stepper dapat dilihat pada gambar 4.18 dan implementasi diagram alir gerakan motor
stepper step 1 dan step 2 dilihat pada gambar 4.19.
Gambar 4.18. Diagram Alir Gerakan Motor Stepper
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
66
Gambar 4.19. Implementasi Diagram Alir Gerakan Motor Stepper Step 1 dan Step 2
Pada gambar 4.18 dapat dilihat bahwa pergeseran pulsa dilakukan dengan
memanfaatkan register “step”. Pemberian pulsa ke motor stepper tergantung nilai dari
register “step”. Dengan melakukan perubahan diagram alir seperti gambar 4.18, maka
diagram alir dapat diimplementasikan dan dapat berjalan sesuai dengan yang diharapkan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil implementasi dan pengamatan pada syringe pump otomatis berbasis
mikrokontroler Arduino Uno dapat ditarik kesimpulan :
1. Syringe pump otomatis berbasis mikrokontroler Arduino Uno dapat bekerja dengan
baik dan rentang pengaturan laju cairan 0,1 – 999 ml/jam dengan ketelitian 0,1 ml.
2. Syringe pump otomatis berbasis mikrokontroler Arduino Uno memiliki error
dibawah 5%.
5.2 Saran
Berdasarkan hasil implementasi pada bab III, untuk pengembangan lebih lanjut ada
beberapa saran agar alat syinge pump otomatis berbasis mikrokontroler Arduino Uno dapat
bekerja lebih baik, yaitu :
1. Perancangan ulang dudukan tabung suntik agar memudahkan dalam melepas dan
memasang tabung suntik.
2. Penggunaan linear scale yang baik sehingga perubahan jarak secara linear akan
mengakibatkan perubahan resistansi sehingga dapat digunakan sebagai deteksi
error.
67
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
68
DAFTAR PUSTAKA
[1]
Ivan-Atjeh Anestesi, 2012, Penaganan Nyeri Pasca Bedah, http://ivanatjeh.blogspot.com/2012/01/penaganan-nyeri-paska-bedah.html, diakses 6 Agustus
2012.
[2]
-----, -----, Kateter, http://www.news-medical.net/health/Catheter-What-is-Catheter(Indonesian).aspx, diakses 21 Februari 2012
[3]
Seroja Seruni, -----, Obat Golongan analgetik opioid,
http://serojaseruni.blogspot.com/2011/06/obat-golongan-analgetik-opioid.html, diakses
21 Februari 2013
[4]
------, ------, Syringe Pump TE-331 Terumo,
http://pusatinfoelektronik.com/alatkesehatan/syringe-pump-infusion-pump/syringepump-te-331-terumo/, diakses 8 Agustus 2012.
[5]
Akhsanur, 2010, Syringe Pump, http://dadang-saksono.blogspot.com/2010/07/syringepump.html, diakses 8 agustus 2012.
[6]
------, ------, Syringe Pump & Infusion Pump,
http://pusatinfoelektronik.com/alatkesehatan/syringe-pump-infusion-pump/ diakses 23
agustus 2012.
[7]
------, ------, Arduino Uno, http://arduino.cc/en/Main/ArduinoBoardUno, diakses 23
agustus 2012.
[8]
------, 2009, Datasheet ATmega48PA/88PA/168PA/328P, Atmel.
[9]
------, ------, Arduino, Interrupt, dan Timers,
http://www.funnyrobotics.com/2011/06/arduino-interrupts-and-timers.html, diakses 23
November 2012
[10] -----, -----, Switches, The Elektronics Club,
http://www.kpsec.freeuk.com/components/switch.htm, diakses 29 September 2012
[11] Ibrahim, Dogan, 2006, PIC Basic Project, Charon Tec Ltd, Chennai, India
68
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
69
[12] Micro-vision, 2011, Scaning Keypad Pada ATMega8535 dengan CAVR, http://greenelektronik.blogspot.com/2011/07/scaning-keypad-pada-atmega8535dengan.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blog
spot/duKaf+(MicroVision), diakses 25 Februari 2013
[13] -----, 2010, Interfacing The PICAXE To A 4×3 Matrix Keypad Revisited Interfacing
The PICAXE To A 4×3 Matrix Keypad Revisited, http://blog.southallonline.com/tag/4x3-matrix/, diakses 25 Februari 2013
[14] Don McKenzie ,2012, DuinoMite: 4×3 Keypad on 1 analog pin,
http://www.duinomite.com/duinomite-4x3-keypad-on-1-analog-pin/, diakses 25
Februari 2013
[15] -----, -----, Pembagi Tegangan ( Voltage Divider), http://elektronika-dasar.com/teorielektronika/pembagi-tegangan-voltage-divider/, diakses 4 Maret 2013
[16] ------, ------, Slide Pot - Motorized (10k Linear Taper),
https://www.sparkfun.com/products/10976, diakses 2 Desember 2012
[17] Agung, I. G. A. P. R., dan Suryawan, K. A., 2007, Perancangan dan
RealisasiPenghitung Frekuensi Detak Jantung Berbasis Mikrokontroler AT89S52,
Majalah Ilmiah Teknologi Elektro Universitas Udayana, vol. 6, no. 2, hal. 13-19.
[18] ------, 2007, Datasheet LCD LMB162AFC, Shenzhen Topway Technology Co.,Ltd.
[19] GrahaTunasMuda, 2011, Character LCD 16x2 Blue Topway,
http://grahatm.blogspot.com/2011/01/character-lcd-16x2-blue-topway.html, diakses 24
September 2012.
[20] Al-Himaone, -----, Dasar Motor Stepper,
http://www.ilmu.8k.com/pengetahuan/stepper.htm, diakses 26 September 2012
[21] ------, ------, Prinsip Kerja Motor Stepper,
http://lpfilkom.freeservers.com/referens/stepper.htm , diakses 26 september 2012
[22] ------, ------, L298 Motor Driver, http://kedairobot.com/components/35-l298-motordriver.html , diakses 26 September 2012
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
70
[23] ------, 2010, L298 Motor Driver, http://www.cangkal.info/2010/03/l298-motordriver.html, diakses 27 September 2012
[24] STMicroelectronics, 2000, L298,
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERA
TURE/DATASHEET/CD00000240.pdf, diakses 28 September 2012
[25] Malvino, Albert Paul, 1995, Prinsip-prinsip Elektonika, Edisi Kedua, Erlangga, Jakarta
[26] -----, -----, 5V Electronic Buzzer, http://www.hobbytronics.co.uk/5v-buzzer, diakses 28
Januari 2013
[27] -----, -----, Pengukuran Ulir,
http://staff.uny.ac.id/sites/default/files/Pengukuran%20Ulir.pdf, diakses 20 Februari
2013
[28] Polman, -----, Tabel Ulir ISO Metrik Normal,
http://xa.yimg.com/kq/groups/22022397/1041787428/name/New ,diakses 22 Februari
2013
[29] Artanto, Dian, 2012, Interaksi Arduino dan LabView, Elex Media Komputindo, Jakarta
[30] Winoto, Ardi, 2010, Mikrokontroler AVR ATmega8/32/16/8535 dan pemprogramannya
dengan Bahasa C pada AVR, Edisi Revisi, INFORMATIKA, Bandung
[31] Ogata, Katsuhiko, 1991, Teknik Kontrol Automatik, Jilid 1, Erlangga, Jakarta
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1
L1-1
LAMPIRAN LISTING PROGRAM UTAMA
//----------------------------------------------------------------------------------------------------------// SYRINGE PUMP OTOMATIS BERBASIS MIKROKONTROLER ARDUINO UNO
//----------------------------------------------------------------------------------------------------------#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 3, 2);
int sensor;
int indikator;
float langkah;
float jeda;
int lokasi;
int satuan;
float laju;
int tekan=0;
float pengali;
int koma;
int step1;
int putaran;
void setup() {
standby:;
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,INPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
lcd.setCursor(0, 1);
lcd.print("0 ml/jam
}
void loop() {
mulai:;
keypad();
navigasi();
Linear();
if (sensor <=112)
{Peringatan();}
else
{
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
lcd.setCursor(0, 0);
lcd.print("READY ");
}
}
void Linear() {
");
L1
L1-2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
sensor=analogRead(A0);
}
void Peringatan() {
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
lcd.setCursor(0, 0);
lcd.print("KOSONG ");
}
void Motor(){
Linear();
if (laju!=0 && sensor >112){
if (laju<=200){
langkah=laju/0.003296;}
else if(laju<=300){
langkah=laju/0.003177;}
else if(laju<=400){
langkah=laju/0.003068;}
else if(laju<=500){
langkah=laju/0.002702;}
else if(laju<=600){
langkah=laju/0.002514;}
else if(laju<=700){
langkah=laju/0.002357;}
else if(laju<=800){
L1
L1-3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
langkah=laju/0.002261;}
else if(laju<=900){
langkah=laju/0.002093;}
else if(laju<=999) {
langkah=laju/0.002097;}
jeda=3600000/langkah;
delay(jeda);
Serial.println(jeda);
if (step1==0){
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
digitalWrite (6, HIGH);
digitalWrite (7, HIGH);
step1=step1++;
putaran=putaran++;
}
else if (step1==1){
digitalWrite (5, LOW);
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);
digitalWrite (7, HIGH);
step1=step1++;
putaran=putaran++;
}
else if (step1==2){
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
digitalWrite (4, HIGH);
digitalWrite (7, HIGH);
L1
L1-4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
step1=step1++;
putaran=putaran++;
}
else if (step1==3){
digitalWrite (7, LOW);
digitalWrite (5, HIGH);
digitalWrite (6, HIGH);
digitalWrite (4, HIGH);
step1=0;
putaran=putaran++;
}
}
}
void navigasi() {
int start=analogRead(1);
int stopp=analogRead(2);
int reset=analogRead(3);
if (stopp==LOW ){
delay(100);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
lcd.setCursor(0, 0);
lcd.print("STOP");
indikator=1;
}
L1L1-5
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
if (reset==LOW && indikator==1){
delay(100);
indikator=0;
laju=0;
tekan=0;
koma=0;
lcd.setCursor(0, 1);
lcd.print("0 ml/jam
");
}
if (start==LOW ){
delay(100);
indikator=0;
jalan();
}
}
void jalan(){
jalanterus:;
if (laju!=0){
if (sensor<=30){
Peringatan();
}
else {
int berhenti=analogRead(A2);
if (berhenti>=112){
lcd.setCursor(0, 0);
lcd.print("RUNNING");
Motor();
goto jalanterus;
L1L1-6
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
}
}
}
}
void tunggu(){
ulang:;
int nilai=analogRead(4);
if (nilai < 484){
delay(100);
}
else
{
goto ulang;
}
}
void perkalian(){
if (tekan==0){
tekan=tekan++;
pengali=1;
laju=laju*pengali;
}
else if (tekan==1){
tekan=tekan++;
pengali=10;
laju=laju*pengali;
}
else if (tekan==2){
L1L1-7
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
tekan=tekan++;
pengali=10;
laju=laju*pengali;
}
}
void keypad() {
int nilai=analogRead(4);
if (nilai >=1021){
if (koma==1){
laju=laju+0.2;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+2;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
L1-8
L1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
}
}
else if(nilai>=929){
if (koma==1){
laju=laju+0.1;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+1;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=852){
if (koma==1){
laju=laju+0.3;
lokasi=tekan+3;
L1L1-9
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+3;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=786){
if (koma==1){
laju=laju+0.5;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
L1L1-10
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
tunggu();
}
else {
perkalian();
laju=laju+5;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=730){
if (koma==1){
laju=laju+0.4;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+4;
lokasi=tekan+3;
L1
L1-11
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=681){
if (koma==1){
laju=laju+0.6;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+6;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
L1
L1-12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
}
else if(nilai>=639){
if (koma==1){
laju=laju+0.8;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+8;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=602){
if (koma==1){
laju=laju+0.7;
lokasi=tekan+3;
lcd.setCursor(0,1);
L1
L1-13
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+7;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=568){
if (koma==1){
laju=laju+0.9;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
L1
L1-14
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
}
else {
perkalian();
laju=laju+9;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=536){
if (koma==1){
laju=laju+0.0;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+0;
lokasi=tekan+3;
lcd.setCursor(0,1);
L1
L1-15
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=507){
laju=0;
tekan=0;
koma=0;
lcd.setCursor(0, 1);
lcd.print("0 ml/jam
");
tunggu();
}
else if(nilai>=484){
koma=1;
lcd.setCursor(tekan, 1);
lcd.print(".");
lokasi=tekan+3;
lcd.setCursor(lokasi, 1);
lcd.print(" ml/jam");
lokasi=lokasi++;
tunggu();
}
}
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 3, 2);
int sensor;
int indikator;
L1
L1-16
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
float langkah;
float jeda;
int lokasi;
int satuan;
float laju;
int tekan=0;
float pengali;
int koma;
int step1;
int putaran;
void setup() {
standby:;
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,INPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
lcd.setCursor(0, 1);
lcd.print("0 ml/jam
}
");
L1
L1-17
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
void loop() {
mulai:;
keypad();
navigasi();
Linear();
if (sensor <=112)
{Peringatan();}
else
{
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
lcd.setCursor(0, 0);
lcd.print("READY ");
}
}
void Linear() {
sensor=analogRead(A0);
}
void Peringatan() {
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
L1
L1-18
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
lcd.setCursor(0, 0);
lcd.print("KOSONG ");
}
void Motor(){
Linear();
if (laju!=0 && sensor >112){
if (laju<=200){
langkah=laju/0.003296;}
else if(laju<=300){
langkah=laju/0.003177;}
else if(laju<=400){
langkah=laju/0.003068;}
else if(laju<=500){
langkah=laju/0.002702;}
else if(laju<=600){
langkah=laju/0.002514;}
else if(laju<=700){
langkah=laju/0.002357;}
else if(laju<=800){
langkah=laju/0.002261;}
else if(laju<=900){
langkah=laju/0.002093;}
else if(laju<=999){
langkah=laju/0.002097;}
jeda=3600000/langkah;
delay(jeda);
Serial.println(jeda);
if (step1==0){
L1
L1-19
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
digitalWrite (6, HIGH);
digitalWrite (7, HIGH);
step1=step1++;
putaran=putaran++;
}
else if (step1==1){
digitalWrite (5, LOW);
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);
digitalWrite (7, HIGH);
step1=step1++;
putaran=putaran++;
}
else if (step1==2){
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
digitalWrite (4, HIGH);
digitalWrite (7, HIGH);
step1=step1++;
putaran=putaran++;
}
else if (step1==3){
digitalWrite (7, LOW);
digitalWrite (5, HIGH);
digitalWrite (6, HIGH);
digitalWrite (4, HIGH);
step1=0;
L1
L1-20
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
putaran=putaran++;
}
}
}
void navigasi() {
int start=analogRead(1);
int stopp=analogRead(2);
int reset=analogRead(3);
if (stopp==LOW ){
delay(100);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
lcd.setCursor(0, 0);
lcd.print("STOP");
indikator=1;
}
if (reset==LOW && indikator==1){
delay(100);
indikator=0;
laju=0;
tekan=0;
koma=0;
lcd.setCursor(0, 1);
lcd.print("0 ml/jam
}
");
L1
L1-21
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
if (start==LOW ){
delay(100);
indikator=0;
jalan();
}
}
void jalan(){
jalanterus:;
if (laju!=0){
if (sensor<=30){
Peringatan();
}
else {
int berhenti=analogRead(A2);
if (berhenti>=112){
lcd.setCursor(0, 0);
lcd.print("RUNNING");
Motor();
goto jalanterus;
}
}
}
}
void tunggu(){
ulang:;
int nilai=analogRead(4);
if (nilai < 484){
L1
L1-22
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
delay(100);
}
else
{
goto ulang;
}
}
void perkalian(){
if (tekan==0){
tekan=tekan++;
pengali=1;
laju=laju*pengali;
}
else if (tekan==1){
tekan=tekan++;
pengali=10;
laju=laju*pengali;
}
else if (tekan==2){
tekan=tekan++;
pengali=10;
laju=laju*pengali;
}
}
void keypad() {
int nilai=analogRead(4);
if (nilai >=1021){
L1
L1-23
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
if (koma==1){
laju=laju+0.2;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+2;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=929){
if (koma==1){
laju=laju+0.1;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
L1
L1-24
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+1;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=852){
if (koma==1){
laju=laju+0.3;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
L1
L1-25
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
perkalian();
laju=laju+3;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=786){
if (koma==1){
laju=laju+0.5;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+5;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
L1
L1-26
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=730){
if (koma==1){
laju=laju+0.4;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+4;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=681){
if (koma==1){
L1
L1-27
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
laju=laju+0.6;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+6;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=639){
if (koma==1){
laju=laju+0.8;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
L1
L1-28
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+8;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=602){
if (koma==1){
laju=laju+0.7;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
L1
L1-29
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
laju=laju+7;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=568){
if (koma==1){
laju=laju+0.9;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+9;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
L1
L1-30
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
tunggu();
}
}
else if(nilai>=536){
if (koma==1){
laju=laju+0.0;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tekan=0;
koma=0;
tunggu();
}
else {
perkalian();
laju=laju+0;
lokasi=tekan+3;
lcd.setCursor(0,1);
lcd.print(laju);
lcd.setCursor(lokasi,1);
lcd.print(" ml/jam");
tunggu();
}
}
else if(nilai>=507){
laju=0;
tekan=0;
L1
L1-31
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
koma=0;
lcd.setCursor(0, 1);
lcd.print("0 ml/jam
tunggu();
}
else if(nilai>=484){
koma=1;
lcd.setCursor(tekan, 1);
lcd.print(".");
lokasi=tekan+3;
lcd.setCursor(lokasi, 1);
lcd.print(" ml/jam");
lokasi=lokasi++;
tunggu();
}
}
");
L1
L1-32
R1
10k
+5V
SW3
ONI U D R A
3
SW2
V5
R2
10k
+5V
A0
A1
A2
A3
A4
A5
t u p tu o /t u p nI l at i gi D
tu p n I g ol a n A
1
R4
1k
1
1
2
2
5
SW11
4
SW10
2
del
R5
2k
0
1
,
9
SW15
6
SW12
3
SW9
SW6
BUZZER
LS1
+5V
2
C7
100nF
5
7
10
12
9
6
11
R11
3k
R11
3k
R11
3k
+5V
1A1
1A2
2A1
2A2
VCC1
1EN
2EN
U1
R11
3k
R11
3k
1Y1
1Y2
2Y1
2Y2
1E
2E
VCC2
470uF
C8
L298
8
SW14
8
2
SW8
SW5
3
1
SW7
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
2
D NG
SW13
7
D NG
+5V
SW4
Power
ni V
SW1
R3
10k
+5V
1
Linear Scale
RST
AREF
J2
3 V3
2
1k
1
10k
LCD
)- DEL( 61
) + DEL( 51
) 7 B D( 41
) 6 B D( 31
) 5 B D( 21
) 4 B D( 11
) 3 B D( 01
) 2 B D( 9
) 1 B D( 8
) 0 B D( 7
) E( 6
) W
/ R( 5
) S R( 4
) o V( 3
) C CV( 2
) SSV( 1
+5V
+5V
R11
3k
2
3
13
14
1
15
4
+12V
R12
10k
D3
D4
D5
D6
D7
D8
4
2
D2
0.5
D1
MOTOR STEPPER
1
0.5
100nF
C6
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN RANGKAIAN KESELURUHAN
3
L1
L2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1
L3-1
LAMPIRAN TABEL PENGAMBILAN DATA
Tabel Pengambilan Data Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno
No
Set Point
(ml/jam/jam)
Start time
End Time
Laju Aliran yang
Error
dihasilkan (ml/jam) (ml/jam)
Error
(%)
1
0,1
14:02
15:02
0,1
0
0
2
0,2
15:08
16:08
0,2
0
0
3
0,3
16:15
17:15
0,3
0
0
4
0,4
17:18
18:18
0,4
0
0
5
0,5
18:23
19:23
0,5
0
0
6
0,7
19:30
20:30
0,7
0
0
7
1,1
20:35
21:35
1,1
0
0
8
2,1
21:42
22:42
2,1
0
0
9
5
22:49
23,49
5
0
0
10
5,5
23:56
00:56
5,5
0
0
11
6,2
01:01
02:01
6,2
0
0
12
10
02:07
03:07
10
0
0
13
12,2
07:15
08:15
12,2
0
0
14
15
08:22
09:22
15
0
0
15
17,8
09:31
10:31
17,8
0
0
16
25,2
10:38
11:38
25,2
0
0
17
32,4
13:02
14:02
32,2
0
0
18
43,5
14:10
15:10
43,5
0
0
19
57,6
15:14
16:14
57,6
0
0
20
76,5
16:20
17:20
76,5
0
0
21
91,5
17:27
18:27
91,5
0
0
22
103,2
18:35
19:35
103,2
0
0
23
121,5
19:42
20:42
121,5
0
0
24
150
20:50
21:50
150
0
0
25
187,2
21:59
22:59
187,2
0
0
26
194,4
23:06
00:06
195,4
1
0,51
27
200
00:14
01:14
203,5
3,5
1,75
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1
L3-2
Tabel (lanjutan) Pengambilan Data Syringe Pump Otomatis Berbasis Mikrokontroler
Arduino Uno
No
Set Point
(ml/jam/jam)
Start time
End Time
Laju Aliran yang
Error
dihasilkan (ml/jam) (ml/jam)
Error
(%)
28
208,8
01:21
02:21
212,4
3,6
1,72
29
223,2
02:30
03:30
223,2
0
0
30
241,2
17:30
18:30
237,6
3,6
1,49
31
273,6
18:34
19:34
276
2,4
0,88
32
302,4
19:39
20:39
300
2,4
0,8
33
331,2
20:45
21:45
324
7,2
2,17
34
374,4
21:53
22:53
367,2
7,2
1,92
35
396
23:00
00:00
381,6
14,4
3,64
36
410,4
00:08
01:08
417,6
7,2
1,75
37
439,2
01:15
02:15
432
7,2
1,64
38
482,4
02:23
03:23
468
14,4
2,98
39
511,2
07:10
07:10
518,4
7,2
1,41
40
540
07:14
08:14
525,6
14,4
2,67
41
590,4
08:18
09:18
561,6
28,2
4,88
42
626,4
16:30
17:30
619,2
7,2
1,15
43
667,4
17:34
18:34
648
19,4
2,91
44
695,8
18:40
19:40
676,8
19
2,73
45
724,2
19:46
20:46
691,2
33
4,56
46
766,8
20:50
21:50
734,4
32,4
4,23
47
795,2
21:54
22:54
763,2
32
4,02
48
823,6
23:05
00:05
792
31,6
3,84
49
866,2
00:12
01:12
849,6
16,6
1,92
50
894,6
01:18
02:18
864
30,6
3,42
51
923
02:22
03:22
878,4
44,6
4,83
52
965,6
07:30
08:30
921,6
44
4,56
53
999
08:38
08:38
950,4
48,6
4,86
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L4-2
L1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L4-3
L1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-5
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-6
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-7
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-8
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-9
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-10
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-11
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L4-12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1
L4-13
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L5-1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L5-2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L5-3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L5-4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L1L5-5
Download