i Universitas Kristen Maranatha
REALISASI SISTEM AKUISISI DATA MENGGUNAKAN ARDUINO
ETHERNET SHIELD DAN SOCKET PROGRAMMING BERBASIS IP
Hery Andrian (NRP : 1022048)
Email : heryandrian.engineer@gmail.com
Jurusan Teknik Elektro, Fakultas Teknik
Universitas Kristen Maranatha
Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
ABSTRAK
Dalam hal sistem pemantauan data keluaran suatu mesin dalam otomasi
industri diperlukan suatu sistem akuisisi data yang baik dan efisien. Ada dua hal
yang menjadi faktor penting, yaitu sistem perangkat lunak (software) dan alat
perangkat keras (hardware). Dari sisi perangkat keras (hardware), pemanfaatan
teknologi mikrokontroler dan jaringan komputer sangat mempengaruhi kinerja
suatu sistem akuisisi data. Sedangkan dari sisi software, penggunaan bahasa
pemrograman sangat mempengaruhi bagaimana mendesain suatu aplikasi
antarmuka (interface) yang dapat memudahkan pengguna untuk melakukan sistem
pemantauan.
Pada tugas akhir ini, telah dilakukan perancangan dan realisasi sistem
akuisisi data dengan menggunakan mikrokontroler Arduino, Ethernet Shield
Arduino sebagai faktor utama dalam pengiriman akuisisi data ke komputer client, dan metode socket programming pada Delphi untuk aplikasi antarmuka berbasis
desktop.
Dari hasil pengujian didapatkan akuisisi data dengan socket programming
berhasil dilakukan dengan tingkat error maksimal pengukuran suhu 6,87%,
kelembaban udara 10,2 %, simulasi perhitungan produksi 0%, pengukuran arus
5,88 %, dan pengukuran tegangan 3,08 %.
REALIZATION OF DATA ACQUISITION SYSTEM USING ARDUINO ETHERNET SHIELD AND IP-BASED PROGRAMMING SOCKET
Hery Andrian (NRP : 1022048)
Email : heryandrian.engineer@gmail.com
Electrical Engineering Department, Faculty of Engineering Maranatha Christian University
Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
ABSTRACT
The output of data monitoring system in industrial automation machines required good and efficient data acquisition system. There are two things that become important factors, software and hardware . Hardware , the utilization of the microcontroller technology and computer network greatly affects the performance of a data acquisition system. Software, the use of a programming language greatly affects how designing an application interface that can allow the user to perform monitoring system.
In this final project, the design and realization of the data acquisition system using the Arduino’s microcontroller, Arduino Ethernet Shield as a major factor in the delivery of data acquisition computer’s client, and the method of socket programming in Delphi for desktop-based application’s interface.
From the test results showed that socket programming data acquisition successfully carried out with a maximum error rate of 6.87% for temperature measurement, 10.2% for air humidity measurement, 0% for simulation the calculation the amount of production, 5.88% for current measurement, and voltage measurement 3.08% .
iii
PERNYATAN PUBLIKASI LAPORAN TUGAS AKHIR
KATA PENGANTAR
1.1 Latar Belakang Masalah... 1
1.2 Identifikasi Masalah... 2
1.3 Perumusan Masalah... 2
1.4 Tujuan... 3
1.5 Pembatasan Masalah... 3
1.6 Sistematika Penulisan... 4
BAB II LANDASAN TEORI... 5
2.1 Konsep Dasar Akuisisi Data... 5
2.2 Konsep Dasar Socket Programming... 6
2.2.1 Macam – Macam Komunikasi Socket... 8
2.3 Pengertian Aplikasi Berbasis Desktop... 10
2.3.1 Perbedaan Aplikasi Desktop dan Aplikasi Web... 10
2.4 Software Delphi 7... 11
2.4.1 Pemrograman Socket Dalam Delphi 7... 13
2.5.1 Software Arduino IDE... 17
2.5.2 Bahasa Pemrograman Arduino... 17
2.5.3 Arduino Mega 2560... 18
2.5.4 Arduino Ethernet Shield... 19
2.6 Sensor Suhu dan Kelembaban... 20
2.7 Sensor Arus... 20
2.8 Sensor Tegangan AC... 21
2.9 Switch Hub TP-Link... 21
2.10 Database Microsoft Access... 22
2.11 Sensor Photo-Sensitive Light Intensity... 23
BAB III PERANCANGAN DAN REALISASI... 24
3.1 Perancangan Diagram Blok Sistem... 24
3.2 Perancangan Perangkat Keras (Hardware)... 25
3.2.1 Perancangan pada Arduino Mega 1... 25
3.2.2 Perancangan pada Arduino Mega 2... 28
3.3 Perancangan Perangkat Lunak (Software)... 33
3.3.1 Perancangan pada Software Arduino IDE... 33
3.3.1.1 Flowchart Pemrograman Arduino... 33
3.3.1.2 Coding Pemrograman Arduino... 37
3.3.2 Perancangan pada Software Delphi 7... 41
3.3.2.1 Flowchart Pemrograman Delphi... 41
3.3.2.2 Coding Pemrograman Delphi... 48
BAB IV DATA PENGUKURAN DAN ANALISIS... 54
4.1 Data Pengukuran Suhu, Kelembaban, dan Jumlah Produksi... 55
v Universitas Kristen Maranatha
BAB V KESIMPULAN DAN SARAN... 64
5.1 Kesimpulan... 64
5.2 Saran... 65
DAFTAR PUSTAKA... 66
Lampiran A Datasheet Sensor Arus SCT-013-000
Lampiran B Datasheet Sensor DHT 11 Suhu dan Kelembaban
Lampiran C Coding Arduino Mega 1
Lampiran D Coding Arduino Mega 2
Lampiran E Coding Form 1 : Aplikasi Monitoring Delphi 7
DAFTAR GAMBAR
Hal
Gambar 2.1 Diagram Sistem Akuisisi Data Secara Umum... 6
Gambar 2.2 Komunikasi Data Soket... 7
Gambar 2.3 Contoh Alur TCP Socket Client-Server... 9
Gambar 2.4 Contoh Alur UDP Socket Client-Server... 9
Gambar 2.5 Protocol Header TCP Socket... 10
Gambar 2.6 Protocol Header UDP Socket... 10
Gambar 2.7 Tampilan Depan Software Delphi 7... 11
Gambar 2.8 Tampilan Halaman Kerja Delphi 7... 13
Gambar 2.9 Tampilan Install Package Delphi 7... 14
Gambar 2.10 Tampilan Palette Internet terdapat ClientSocket dan ServerSocket... 14
Gambar 2.11 Logo Arduino... 16
Gambar 2.12 Tampilan Halaman Arduino IDE v1.0.1... 17
Gambar 2.13 Papan Board Arduino Mega 2560... 18
Gambar 2.14 Ethernet Shield Wiznet 5100... 19
Gambar 2.15 Modul Sensor Suhu dan Kelembaban DHT11... 20
Gambar 2.16 Sensor Arus YHDC SCT-013-000 100A... 20
Gambar 2.17 Sensor Tegangan AC... 21
Gambar 2.18 Switch Hub TP-Link SF-1008D... 21
vii Universitas Kristen Maranatha
Gambar 2.20 Modul Sensor Cahaya MDLDR3P... 23
Gambar 3.1 Diagram Blok Sistem... 24
Gambar 3.2 Sensor Modul LDR, Sensor Modul DHT11, dan Laser 5V... 25
Gambar 3.3 Prototype Mesin Produksi... 26
Gambar 3.4 Arduino Ethernet Shield dihubungkan dengan Arduino Mega.. 27
Gambar 3.5 Sketsa Perancangan pada Arduino Mega 1... 27
Gambar 3.6 Sensor Arus SCT-013-000 dan Sensor Tegangan... 29
Gambar 3.7 Sketsa Perancangan pada Arduino Mega 2... 29
Gambar 3.8 Dasar Operasi Transformator Arus... 30
Gambar 3.9 Skema Rangkaian Pengkondisian Sinyal untuk Sensor Arus SCT... 31
Gambar 3.10 PCB Pengkondisian Sinyal untuk Sensor Arus SCT... 31
Gambar 3.11 Penggunaan Sensor Arus SCT yang Benar... 30
Gambar 3.12 Switch Hub yang Menghubungkan Dua Ethernet Shield Arduino dan Laptop... 33
Gambar 3.13 Flowchart Pemrograman Arduino Mega 1... 34
Gambar 3.14 Flowchart Pemrograman Arduino Mega 2... 36
Gambar 3.15 Parameter Teknis Sensor Arus SCT-013-000... 40
Gambar 3.16 Flowchart Pemrograman Aplikasi Monitoring Delphi... 42
Gambar 3.17 Sub Routine Client Socket Terkoneksi dengan Ethernet Shield... 44
Gambar 3.19 Sub Routine Stop Request Data... 45
Gambar 3.20 Sub Routine Tampilkan Data Arus... 45
Gambar 3.21 Sub Routine Tampilkan Data Tegangan... 46
Gambar 3.22 Sub Routine Tampilkan Data Suhu... 46
Gambar 3.23 Sub Routine Tampilkan Data Kelembaban... 47
Gambar 3.24 Sub Routine Tampilkan Data Jumlah Produksi... 47
Gambar 3.25 Tampilan Halaman Basis Data pada Delphi... 50
Gambar 3.26 Tampilan Utama Aplikasi Monitoring... 51
Gambar 4.1 Simulasi Pengukuran Suhu, Kelembaban, dan Perhitungan Simulasi Jumlah Produksi... 54
Gambar 4.2 Pengukuran Suhu dan Kelembaban DHT11 dan Constant HT100... 57
Gambar 4.3 Pengukuran Arus dan Tegangan pada Beban 1... 59
Gambar 4.4 Contoh Pengukuran Arus dan Tegangan pada Beban 2... 61
ix Universitas Kristen Maranatha
DAFTAR TABEL
Hal
Tabel 2.1 Perbedaan Antara TCP dan UDP... 8
Tabel 4.1 Hasil Pengukuran Suhu DHT11 dan Constant HT100... 55
Tabel 4.2 Hasil Pengukuran Kelembaban DHT11 dan Constant HT100... 56
Tabel 4.3 Hasil Perhitungan Simulasi Jumlah Produksi... 57
Tabel 4.4 Hasil Pengukuran Arus pada Beban 1... 58
Tabel 4.5 Hasil Pengukuran Tegangan pada Beban 1... 58
Tabel 4.6 Hasil Pengukuran Arus pada Beban 2... 60
Tabel 4.7 Hasil Pengukuran Tegangan pada Beban 2... 60
Tabel 4.8 Hasil Pengukuran Arus pada Beban 3... 62
BAB I PENDAHULUAN
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Sistem pemantauan (monitoring) data keluaran suatu mesin dalam otomasi
industri akan memerlukan sistem akuisisi data yang baik. Sistem akuisisi data
adalah sistem untuk melakukan konversi besaran fisis dari sumber data ke bentuk
sinyal digital dan diolah oleh suatu komputer. Data tersebut dikumpulkan dan
disiapkan untuk diproses menghasilkan data yang dikehendaki. Setelah itu, data
dapat ditampilkan dalam bentuk grafik atau HMI (Human Machine Interface)
secara real-time. Tampilan tersebut dapat menggunakan VB (Visual Basic),
Delphi, dan perangkat lunak lainnya.
Dalam tugas akhir ini, sistem akan memantau nilai suhu, nilai kelembaban,
jumlah produksi, nilai arus, dan nilai tegangan. Dan data akan didistribusikan
melalui jaringan LAN (Local Area Network) dengan metode socket programming
untuk ditampilkan pada aplikasi monitoring Delphi berbasis aplikasi desktop.
Socket programming merupakan pemrograman jaringan komunikasi end-points antara dua aplikasi (contohnya client-server). Socket mendukung dasar komunikasi transportasi data dan menyembunyikan rincian implementasi pada
lapisan bawah jaringan komunikasi data. Serta menyediakan tingkat yang lebih
tinggi dari proses komunikasi data pada layer bawah dan mendukung
pengembangan aplikasi berbasis jaringan komunikasi data yang cepat dan mudah.
Kelebihan dari socket programming adalah dapat melakukan komunikasi antar
proses/ program berbasis jaringan TCP/IP, dapat berkomunikasi dengan program
lain yang dijalankan dengan platform yang berbeda dengan syarat program
tersebut menggunakan protokol transfer yang sama, dan juga dapat menangani
BAB I PENDAHULUAN
aplikasi dapat berdiri sendiri (standalone) tanpa adanya bantuan aplikasi lain
seperti web browser untuk menjalankannya.
Dalam merealisasikan sistem akuisisi data pada tugas akhir ini, maka
digunakan alat untuk memperoleh sumber data dan mengubahnya dalam standar
sinyal transmisi (transduser), mengirimkan data melalui jaringan komputer LAN
(Ethernet) dan socket programming berbasis IP, dan menampilkan data pada PC.
Alat ini terdiri dari perangkat lunak (software) dan perangkat keras (hardware).
Perangkat lunak menggunakan Delphi 7 dan Arduino IDE v1.0.1. Perangkat keras
utama yang digunakan Arduino Mega 2560 R3, Arduino Ethernet Shield Module
W5100, dan sebuah PC (Personal Computer), TP-Link SF1008D (Switch Hub).
1.2 Identifikasi Masalah
Identifikasi masalah dalam tugas akhir ini yaitu diperlukan sistem
akuisisi data (nilai suhu, kelembaban, jumlah produksi, arus, dan tegangan)
dari Arduino ke komputer, yang nantinya data akan ditampilkan secara
real-time pada aplikasi (Delphi 7) dengan metode socket programming berbasis IP.
1.3Perumusan Masalah
Perumusan masalah dari Tugas Akhir ini, yaitu :
1. Bagaimana perancangan dan realisasi dari sistem akusisi data
dengan Arduino Ethernet Shield?
2. Bagaimana menampilkan hasil akuisisi data ke PC dengan
BAB I PENDAHULUAN
1.4Tujuan
Tujuan yang ingin dicapai dari Tugas Akhir ini adalah :
1. Merancang dan merealisasikan sistem akuisisi data dengan Arduino
Ethernet Shield dan socket programming berbasis IP.
2. Merancang user interface tampilan hasil akuisisi data menggunakan
Delphi 7.
3. Mengetahui tingkat keberhasilan dari rancangan yang telah
direalisasikan.
1.5 Pembatasan Masalah
Batasan masalah dalam Tugas Akhir ini, yaitu :
1. Data yang diambil disimulasikan dari prototype mesin produksi barang,
yaitu data suhu, kelembaban, dan jumlah produksi (disimulasikan dengan
counter).
2. Data nilai arus dan tegangan masing-masing diambil dari pengukuran
tegangan dan arus dengan beban 1 (charger laptop, charger HP, dan
switch hub TP-Link) , beban 2 ( lampu bohlam 15W, 25W, 40W, 60W,
dan 75W), dan beban 3 ( pompa air dengan tekanan 3 Psi).
3. Satu laptop dengan sistem operasi PC berbasis Windows 7 Home
Premium.
4. Menggunakan dua Arduino Mega 2560 R3, dua Ethernet Shield W5100,
dan tiga port switch TP-Link SF1008D.
5. Tampilan hasil akuisisi data dirancang menggunakan Delphi 7.
6. Sensor suhu dan kelembaban menggunakan DHT 11 Humidity & Temperature Sensor.
7. Sensor arus menggunakan YHDC SCT-013-000 100A. 8. Berbasis desktop application.
BAB I PENDAHULUAN
4
Universitas Kristen Maranatha
1.6 Sistematika Penulisan
Penyusunan laporan tugas akhir ini terdiri dari lima bab, yaitu :
1. BAB I – PENDAHULUAN
Pada bab ini dibahas mengenai latar belakang masalah, identifikasi
masalah, tujuan, perumusan masalah, pembatasan masalah, dan
sistematika penulisan laporan tugas akhir.
2. BAB II – LANDASAN TEORI
Pada bab ini akan dibahas mengenai teori – teori penunjang serta
cara kerja sistem. Teori penunjang akan dijadikan sebagai acuan
untuk mendesain suatu sistem akuisisi data.
3. BAB III – PERANCANGAN DAN REALISASI
Pada bab ini berisi penjelasan mengenai perancangan sistem
(software) dan realisasi alat (hardware) yang digunakan agar
sistem akuisisi data dapat bekerja.
4. BAB IV – DATA PENGUKURAN DAN ANALISIS
Pada bab ini berisi data – data pengukuran serta analisis yang
dihasilkan oleh sistem akuisisi data.
5. BAB V – KESIMPULAN DAN SARAN
Pada bab ini berisi kesimpulan dari realisasi hasil sistem akuisisi
data dan saran – saran yang diperlukan untuk pengembangan tugas
BAB V KESIMPULAN DAN SARAN
BAB V
KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan berdasarkan dari hasil data pengukuran dan
analisis Tugas Akhir “Realisasi Sistem Akuisisi Data Menggunakan Arduino
Ethernet Shield Dan Socket Programming Berbasis IP”, beserta saran untuk
pengembangan selanjutnya.
5.1 Kesimpulan
Dari semua proses yang dilakukan dalam Tugas Akhir ini dapat diambil
kesimpulan sebagai berikut:
1. Realisasi sistem akuisisi data untuk pengukuran suhu didapat tingkat error
maksimal 6,87 %, dan pengukuran kelembaban didapat tingkat error
maksimal 10,2 %.
2. Realisasi sistem akuisisi data untuk perhitungan simulasi jumlah produksi
dapat berfungsi dengan baik, dengan melihat hasil tabel perhitungan manual
sama dengan tabel perhitungan di Delphi.
3. Realisasi sistem akuisisi data untuk perhitungan arus dan tegangan didapat
error maksimal :
3.1. Beban 1, tingkat error maksimal pengukuran arus adalah 5,88 % dan
tingkat error maksimal pengukuran tegangan adalah 1,85 %.
3.2. Beban 2, tingkat error pengukuran arus > 100 % dan tingkat error
maksimal pengukuran tegangan adalah 3,08 %.
3.3. Beban 3, tingkat error maksimal pengukuran arus adalah 3,46 % dan
BAB V KESIMPULAN DAN SARAN
65 Universitas Kristen Maranatha 4. Tingkat error pengukuran pada sensor arus SCT akan semakin kecil seiring
dengan pengukuran arus dengan beban yang memiliki nilai watt yang lebih
besar. Kemungkinan karena range sensor arus SCT yang besar yaitu 0-100 A.
Sehingga cocok untuk pengukuran beban dengan kapasitas besar tetapi tidak
cocok dengan pengukuran beban kapasitas kecil.
5. Hasil perancangan realisasi sistem akuisisi data dengan Arduino Ethernet
Shield dan pemrograman soket berbasis IP dapat berfungsi dengan baik.
5.2 Saran
Adapun saran untuk pengembangan tugas akhir ini adalah :
1. Data-data yang di monitoring dapat diakses lebih dari 1 user ( multiuser).
DAFTAR PUSTAKA
DAFTAR PUSTAKA
1) Ali, Muhammad. 2003. Mengakses Database pada Delphi dengan ADO.
IlmuKomputer.com
2) Bogdan Ciubotaru, Gabriel Mirel M.2013. Advanced Network Programming –
Principles and Techniques. London. Springer – Verlag.
3) Darmawan, Aan. 2013. Modul Workshop Arduino. Bandung : Laboratorium
Teknologi Komputer Jurusan Teknik Elektro UK.Maranatha.
4) Jayanto . 2015.Membuat Aplikasi Database dengan Delphi (Re-create by Ferry
(PDF E-book)
5) Jayanto. 2015.Panduan Praktis Pemograman Delphi 5 dan 7 .Wahana Komputer
(Re-create by Ferry (PDF E-book)
6) Syahwil, Muhammad. 2013. Panduan Mudah Simulasi dan Praktek
Mikrokontroler Arduino. Yogyakarta : Penerbit ANDI.
7) http://klikhost.com/perbedaan-tcp-dan-udp/ by Purba Kuncara
(diakses tanggal 25 Juli 2015)
8) https://id.wikipedia.org/wiki/Microsoft_Access (diakses tanggal 27 Juli 2015)
9) http://www.vcc2gnd.com/sku/MDLDR3P (diakses tanggal 8 Agustus 2015)
10) https://www.tmssoftware.com/ (diakses tanggal 9 Agustus 2015)
11) http://www.alphaskins.com/ (diakses tanggal 19 Agustus 2015)
12) http://www.streetdirectory.com/travel_guide/114448/programming/
desktop_applications_vs_web_applications.html ( diakses tanggal 8 September 2015)
13) https://en.wikipedia.org/wiki/Current_transformer
(diakses tanggal 10 September 2015)
14) http://www.openenergymonitor.org
(diakses tanggal 10 September 2015)
15) http://www.arduino.cc/en/Main/ArduinoEthernetShield
( diakses tanggal 13 September 2015)
16) http://arduino.cc/en/Main/ArduinoBoardMega2560
(diakses tanggal 13 September 2015)
17) http://www.tp-link.com/lk/products/details/cat-4763_TL-SF1008D.html
DAFTAR PUSTAKA
67 Universitas Kristen Maranatha 18) http://edwincool07.blogspot.co.id/2012/03/pemrograman-socket.html
( diakses tanggal 17 September 2015)
19) http://condor.depaul.edu/jkristof/technotes/tcp.html
( diakses tanggal 21 Oktober 2015)
20) http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/udp.html