sistem akuisisi data penggunaan bahan bakar dan jarak tempuh

advertisement
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR
SISTEM AKUISISI DATA PENGGUNAAN
BAHAN BAKAR DAN JARAK TEMPUH
BERBASIS ARDUINO
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
BRAM ANGGITA PUTRA
NIM : 135114058
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
DATA ACQUISITION SYSTEM OF FUEL
CONSUMPTION AND DISTANCE BASED ON
ARDUINO
Presented as Partial Fullfillment of Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
By:
BRAM ANGGITA PUTRA
NIM : 135114058
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2016
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO
“Take a decision and don’t look back! Just focus
on your future”
Dengan ini kupersembahkan karyaku ini untuk..
Tuhanku Yesus Kristus,
Kedua orang tua yang selalu mendukung serta mendoakan ku,
Bapak Djoko Untoro Suwarno,S.Si.,M.T. Selaku Dosen Pembimbing
Teman-temanku seperjuangan,
Dan semua orang yang mengasihiku
Terima Kasih.
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI
Informasi data mengenai konsumsi BBM pada kendaraan, ternyata menuai banyak
keluhan dari masyarakat ketika konsumsi BBM pada kendaraan mereka tidak sesuai
spesifikasi yang diklaim pabrikan. Telah ditelusuri, banyak pabrikan mobil yang
mencantumkan informasi data konsumsi BBM yang tidak sesuai dari hasil pengujian dan
diterapkan pada seluruh kendaraan yang akan dijual. Meski memiliki mesin yang sama, setiap
model yang berbeda pasti memiliki tingkat konsumsi BBM yang berbeda pula. Selain itu, ada
kecenderungan data konsumsi BBM pada brosur yang diambil dari hasil pengujian di
laboratorium atau lintasan khusus, tidak dibandingkan dengan pemakaian nyata di jalan raya
Konsumen perlu untuk diberi suatu kemudahan tentang informasi secara detail tidak
hanya jarak yang ditempuh tetapi juga sekaligus besar konsumsi bahan bakar yang dipakai
salah satunya dengan Sistem Akuisisi Data Pemakaian Bahan Bakar dan Jarak Tempuh
Berbasis Arduino. Keunggulan menggunakan model sistem ini berupa sistem akuisisi data
konsumsi bahan bakar sekaligus menghitung jarak tempuh dan informasi akan dicatat berupa
file dengan format ekstensi text document (*.txt)
yang akan disimpan pada
Sdcard/MicroSD/MemoryCard. Informasi data mencantumkan setiap satuan waktu konsumsi
bahan bakar dan jarak yang ditempuh. Rancangan ini diharapkan dapat menjadi bahan
pertimbangan pengembangan model informasi data konsumsi BBM
Kata kunci : Sistem Akuisisi Data, Data Logger Shield, Peristaltic Pump, Sensor
Phototransistor, Reed Switch, dan Liquid Crystal Display
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Information data on fuel consumption in the vehicle, was reaping a lot of complaints
from the public when the fuel consumption of their vehicles do not match the specifications
claimed the manufacturer. Has been traced, many automobile manufacturers of fuel
consumption data include information that does not match the results of the testing and applied
to all vehicles that will be sold. Although it has the same engine, each a different model
certainly has a fuel consumption level is different. In addition, there is a trend of fuel
consumption data in the brochure are taken from the test results in the laboratory or special
track, not compared to actual usage on highways
Consumers need to be given an ease about the information in detail not only the
distance but also at a huge consumption of fuel used one of them to the Data Acquisition
System Fuel and Mileage-Based Arduino. The advantages of this system using a model form
of the data acquisition system fuel consumption and calculate the mileage and the information
will be recorded in the form of a file with the extension format text document (* .txt) that will
be stored on sdcard / MicroSD / memorycard. Data information lists each unit time fuel
consumption and distance traveled. The draft is expected to be taken into consideration the
development of the model fuel consumption data information
Keywords: Data Acquisition Sistem, Data Logger Shield, Phototransistor Sensor, Reed
Switch, and Liquid Crystal Display
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN JUDUL ........................................................................................................ i
TITLE................................................................................................................................ ii
HALAMAN PERSETUJUAN ........................................................................................ iii
HALAMAN PENGESAHAN ......................................................................................... iv
PERNYATAAN KEASLIAN KARYA ......................................................................... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP .............................................. vi
LEMBAR PERNYATAAN PERSETUJAN KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS ....................................................................... vii
INTISARI ......................................................................................................................... viii
ABSTRACT ....................................................................................................................... ix
KATA PENGANTAR ..................................................................................................... x
DAFTAR ISI .................................................................................................................... xi
DAFTAR GAMBAR ....................................................................................................... xiv
DAFTAR TABEL ............................................................................................................ xvi
DAFTAR PERSAMAAN............................................................................................... xvii
DAFTAR LAMPIRAN ................................................................................................... xviii
BAB I PENDAHULUAN
1.1. LatarBelakang........................................................................................................... 1
1.2. TujuanPenelitian ....................................................................................................... 2
1.3. Manfaat ..................................................................................................................... 2
1.4. BatasanMasalah ........................................................................................................ 3
1.5. MetodologiPenelitian ............................................................................................... 3
BAB II DASAR TEORI
2.1. Peristaltic Pump ....................................................................................................... 4
2.2. Reed Switch................................................................................................................ 5
2.3. Rotary Encoder.......................................................................................................... 5
2.4. Sensor Optocoupler .................................................................................................. 6
2.5. Motor DC................................................................................................................... 8
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.6. Arduino Mega 2560................................................................................................... 9
2.6.1 Komunikasi serial asinkron............................................................................. 11
2.6.2 Komunikasi serial sinkron............................................................................... 12
2.6.3 Komunikasi Serial Sinkron I2C/IIC/TWI....................................................... 12
2.7. Data Logger Shield.................................................................................................... 12
2.7.1 RTC dan RAM Address Map.......................................................................... 15
2.8. LCD (Liquid Crystal Display) .................................................................................. 17
2.8.1 Pengiriman data ke LCD................................................................................. 18
2.8.2 Register – register LCD................................................................................... 19
BAB III PERANCANGAN PENELITIAN
3.1. Diagram Blok Sistem ............................................................................................... 21
3.2. Perancangan Hardware Mekanik ............................................................................. 22
3.2.1. Kontruksi tampungan cairan dan peristaltic pump ...................................... 23
3.2.2. Perancangan Pengukuran Jarak yang Ditempuh ........................................ 24
3.3. Perancangan Hardware elektrik .............................................................................. 27
3.3.1. Rangkaian Skematik pada Motor DC, driver motor, dan sensor
Optocoupler.................................................................................................. 27
3.3.2.
Rangkaian Driver Motor.............................................................................. 28
3.3.3.
Rangkaian Tombol....................................................................................... 30
3.3.4.
Rangkaian LCD........................................................................................... 31
3.4. Perancangan Software............................................................................................... 32
3.4.1.
Diagram Alir Program................................................................................. 33
3.4.2.
Flowchart Sistem Keseluruhan.................................................................... 34
3.4.3.
Flowchart Perhitungan Konsumsi BBM...................................................... 35
3.4.4.
Flowchart Perhitungan Jarak......................................................................... 35
3.4.5.
Informasi yang akan disimpan pada SDcard............................................... 36
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN
4.1. Hasil Perancangan Mekanik ..................................................................................... 37
4.1.1. Hardware Mekanik Tampungan Cairan dan Peristaltic Pump ..................... 37
4.1.2. Hardware Mekanik Prototype Pedal Gas dan Rem ..................................... 38
4.2. Hasil Perancangan Elektrik ...................................................................................... 39
4.3. Hasil Pengujian ......................................................................................................... 41
4.3.1. Pengujian Peristaltic Pump .......................................................................... 41
4.3.2. Pengujian Prototype Pedal Gas dan Rem ..................................................... 43
4.3.3. Pengujian Seluruh Sistem............................................................................. 45
4.4. Analisa Perangkat Lunak ........................................................................................... 47
4.4.1. Inisialisasi ...................................................................................................... 47
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ............................................................................................................... 49
5.2. Saran ......................................................................................................................... 50
DAFTAR PUSTAKA ...................................................................................................... 51
LAMPIRAN ..................................................................................................................... 53
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2.1.
Ukuran dan Jenis Memory pada Arduino ........................................................ 10
Tabel 2.2.
Alamat bit pada RTC DS1307 ......................................................................... 16
Tabel 2.3.
Register kontrol ............................................................................................... 16
Tabel 2.4.
Konfigurasi pin LCD ....................................................................................... 17
Tabel 2.5.
Modus operasi LCD ........................................................................................ 19
Tabel 3.1.
Hubungan kondisi mesin, sudut pedal gas, potensiometer, nilai ADC, tegangan
pada motor DC, dan PWM. ............................................................................. 26
Tabel 3.2.
Konfigurasi pin pada potensiometer dan reed switch. .................................... 28
Tabel 3.3.
Konfigurasi pin pada push button.................................................................... 30
Tabel 3.4.
Konfigurasi pin LCD ke Arduino.................................................................... 32
Tabel 4.1.
Bagian dari Hardware Mekanik tampungan cairan dan peristaltic pump...... 38
Tabel 4.2.
Bagian dari Hardware Mekanik Prototype pedal gas dan rem........................ 39
Tabel 4.3.
Bagian dari Hardware elektrik........................................................................ 40
Tabel 4.4.
Percobaan Konsumsi Cairan dengan Peristaltic Pump .................................. 41
Tabel 4.5.
Percobaan Prototype Pedal Gas ...................................................................... 43
Tabel 4.6.
Bagian part pada prototype pedal rem............................................................. 45
Tabel 4.7.
Percobaan Seluruh Sistem................................................................................ 46
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PERSAMAAN
Persamaan 3.1 ..................................................................................................................... 29
Persamaan 3.2 ..................................................................................................................... 30
Persamaan 3.3 ..................................................................................................................... 31
Persamaan 4.1 ..................................................................................................................... 42
Persamaan 4.2 ..................................................................................................................... 46
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR LAMPIRAN
L1.
Program Keseluruhan ............................................................................................... L1
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Bahan bakar minyak (BBM) masih menjadi energi yang paling besar dikonsumsi
dibandingkan dengan jenis energi lainnya. Kebutuhan BBM di Indonesia,
khususnya
sektor transportasi masih menjadi sektor pengguna BBM terbesar di bandingkan
dengan sektor-sektor lainnya seperti industri, dan pembangkit listrik. Peningkatan
kebutuhan BBM tertinggi terjadi pada sektor transportasi, hal ini diperkirakan disebabkan
karena peningkatan jumlah kendaraan yang cukup tinggi, peningkatan mobilitas perjalanan
karena jarak tempat tinggal yang semakin menjauh dari tempat kerja, kemacetan yang
semakin padat, ditambah harga BBM yang cenderung masih murah.
Konsumsi BBM di sektor transportasi adalah
jenis gasoline,
termasuk
di
dalamnya BBM subsidi dan non subsidi. Realisasi volume BBM bersubsidi yang
terus mengalami kelebihan kuota setiap tahunnya menjadi perhatian pemerintah. Pulau
Jawa merupakan wilayah yang mengalami kelebihan kuota terbesar dibandingkan wilayah
lainnya. Diperkirakan kuota yang terjadi disebabkan karena penjualan mobil di atas
perkiraan, disparitas harga yang terlalu tinggi antara BBM subsidi dengan BBM non
subsidi, penyalahgunaan
BBM bersubsidi
oleh pihak-pihak
yang ingin mencari
keuntungan, dan program pengaturan BBM bersubsidi yang tidak dapat dilaksanakan
secara tepat. [1]
Informasi data mengenai konsumsi BBM pada kendaraan, ternyata menuai banyak
keluhan dari masyarakat ketika konsumsi BBM pada kendaraan mereka tidak sesuai
spesifikasi yang diklaim pabrikan. Telah ditelusuri, banyak pabrikan mobil yang
mencantumkan informasi data konsumsi BBM yang tidak sesuai dari hasil pengujian dan
diterapkan pada seluruh kendaraan yang akan dijual. Meski memiliki mesin yang sama,
setiap model yang berbeda pasti memiliki tingkat konsumsi BBM yang berbeda pula.
Selain itu, ada kecenderungan data konsumsi BBM pada brosur yang diambil dari hasil
pengujian di laboratorium atau lintasan khusus, tidak dibandingkan dengan pemakaian
nyata di jalan raya. [2]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Telah ditemukan suatu suatu jurnal tentang monitoring banyaknya BBM pada
generator berbasis mikrokontroler PIC dengan memanfaatkan sensor ultrasound yang
prinsip kerjanya berfungsi sebagai sensor levelmeter. Pengambilan data dilakukan dengan
sistem akuisisi data. Hasil data disimpan pada SDcard dalam bentuk file dengan format
ekstensi text document (*.txt). [3]
Dalam kasus ini, bukan terjadi pada generator melainkan pada kendaraan.
Konsumen perlu untuk diberi suatu kemudahan tentang informasi secara detail tidak hanya
jarak yang ditempuh tetapi juga sekaligus besar konsumsi bahan bakar yang dipakai salah
satunya dengan Sistem Akuisisi Data Pemakaian Bahan Bakar dan Jarak yang Ditempuh
Berbasis Arduino. Keunggulan menggunakan model sistem ini berupa sistem akuisisi data
konsumsi bahan bakar sekaligus menghitung jarak tempuh dan informasi akan dicatat
berupa file dengan format ekstensi text document (*.txt)
yang akan disimpan pada
Sdcard/MicroSD/MemoryCard. Informasi data mencantumkan setiap satuan waktu
konsumsi bahan bakar dan jarak yang ditempuh. Rancangan ini diharapkan dapat menjadi
bahan pertimbangan pengembangan model informasi data konsumsi BBM.[2]
1.2.
Tujuan
Tujuan dari penelitian ini adalah menghasilkan suatu prototype untuk mengukur
dan mencatat konsumsi bahan bakar dan jarak yang ditempuh, di dalamnya terdapat
integrasi sistem antara mekanik, elektrik dan program. Bagian mekanik di dalamnya antara
lain adanya integrasi antara pedal gas dengan motor DC dan peristaltic pump. Bagian
elektrik menghasilkan rangkaian komunikasi antara mekanik ke Arduino. Di bagian
program terdapat pengolahan data RTC (Real Time Clock) ke Arduino, mengkonversi data
analog ke digital, pembuatan database yang disimpan di Arduino dan diaplikasikan ke
SDcard.
1.3.
Manfaat
Penelitian ini memiliki manfaat kepada masyarakat sebagai acuan data konsumsi
bahan bakar. Penelitian ini juga bermanfaat meminimalisasi kecurangan pada pengisian
bahan bakar khususnya untuk para pengusaha di bidang rental mobil, motor, dan taksi.
Data yang diinformasikan berupa data real konsumsi bahan bakar dan jarak yang telah
ditempuh berdasarkan waktu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.4.
Batasan Masalah
Penelitian akan dibatasi pada pembuatan sistem akuisisi data berupa model
prototype berbasis Arduino, spesifikasi alat yang digunakan sebagai berikut:
1. Metode pengukuran konsumsi bahan bakar dengan menghitung banyak pulsa reed
switch pada peristaltic pump.
2. Pengaturan kecepatan motor DC dengan menggunakan pedal gas yang melalui
driver motor.
3. Pengukuran panjang lintasan dengan menghitung pulsa yang terjadi pada rotary
encoder.
4. Kecepatan motor pada peristaltic pump di atur melalui pedal gas.
5. Menggunakan mikrokontroler berupa modul Arduino Mega 2560.
6. Menggunakan Data Logger Shield
7. Menggunakan RTC sebagai timing / clock yang sudah terdapat di Data Logger
Shield.
8. Menggunakan tombol push button
9. Menggunakan LCD untuk menampilkan hasil pengukuran.
10. Hasil pengukuran akan dicatat dan disimpan ke SDcard.
1.5.
Metodologi Penelitian
Metode penelitian yang dikerjakan di Lab. digunakan dalam penyusunan tugas
akhir ini adalah:
1. Pengumpulan bahan-bahan referensi berupa buku-buku dan jurnal penelitian
terkait. Studi pustaka yang mencakup literatur mengenai Arduino, Data Logger
Shield , RTC, motor DC, peristaltic pump, reed switch, driver motor, optocoupler,
rotary encoder dan LCD.
2. Perancangan kontruksi mekanik: pengukuran bahan bakar dan pengukuran jarak
yang ditempuh.
3. Perancangan elektrik: rangkaian skematik pada peristaltic pump, motor DC, driver
motor, tombol push button, dan LCD.
4. Perancangan software: penampil LCD, penyimpanan SDcard, dan pemrogaman
RTC.
5. Pengolahan data berupa penyajian data dalam bentuk grafik dan table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
6. Perbaikan dan penyempurnaan alat.
7. Penulisan laporan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB II
DASAR TEORI
Bab ini akan menjelaskan mengenai teori tentang komponen pendukung,
perhitungan, serta teknik pengolahan data yang digunakan pada penelitian ini. Dasar materi
yang digunakan pada penelitian ini antara lain adalah peristaltic pump, rotary encoder,
optocoupler, motor servo, motor DC, Arduino Mega 2560, Data Logger Shield, RTC, LCD
16x2, dan rangkaian elektronika lainnya. Rangkaian elektronika yang dibutuhkan adalah
rangkaian driver motor dc, konsep aktif high dan aktif low, dan rangkaian reset.
2.1. Peristaltic Pump
Peristaltic pump adalah jenis pompa perpindahan positif yang digunakan untuk
memompa berbagai cairan. Tabung fleksibel yang dipasang melingkar di dalam casing
pompa mengandung fluida. Sebuah baling-baling dengan sejumlah kawat penggulung,
penyeka, atau lekukan melekat pada lingkar luar baling-baling tabung fleksibel. Ketika
baling-baling bergerak, bagian bawah tabung akan tertekan dan terjepit sehingga menjadi
tertutup, dan akhirnya akan memaksa cairan yang akan dipompa untuk bergerak malalui
tabung. Setelah itu, tabung akan terbuka seperti keadaan semula. Setelah meninggalkan
roda, aliran fluida akan diinduksi ke pompa.
Terdapat dua atau lebih kawat penggulung atau lekukan yang menutup tabung,
yang juga akan mengikat tubuh cairan. Tubuh cairan ini kemudian diangkut, pada tekanan
lingkungan menuju outlet pompa. Peristaltic pump dapat terus berjalan, atau dapat
diindeks melalui revolusi parsial untuk memberikan jumlah yang lebih kecil dari cairan.
Peristaltic pump bekerja dengan tekanan dan perpindahan. Hal ini digunakan
terutama untuk pompa cairan melalui tabung, yang membedakan dari pompa lain yaitu di
mana bagian dari pompa lain benar-benar masuk ke dalam bersentuhan langsung dengan
cairan. Alat ini merupakan salah satu alat yang paling umum digunakan untuk memompa
cairan. Karena mekanisme kerja peristaltic pump tidak pernah bersentuhan langsung
dengan cairan, sehingga alat ini sangat bermanfaat terutama dalam situasi dimana cairan
steril diperlukan. Berikut ini adalah cara kerja dari peristaltic pump ditunjukan pada
gambar 2.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
Gambar 2.1. Mekanisme peristaltic pump
Peristaltic pump beroperasi dengan memungkinkan cairan manuju ke selang.
Cairan ini kemudian mengalir ke dalam casing pompa melalui selang. Baling-baling
dengan sejumlah kompres pengait tabung memaksa cairan melalui pompa dan
mengarahkannya ke tujuan akhir. Teknik ini dikenal sebagai peristaltik. [4]
2.2.
Reed Switch
Gambar 2.2. Reed Switch
Reed Switch adalah saklar yang bekerja berdasarkan ada tidaknya medan magnet.
Reed switch didalamnya terdapat 2 buah lempengan logam yang terdiri dari besi dan nikel
terlihat seperti gambar 2.2 Secara umum kondisi awal pada reed switch ini adalah normally
open. Saat magnet didekatkan, maka kondisi yang terjadi adalah normally closed, dan
ketika magnet dijauhkan maka akan kembali menjadi normaly open. [5]
2.3.
Rotary Encoder
Rotary encoder adalah suatu perangkat elektromekanik yang digunakan untuk
mengkonversi perpindahan angular dari suatu poros menjadi kode-kode analog maupu
digital. Terdapat 2 jenis umum rotary encoder yaitu tipe absolute dan tipe incremental.
Absolute rotary encoder menghasilkan kode yang unik untuk tiap posisi sudut poros
tertentu., sedangkan incremental rotary encoder menghasilkan kode yang bias
diterjemahkan sebagai jarak perpindahan sudut relative terhadap posisi awal.
Incremental rotary encoder ditunjukan pada gambar 2.2 menerjemahkan putaran
poros encoder tersebut menjadi sinar cahaya terputus-putus yang selanjutnya diolah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
menjadi bentuk pulsa. Sinar cahaya putus-putus dihasilkan dari kontruksi gabungan
sumber cahaya, glass disk, dan photosensor. [6]
Gambar 2.3. Skema kontruksi bagian dalam Incremental rotary encoder
Sinyal tersebut kemudian diubah menggunakan Schmitt Trigger menjadi bentuk
pulsa ditunjukan pada gambar 2.4 berikut ini.
Gambar 2.4. Bentuk pulsa pada rotary encoder
Untuk menggunakan arah putaran clockwise maka bentuk pulsa berubah dari
kondisi high ke low, sedangkan untuk arah putaran counter clockwise maka bentuk pulsa
berubah dari kondisi low ke high. [7]
2.4.
Sensor Optocoupler
Sensor Optocoupler adalah suatu piranti yang terdiri dari 2 bagian yaitu
transmitter dan receiver, yaitu antara bagian cahaya dengan bagian deteksi sumber
cahaya terpisah ditunjukan pada gambar 2.5 Biasanya optocoupler digunakan sebagai
saklar elektrik, yang bekerja secara otomatis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Gambar 2.5. Sensor Optocoupler
Pada dasarnya sensor Optocoupler adalah suatu komponen penghubung (coupling)
yang bekerja berdasarkan picu cahaya optic. Optocoupler terdiri dari dua bagian yaitu:
1. Pada transmitter dibangun dari sebuah LED inframerah. Jika dibandingkan
dengan menggunakan LED biasa, LED infra merah memiliki ketahanan yang lebih
baik terhadap sinyal tampak. Cahaya yang dipancarkan oleh LED infra merah tidak
terlihat oleh mata telanjang.
2. Pada bagian receiver dibangun dengan dasar komponen phototransistor.
Phototransistor merupakan suatu transistor yang peka terhadap tenaga cahaya. Suatu
sumber cahaya menghasilkan energi panas, begitu pula dengan spektrum inframerah.
Karena inframerah mempunyai efek panas yang lebih besar dari cahaya tampak, maka
phototransistor lebih peka untuk menangkap radiasi dari sinar inframerah. [8]
Prinsip kerja dari optocoupler ditunjukan pada gambar 2.6 dibawah ini:
Gambar 2.6. Prinsip kerja optocoupler
1. Output1 akan berlogika LOW jika cahaya dari LED infra merah masuk ke
phototransistor, dan sebaliknya akan berlogika HIGH jika cahaya dari LED infra merah
terhalang ke phototransistor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2. Output2 akan berlogika HIGH jika cahaya dari LED infra merah masuk ke
phototransistor, dan sebaliknya akan berlogika LOW jika cahaya dari LED infra merah
terhalang ke phototransistor. [9]
2.5.
Motor DC
Motor DC merupakan jenis motor yang menggunakan tegangan searah sebagai
sumber tenaganya. Dengan memberikan beda tegangan pada kedua terminal tersebut,
motor akan berputar pada satu arah, dan bila polaritas dari tegangan tersebut dibalik maka
arah putaran motor akan terbalik pula seperti pada gambar 2.7. Polaritas dari tegangan
yang diberikan pada dua terminal menentukan arah putaran motor sedangkan besar dari
beda tegangan pada kedua terminal menentukan kecepatan motor.
Gambar 2.7. Motor DC
Konstruksi motor DC pada gambar 2.7. memiliki 2 bagian dasar,yaitu:
1. Bagian yang tetap/stasioner yang disebut stator. Stator ini menghasilkan medan
magnet, baik yang dibangkitkan dari sebuah koil (elektro magnet) ataupun magnet
permanen.
2. Bagian yang berputar disebut rotor. Rotor ini berupa sebuah koil dimana arus
listrik mengalir. Gaya elektromagnet pada motor DC timbul saat ada arus yang mengalir
pada penghantar yang berada dalam medan magnet. Medan magnet itu sendiri ditimbulkan
oleh megnet permanen. Garis-garis gaya magnet mengalir diantara dua kutub magnet dari
kutub utara ke kutub selatan. Menurut hukum gaya Lourentz, arus yang mengalir pada
penghantar yang terletak dalam medan magnet akan menimbulkan gaya. Gaya F, timbul
tergantung pada arah arus I, dan arah medan magnet B.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Pengendali arus-searah banyak digunakan dalam industri karena kecepatan
variabel, regulasi kecepatan yang baik, pengereman, dan kemampuan pembalikannya.
Sebagian besar pengendali arus searah menggunakan metode kontrol tegangan jangkar dan
kontrol fluksi medan, untuk mencapai regulasi kecepatan, masing-masing di bawah
kecepatan nominal (rated speed) dan di atas kecepatan nominal. Dalam kedua kasus,
konverter atau penyearah yang setengah terkontrol atau terkontrol sepenuhnya digunakan
untuk mencapai tegangan searah variabel, dari tegangan bolak-balik, untuk mensuplai ke
tegangan jangkar. [10]
2.6.
Arduino Mega 2560
Arduino Mega memiliki 54 digital pin input / output (14 diantaranya dapat
digunakan sebagai output PWM), 16 analog input, 4 UART (hardware port serial), osilator
kristal 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Seperti pada
gambar 2.8 merupakan contoh board Arduino Mega 2560.
Gambar 2.8. Board Arduino Mega 2560
Berikut ini adalah konfigurasi dari Arduino Mega 2560 :
a. Mikronkontroler ATmega2560
b. Beroperasi pada tegangan 5V
c. Tegangan input yang direkomendasikan 7 - 12V
d. Pin digital input/output 54 , 14 diantaranya mendukung output PWM
e. Pin analog input 16
f. Arus pin per input/output 20 mA
g. Arus untuk pin 3.3V adalah 50 mA
h. Flash Memory 256KB, dimana 8 KB digunakan oleh bootloader
i. SRAM 8 KB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
j. EEPROM 4KB
k. Kecepatan clock 16 MHz
l. SRAM 2 KB (ATmega328)
m. EEPROM 1KB (ATmega328)
n. Kecepatan clock 16 MHz
Pada tabel 2.1. merupakan tabel perbedaan ukuran dan jenis memory pada arduino:
Tabel 2.1. Ukuran dan Jenis Memory pada Arduino
Mikrokontroler
Memori Flash (byte)
SRAM (byte)
EEPEROM (byte)
ATmega168
16K
1K
512
ATmega328
32K
2K
1K
ATmega1280
128K
8K
4K
ATmega2560
256K
8K
4K
Memori flash, atau flash ROM (Read Only Memory) adalah tipe memori yang
digunakan untuk menyimpan program. Program atau koding yang dibuat akan disimpan
disini. Oleh karena itu, memori flash juga dikenal sebagai program ROM atau code ROM.
Algoritma-algoritma yang kita buat dalam program, misalnya if..else, for, while, operasi
aritmatika, dan sebagainya akan disimpan di dalam ROM. Memori dalam ROM tidak akan
hilang bila daya ke papan Arduino ditiadakan (nonvolatile).
Memori SRAM (Static Random Access Memory) adalah tipe memori yang
digunakan untuk menyimpan data. Berbeda dengan ROM yang menyimpan program,
memori bertipe RAM ini digunakan untuk menyimpan data. Data dalam memori ini akan
hilang ketika daya ke mikrokontroler ditiadakan (volatile). Data disini misalnya saat
mendeklarasikan variabel tertentu atau array, atau data hasil penjumlahan dan
pengurangan, dan sebagainya.
Memori EEPROM (Electrically Erasable Programmable Read Only Memory),
adalah tipe nonvolatile memori yang digunakan untuk menyimpan data yang sifatnya tidak
sering dihapus, misalnya untuk menyimpan konfigurasi tertentu, password, atau data-data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
penting lainnya. Mikrokontroler Atmel dilengkapi sejumlah kecil ROM, dan dapat diakses
menggunakan EEPROM pada Arduino.
Komunikasi Serial adalah komunikasi dimana pengiriman data dilakukan per bit,
sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer yang
mampu mengirim 8 bit sekaligus dalam sekali detak.
Sebuah modul Arduino memiliki jenis komunikasi data serial yaitu serial asinkron
dan serial sinkron (I2C, TWI, dan SPI). Serial asinkron merupakan komunikasi serial yang
tidak memiliki jaluk clock sinkronisasi, sedangkan serial sinkron memiliki jalur clock. [11]
2.6.1 Komunikasi serial asinkron
Sebuah Arduino Mega memiliki 4 hardware serial berbentuk UART. Serial 0
UART pada Arduino Mega berada pada pin digital 0 (RX0) dan 1 (TX0). Serial 1 berada
pada pin digital 19 (RX1) dan 18 (TX1). Serial 2 berada pada pin digital 17 (RX2) dan 16
(RX2). Serta serial 3 berada pada pin digital 15 (RX3) dan 14 (RX3).
Level elektrikal data serial pada UART menggunakan level tegangan digital 0V
untuk logika “0” dan 5V untuk logika „„1‟‟ atau sering disebut TTL (Transistor-transistor
Logic). Jika pairing device komunikasi serial berada pada level yang sama (sama-sama
mikrokontroler) maka antar pin serial dapat dihubungkan langsung secara menyilang.
Sedangkan jika pairing device komunikasi serial berada pada level serial RS232 (misalnya
komputer) harus menggunakan konveter serial TTL ke RS232 untuk menyesuaikan
tegangan kedua device agar dapat berkomunikasi.
Berikut adalah ilustrasi komunikasi serial ditunjukan pada gambar 2.9 dan gambar
2.10 dibawah ini:
Gambar 2.9. Ilustrasi wiring komunikasi serial UART
Gambar 2.10. Ilustrasi wiring komunikasi serial
dengan level tegangan konverter TTL ke RS232 [12]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
2.6.2 Komunikasi serial sinkron
Komunikasi serial sinkron SPI (Serial Peripheral Interface) adalah komunikasi
data secara serial antara transmitter dan receiver. SPI memiliki 3 jalur kabel yaitu MISO
(Master In Slave Out), MOSI (Master Out Slave In), dan SCLK (Serial Clock). MOSI
merupakan jalur keluaran data dari master ke slave, sedangkan MISO kebalikannya.
Terdapat tambahan pin untuk mengaktifkan atau menonaktifkan perangkat slave SPI yang
dinamakan CS (Chip Select) atau SS (Slave Select). Pada gambar 2.11 dibawah ini
menunjukan cara kerjanya SPI.
Gambar 2.11. Ilustrasi cara kerja SPI [13]
2.6.3
Komunikasi Serial Sinkron I2C/IIC/TWI
Komunikasi RTC dengan Arduino Mega2560 menggunkan komunikasi serial
sinkron I2C/IIC/TWI. Pada Arduino Mega2560 menggunakan 2 kabel yaitu SDA(Serial
Data) dan SCL (Serial Clock). Letak pin SDA terletak pada pin digital 20 dan letak pin
SCL terletak pada pin digital 21. [14]
2.7.
Data Logger Shield
Data Logger Shield adalah modul tambahan yang berfungsi untuk menyimpan data
pada SDcard. Interface SDcard bekerja pada format FAT16(File Allowcation Table 16Bit) dan FAT32(File Allowcation Table 32-Bit). Berikut adalah tampilan Data Logger
Shield:
Gambar 2.12. Board Data Logger Shield
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Berikut adalah konfigurasi pada Data Logger Shield:
Gambar 2.13. Board Data Logger Shield beserta keterangannya
Keterangan pada gambar 2.13 adalah:
-
Top Left - Terdapat RTC yang memiliki chip, kristal, dan baterai cadangan.
-
Middle Left – Terdapat regulator 3.3V yang merupakan tegangan referensi
untuk menjalankan SDcard.
-
Top Middle – Slot adapter SDcard, apabila SDcard berupa MicroSD.
-
Top Right – LED yang berfungsi sebagai indikator, dan tombol reset untuk
merestart modul Arduino.
-
Middle – Sebuah Shifter yang berfungsi melindungi SDcard dari potensi sinyal
tegangan 5V pada Arduino.
-
3V – Tegangan referensi sebesar 3,3V pada regulator dan tersedia 50mA di
dalamnya.
-
SQ – Square Wave merupakan gelombang keluaran yang berasal dari RTC.
-
WP - Pad untuk mendeteksi apakah disk memory pada Sdcard terproteksi atau
tidak.
-
CD – Pad digunakan untuk mendeteksi Sdcard dengan cara menghubungkan
pin ini ke ground.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
-
CS - Chip Select, digunakan untuk memotong jejak pada pin 10 dikarena pada
pin ini bertentangan, dengan cara pad ini disolder dan dihubungkan ke pin
digital manapun, kemudian upload ulang software.
-
L2 dan L1 - Sebuah optional LED dengan menghubungkan ke pin digital dan
telah dilengkapi resistor 470 ohm dirangkai secara seri.
Data Logger Shield ini dilengkapi dengan RTC DS1307 yang akan terus
menjalankan waktu ketika Arduino dicabut karna dilengkapi dengan baterai. DS1307
adalah IC serial real time clock 8 pin dengan konsumsi daya rendah, menggunakan
format full binary coded decimal (BCD) pada pengaturan tanggal dan kalender serta
memiliki nonvolatile SRAM sebesar 56 byte. Alamat dan data dikirim secara serial melalui
2 jalur dan 2 arah. Jam dan tanggal dilengkapi dengan informasi detik, menit, jam, hari,
tanggal, bulan serta tahun. Setiap akhir bulan secara otomatis tanggal akan berubah sesuai
dengan tanggal pada bulan berikutnya, sama halnya dengan akhir tahun maka akan
berubah sesuai tahun yang baru. Jam dapat di set dengan format 24 jam atau 12 jam.
DS1307 menggunakan teknologi built-in power sense circuit yang dapat mengetahui
adanya kesalahan pada catu daya dan secara otomatis akan berubah menggunakan catu
daya pada baterai. [15]
Blok diagram internal DS1307 adalah:
Gambar 2.14. Blok Diagram RTC DS1307
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
1. X1 dan X2 adalah pembangkit pulsa yang terhubung dengan quart krtstal
32,768Khz sebagai internal circuit oscillator yang didesain dengan CL 12,5pF. X1
adalah osilator input yang terhubung langsung dengan kristal, sedang X2 adalah
keluaran dari osilator kristal internal.
2. Power Control merupakan catu daya yang mensuplay tegangan ke DS1307, Vcc
adalah daya luar sebesar 5V dan VBAT sebagai suplai input dengan 3V lithium Cell.
Tegangan baterei harus berada diantara
batasan minimum dan maksimum
pengoperasian. Baterei lithium 48mAh atau lebih dapat mempertahankan fungsi
RTC selama 10 tahun.
3. Serial Bus Interface And Address Register merupakan jalur data serial dan
pengalamatan register DS1307 dengan akses pulsa melalui SCL dan SDA. SCL
(Serial Clock) berfungsi sebagai clock input I2C dan digunakan untuk sinkronisasi
data serial. SDA (Serial Data) berfungsi sebagai data input/output untuk I2C serial,
baik SCL dan SDA masih memerlukan pull up eksternal.
4. Control Logic merupakan pengendali data-data yang dibaca ataupun ditulis melalui
SCL dan SDA dengan pewaktu dari osilator kristal.
5. Buffer (7 bytes) adalah penyangga sementara sebelum data diterima atau dikirim,
berkisar 7 bytes (7 x 8 bit) sebagai transit pengalamatan register 8 bit detik-menitjam-hari-tanggal-bulan-tahun.
6. Clock, Calender and Control Register atau CR berisi informasi clock dan kalender
serta register pengendali untuk mengontrol pengoperasian SQW/OUT.
2.7.1 RTC dan RAM Address Map
Register RTC berada dialamat 00h sampai 07h. Sedangkan register RAM dimulai
dari alamat 08h sampai 3Fh. Pada waktu multi byte access dan alamat pointer mencapai
3Fh, alamat pointer akan kembali ke 00h pada putaran kedua.
Informasi waktu dan kalender didapat dari membaca byte register. Inisialisasi
waktu dan tanggal dilakukan dengan write
pada byte register. Isi dari waktu dan tanggal menggunakan format
BCD(Binary Code Decimal). Pada bit 7 register 0 adalah bit clock halt (CH). Jika CH = 1
maka osilator akan disable sebaliknya akan mengaktifkan osilator. Pengalamatan bit dapat
dilihat pada tabel 2.2. berikut ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Tabel 2.2. Alamat bit pada RTC DS1307
DS1307 dapat menggunakan 2 mode, 12 jam (AM/PM) atau 24 jam. Bit 6 pada
register jam merupakan bit select dari mode 12 atau 24 jam. Jika bit 6 = 1 adalah mode 12
jam sedangkan bit 6 = 0 adalah mode 24 jam. Pada bit 5 merupakan pengaturan
bit AM/PM dengan logika 1 pada saat PM atau sebaliknya. Pada mode 24 jam , bit 5
adalah bit yang menyatakan detik dari jam 10.00 (20.00 – 23.00)
Register Kontrol digunakan untuk mengontrol operasi dari pin SQW/OUT dapat
dilihat pada tabel 2.3. berikut ini:
Tabel 2.3. Register kontrol
Keterangan:
1. OUT (Output control) adalah bit ini mengontrol level output dari pin
SQW/OUT ketika output square wave disable. Jika SQWE = 0, logika pada pin
SQW/OUT = 1, OUT = 1 dan jika pin SQW/OUT = 0 maka OUT = 0.
2. SQWE (Square Wave Enable) adalah bit tersebut ketika di set logika 1 maka
akan meng-enable output osilator. Frekuensi pada output square wave
bergantung pada nilai bit RS0 dan RS1. Dengan output square wave 1Hz,
update register-register clock terjadi pada kondisi falling edge pada square
wave.
3. RS (Rate Select) adalah Bit tersebut mengontrol frekuensi output square wave
ketika output square wave enable. [16]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
2.8.
Liquid Crystal Displays (LCD) 16x2
LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama. Display LCD ini memiliki 16 kolom
dan 2 baris karakter seperti pada gambar 2.15 berikut.
Gambar 2.15. LCD 16x2
Berikut adalah konfigurasi pin dari LCD 16x2 ditunjukan pada tabel 2.4. berikut:
Tabel 2.4. Konfigurasi pin LCD
Pin 4 (RS) pada LCD merupakan Register Selector yang berfungsi untuk memilih
Register Kontrol atau Register Data. Register kontrol digunakan untuk mengkonfigurasi
LCD. Register Data digunakan untuk menulis data karakter ke memori display LCD. Pin 5
(R/W) pada LCD digunakan untuk memilih aliran data apakah READ ataukah WRITE.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Karena kebanyakan fungsi hanya untuk membaca data dari LCD dan hanya perlu menulis
data saja ke LCD, maka kaki ini dihubungkan ke GND (WRITE). Pin 6 (ENABLE) pada
LCD digunakan untuk mengaktifkan LCD pada proses penulisan data ke Register Kontrol
dan Register Data LCD.
Menyambungkan LCD dengan Board Arduino:
a. Pin RS (kaki 4) di sambungkan dengan pin arduino digital pin 12
b. Pin E (kaki 6) di sambungkan dengan pin arduino digital pin 11
c. Pin D4 (kaki 11) di sambungkan dengan pin arduino digital pin 5
d. Pin D5 (kaki 12) di sambungkan dengan pin arduino digital pin 4
e. Pin D6 (kaki 13) di sambungkan dengan pin arduino digital pin 3
f. Pin D7 (kaki 14) di sambungkan dengan pin arduino digital pin 2
g. sambungkan potensio 10 KOhm ke +5v dan GND , dan Pin LCD 3 ke potensio
h. Pin 5 (R/W) ke Ground
2.8.1 Pengiriman data ke LCD
Pada modul LCD Terdapat 16 Buah pin yang digunakan untuk melakukan
komunikasi dengan mikrokontroler. Pin-pin tersebut diantaranya adalah pin VSS, VDD,
VO, RS, R/W, E, DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7, A, K.
Catudaya yang diberikan untuk LCD 16X2 adalah 5V. Kisaran toleransi catudaya
yang diijinkan agar LCD dapat beroperasi dengan baik adalah antara 4.5V hingga 5.5V.
Pemberian catudaya Yang tidak sesuai dengan batas toleransi yang telah ditentukan dapat
menimbulkan masalah pada LCD seperti kerusakan pada komponen LCD atau LCD tidak
dapat bekerja dengan semestinya.
Didalam modul LCD terdapat kontroler, kontroler tsb memiliki 2 buah register 8 bit
yaitu instruction register (IR) dan data register (DR)IR menyimpan kode Kode instruksi ,
Seperti
membersihkan
tampilan
dan
pergeseran
kursor,
dan
informasi
alamat untuk Display Data RAM (DD-RAM) dan Character Generator (CG-RAM). DR
menyimpan data sementara untuk ditulis atau dibaca dari DD-RAM atau CG-RAM. Ketika
informasi alamat ditulis ke IR, kemudian menyimpan data kedalam DR dari DD-RAM atau
CG-RAM. Dengan Menggunakan sinyal register selector (RS), kedua register dapat
dipilih. Modus operasi LCD ditunjukan pada tabel 2.5 berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Tabel 2.5. Modus operasi LCD
2.8.2
Register – register LCD
Register-register yang terdapat dalam LCD adalah sebagai berikut:
• IR (Instruction Register), digunakan untuk menentukan fungsi yang harus
dikerjakan oleh LCD serta pengalamatan DDRAM atau CGRAM.
• DR (Data Register), digunakan sebagai tempat data DDRAM atau CGRAM
yang akan dituliskan ke atau dibaca oleh komputer atau sistem minimum. Saat
dibaca, DR menyimpan data DDRAM Atau CGRAM, Setelah itu data alamat
berikutnya secara otomatis masuk ke DR. Pada Waktu menulis, cukup lakukan
inisialisasi DDRAM atau CGRAM, Kemudian untuk selanjutnya data dituliskan ke
DDRAM Atau CGRAM sejak alamat awal tersebut. BF (Busy Flag), Digunakan
untuk memberi tanda bahwa LCD Dalam keadaan siap atau sedang sibuk. Apabila
LCD sedang melakukan operasi internal, BF diset menjadi 1, sehingga tidak akan
menerima perintah dari luar. Jadi, BF Harus dicek apakah telah direset menjadi 0
ketika akan menulis LCD (memberi data Kepada LCD). Cara Untuk menulis LCD
adalah dengan mengeset RS menjadi 0 dan mengeset R/W menjadi 1.
• AC (Address Counter), digunakan untuk menunjuk alamat pada DDRAM atau
CGRAM dibaca atau ditulis, maka AC secara otomatis menunjukkan alamat
berikutnya. Alamat yang disimpan AC Dapat dibaca bersamaan dengan BF.
• DDRAM (Display Data Random Access Memory), Digunakan sebagai
tempat penyimpanan data (data storage) sebesar 80 byte. AC menunjukkan
alamat karakter yang sedang ditampilkan.
• CGROM (Character Generator Read Only Memory), Pada LCD Telah terdapat
ROM
Untuk
menyimpan
karakter-karakter
ASCII
(American
Standard
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Code
for
Interchange
Instruction), sehingga cukup memasukkan kode
ASCII untuk menampilkannya.
• CGRAM (Character Generator Random Access Memory), sebagai data storage
untuk merancang karakter yang dikehendaki. Untuk CGRAM terletak pada kode
ASCII Dari 00h sampai 0Fh, tetapi hanya delapan karakter yang disediakan.
Alamay CGRAM Hanya 6 bit, 3 Bit untuk mengatur tinggi karakter dan 3 bit tinggi
menjadi 3 bit rendah DDRAM yang menunjukkan karakter, sedangkan 3 bit rendah
sebagai posisi data. [17]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
BAB III
RANCANGAN PENELITIAN
Pada bab ini akan dijelaskan mengenai perancangan yang menyangkut pembuatan
prototype sistem akuisisi data pemakaian bahan bakar dan jarak yang ditempuh berbasis
arduino. Perancangan ini dimulai dari diagram alir sistem, perancangan konstruksi
hardware baik dari segi desain mekanik maupun elektrik, dan juga perancangan software.
3.1. Diagram Blok Sistem
Gambar 3.1. Diagram Blok Sistem
Diagram blok sistem penelitian pada gambar 3.1. menunjukkan urutan cara kerja
sistem secara keseluruhan. Sistem ini terdiri dari beberapa bagian diantaranya :
1. Arduino sebagai mikrokontroler berfungsi untuk memproses sistem kerja alat.
2. Potensiometer sebagai pedal gas berfungsi memberikan besaran nilai yang
akan menentukan kecepatan motor DC dan peristaltic pump.
3. Reed Switch sebagai sensor untuk masukan data ke mikrokontroler.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
4. Driver Motor sebagai pengatur kecepatan motor.
5. Motor DC sebagai penggerak rotary encoder.
6. Rotary Encoder digunakan untuk mengkonversi perpindahan angular dari
suatu poros menjadi kode-kode analag maupu digital.
7. Optocoupler adalah suatu sensor yang akan memberikan masukan data ke
mikrokontroler.
8. Push button sebagai tombol untuk memberikan perintah atau instruksi.
9. LCD sebagai penampil.
10. Data logger shield berfungsi sebagai mikrokontroler tambahan.
11. SD Card sebagai media penyimpan file.
Potensiometer sebagai pedal gas, ketika ditekan akan memberikan nilai tegangan
yang akan berpengaruh ke motor pada peristaltic pump. Nilai tegangan semakin besar
maka putaran motor semakin cepat dan aliran air pada selang akan terpompa secara cepat
pula. Terdapat sebuah reed switch pada peristaltic pump sebagai masukan data ke
mikrokontroler.
Driver motor dc sebagai pengatur kecepatan motor DC. Motor DC pada prototype
ini akan menggerakan rotary encoder sebagai roda sekaligus digunakan untuk
mengkonversi perpindahan angular dari suatu poros menjadi kode-kode analag maupun
digital. Kode tersebut sebagai masukan dari sensor optocoupler. Sensor ini terdiri dari 2
bagian yaitu transmitter dan receiver yang memberi masukan data ke arduino.
Tombol dalam rancangan ini menggunakan push button sebagai suatu perintah pada
menu progam yang akan di tampilkan ke LCD (Liquid Crystal Display). Indikator menu
progam akan ditampilkan ke LCD untuk mempermudah penjelasan alir sistem.
Data Logger shield merupakan suatu modul tambahan yang akan saling
berkomunikasi dengan arduino. Data logger shield akan mengkonversi data dari arduino
untuk diolah ke bentuk file dengan format ekstensi text document (*.txt) dan di dalam data
logger shield terdapat RTC (Real Time Clock) yang digunakan untuk pemberi keterangan
waktu. File akan disimpan ke SD Card sebagai media penyimpanan.
3.2.
Perancangan Hardware Mekanik
Hardware menjadi salah satu bagian penting untuk membangun suatu prototype agar
semua sistem dapat bekerja dengan baik. Pada penelitian ini, hardware dibagi dalam dua
kategori, yaitu perancangan hardware mekanik dan perancangan hardware elektrik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
3.2.1 Kontruksi tampungan cairan dan peristaltic pump.
Kontruksi tampungan cairan disertai peristaltic pump ditunjukan pada gambar 3.2.
dibawah ini:
Gambar 3.2. Tampungan cairan disertai dengan peristaltic pump
Tampungan cairan berbentuk kubus disertai dengan peristaltic pump untuk
memompa cairan dan terdapat sebuah reed switch sebagai sensor untuk menghitung
konsumsi cairan. Terdapat pula sebuah gelas ukur untuk mencocokan hasil data yang
diukur melalui peristaltic pump.
Pada perancangan ini terdapat 2 buah kondisi yaitu kondisi stasioner, dan kondisi
dinamis. Mesin pada kondisi dinamis maupun dalam keadaan stasioner, perhitungan nilai
konsumsi cairan akan tetap menghitung banyak konsumsi cairan. Berbeda dengan
perancangan perhitungan jarak, saat kondisi stasioner nilai jarak tempuh tidak terhitung.
Sebuah pedal gas semakin ditekan maka aliran cairan yang keluar akan semakin
banyak. Dalam hal ini reed switch di bagian casing motor pada peristaltic pump digunakan
sebagai inputan data counter ke mikrokontroler.
Banyaknya konsumsi cairan diukur melalui putaran baling-baling pada peristaltic
pump. Satu putaran baling-baling mengaktifkan 3 satuan volume. Pengukuran cairan
dilakukan dengan mengukur pulsa pada reed switch.
Bentuk dan ukuran dimensi peristaltic pump ditunjukan pada gambar 3.3 dan
gambar 3.4:
Gambar 3.3. Bentuk dan ukuran dimensi peristaltic pump
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 3.4. Peristaltic Pump dilihat dari dimensi berbeda
Bentuk pulsa reed switch dan gambar 1 satuan volume ditunjukan pada gambar 3.3
dibawah ini:
Gambar 3.5. Bentuk pulsa pada reed switch dan 1 satuan volume pada peristaltic pump
3.2.2
Perancangan Pengukuran Jarak yang Ditempuh
Pada perancangan ini ketika mesin pada kondisi stasioner, motor DC tetap berputar
namun optocoupler tidak aktif sehingga tidak menghitung jarak tempuh. Berbeda saat
kondisi dinamis, motor DC berputar dan optocoupler aktif sehingga menghitung jarak
tempuh. Terdapat sebuah tombol yang digunakan untuk merubah dari kondisi mesin
stasioner ke kondisi dinamis. Sebelum tombol itu ditekan maka mesin akan dalam kondisi
stasioner.
Pada gambar 3.6 menunjukan sebuah prototype pedal gas yang dilengkapi sebuah
pedal rem. Pedal gas menggunakan sebuah potensiometer untuk menggerakan putaran
motor DC. Motor DC terhubung secara mekanik dengan sebuah rotary encoder yang
memiliki jari-jari 15,9cm. Rotary encoder memiliki 10 lubang yang berfungsi inputan data
untuk sensor optocoupler. Rotary encoder terbuat dari material almunium dan pedal rem
dilengkapi dengan sebuah magnet. Rotary encoder yang berputar dapat berhenti dengan
menekan pedal rem karena putaran almunium pada rotary encoder dapat berhenti oleh
medan magnet pada pedal rem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Gambar 3.6. Prototype pedal gas dan rem
Sensor optocoupler saat kondisi stasioner sensor dalam keadaan tidak aktif. Saat
kondisi dinamis sensor optocoupler akan aktif. Aktif dan tidaknya dengan menonaktifkan
digital input pada arduino. Pin yang terhubung adalah PD7/T0 (pin 38) pada arduino,
dengan memprogam pada arduino dengan memberi kondisi LOW.
Pada gambar 3.7 merupakan bentuk rotary encoder dan pola keluaran pulsa pada
rotary encoder.
Gambar 3.7. Bentuk dan pola keluaran pulsa pada rotary encoder
Untuk menghitung panjang 1 lintasan putaran roda digunakan rumus keliling
lingkaran yaitu sebagai berikut:
Lintasan 1 putaran = 2 π r , dimana r=15,9cm
= 2 x 3,14 x 15,9cm
= 100 cm
Rotary encoder yang berfungsi mengkonversi perpindahan angular dari suatu poros
menjadi kode-kode analag maupun digital. Rotary encoder di sini memiliki 10 lubang. Itu
berarti 10 lubang mewakili 1 putaran roda (1 sampel) jadi menghitung banyaknya lintasan
roda dengan perkalian 1 lintasan putaran (100cm) dikalikan dengan banyak sampel yang
terjadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Kecepatan motor DC diatur dengan mengatur lebar PWM. Semakin lebar pulsanya
maka motor DC akan semakin cepat berputar. Lebar PWM dapat diatur menggunakan
sebuah potensiometer sebagai pedal gas.
Saat kondisi stasioner terdapat tegangan referensi pada ADC sebesar 0 - 0,5V. Saat
kondisi itu lebar PWM sebesar 10%. Kondisi dinamis terdapat tegangan pada referensi 0,6
– 5V. Berikut ini merupakan tabel kondisi saat stasioner dan dinamis.
Tabel 3.1. Hubungan kondisi mesin, sudut pedal gas, potensiometer, nilai
ADC, tegangan pada motor DC, dan PWM
No
Kondisi
Sudut pedal gas
Hambatan
Potensiometer
Nilai ADC
Tegangan
motor DC
PWM
(% duty cycle)
1.
Stasioner
45°
6,3k Ω
(63% x 10k Ω)
25,5
0,5V
10%
2.
3.
Dinamis
Dinamis
23°
0°
2,5k Ω
(25% x 10k Ω)
0kΩ
(0% x 10k Ω)
(
(
114,75
2,25V
(
45%
(
255
(
4,46V
100%
(
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3.3.
Perancangan Hardware Elektrik
Perancangan Hardware elektrik dibuat menyesuaikan dengan dimensi hardware
mekanik. Komponen penyusun hardware elektrik meliputi rangkaian skematik pada
peristaltic pump beserta motor DC, rangkaian driver motor, dan rangkaian LCD.
Rangkaian elektronik yang menyusun sistem prototype ini meliputi rangkaian-rangkaian
elektronika sebagai berikut :
3.3.1 Rangkaian Skematik pada Motor DC, driver motor, dan sensor optocoupler
Pada rangkaian skematik ini bertujuan mengatur kecepatan motor DC dan motor
pada peristaltic pump. Motor diatur melalui potensiometer sebagai pedal gas yang
terhubung dengan rangkaian driver motor. Sensor optocoupler yang terdiri dari sebuah
infrared dan phototransistor sebagai sensor untuk rotary encoder. Sebuah reed switch
berfungsi untuk perhitungan counter pada peristaltic pump. Rangkaian skematik dapat
dilihat pada gambar 3.8 dibawah ini:
Gambar 3.8. Rangkaian Skematik pada motor DC, driver motor, reed switch, dan sensor
optocoupler
Perancangan pada gambar 3.8 dapat diketahui konfigurasi pin driver motor dan
sensor pada Arduino. Pada driver motor berfungsi sebagai pengendali kecepatan motor
yang terhubung ke pin 34 dan pin 36. Kecepatan motor di atur dari potensiometer yang
terhubung pada pin 30. Sensor optocoupler yang terdiri dari sebuah infrared dan sebuah
photodioda terhubung pada pin 38. Sensor optocoupler aktif saat kondisi dinamis, aktif
dan tidaknya dengan memprogam pada mikrokntroler pada pin 38. Sebuah reed switch
terhubung ke pin 40 sebagai masukan data ke mikrokontroler. Konfigurasi pin ditunjukan
pada tabel 3.2. di bawah ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Tabel 3.2. Konfigurasi pin pada potensiometer dan reed switch
No.
Nama Komponen
Konfigurasi Pin
1.
Potensiometer
PC7/A15 (pin 30)
2.
Driver Motor DC
PC1/A9 (pin 36)
3.
Driver Motor
PC3/A11 (pin 34)
Peristaltic Pump
4.
Optocoupler
PD7/T0 (pin 38)
5.
Reed Switch
PGI/RD (pin 40)
3.3.2 Rangkaian Driver Motor
Pada rangkaian driver motor bertujuan untuk mengatur kecepatan motor dc.
Rangkaian ini dapat dilihat pada gambar 3.10 berikut ini:
Gambar 3.9. Rangkaian driver motor
Pada gambar 3.9 potensiometer berfungsi untuk mengatur level tegangan basis
transistor BFY51 yang dirangkai secara darlington dengan transistor TIP31. Besar
tegangan bias basis dikontrol dengan potensiometer 10KΩ.
Dari luar transistor Darlington nampak seperti transistor biasa dengan 3 buah
kutub: B (basis), C (Kolektor), dan E (Emitter). Dari segi tegangan listriknya, voltase baseemitter rangkaian ini juga lebih besar, dan secara umum merupakan jumlah dari kedua
tegangan masing-masing transistornya, hal ini dapat dilihat seperti gambar 3.10 berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 3.10. Tegangan bias pada rangkaian darlington
Tegangan Base Emitter dari rangkaian darlington adalah hasil jumlah dari kedua
transistor dapat dirumuskan sebagai berikut:
VBEtotal = VBE1 + VBE2...................................................................................(3.1)
1.5 Volt = 0.78 Volt + 0.72 Volt
Motor dapat bergerak berdasarkan tegangan bias basis yang dikeluarkan tegangan
tersebut. Dioda 1N4148 berfungsi sebagai pelindung transistor dari tegangan balik efek
induksi dari motor DC. Pada gambar 3.11 merupakan gambar rangkaian driver saat kondisi
stasioner.
Gambar 3.11. Kondisi stasioner pada driver motor
3.3.3 Rangkaian Tombol
Tombol yang digunakan dalam pembuatan prototype ini ada 3 seperti pada gambar
3.12. Tombol yang digunakan adalah 1 push button yang dihubungkan ke arduino dengan
konsep aktif high yang berfungsi sebagai tombol start dan tombol stasioner.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 3.12. Rangkaian skematik pada push button
Arus yang dapat masuk ke pin arduino adalah arus DC maksimal 40mA. Sehingga
untuk menentukan nilai dari resistor
minimal dapat dihitung menggunakan
persamaan:
.............................................................................................(3.2)
Pada rangkaian ini menggunakan resistor sebesar 10KΩ, sehingga arus yang
masuk ke pin arduino tidak terlalu besar yaitu sebesar 0,5mA. Rangkaian push button
menggunakan rangkaian pull down ditunjukan pada gambar 3.13 dibawah ini:
Gambar 3.13. Rangkaian Pull Down
Berikut ini adalah tabel konfigurasi pin pada push button ke Arduino Mega:
Tabel 3.3. Konfigurasi pin pada push button
No.
Nama Komponen
Konfigurasi Pin
1.
Push Button 1
PL6 (pin 43)
2.
Push Button 2
PL4/OC5B (pin 45)
Pada rangkaian tombol on/off, digunakan indikator LED sebagai penanda bahwa
rangkaian telah bekerja. Nilai resistor (R1) dapat diperoleh sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Dengan nilai tegangan output regulator sebesar 5VDC (VOUT), tegangan minimal
LED sebesar 1,6VDC (VMIN
LED)
dan arus minimal LED sebesar 10m
.
Berdasarkan perhitungan diperoleh nilai resistor (R1) sebesar 340Ω. Pada perancangan
indikator LED digunakan resistor (R1) sebesar 330Ω, sehingga diperoleh nilai arus
yang mengalir pada LED sebesar 10,3mA. LED akan menyala karena arus minimal
yang dibutuhkan LED adalah 10mA.
3.3.4 Rangkaian LCD
LCD yang digunakan pada perancangan gambar 3.14. menggunakan sistem
pengiriman 4-bit dan diperlukan 6 jalur data untuk komunikasi dengan sistem
mikrokontroler Atmega2560. Keenam jalur yang digunakan tersebut adalah :
1. Empat jalur data untuk mengirimkan data instruksi dari data karakter yang
akan ditampilkan. Keempat jalur tersebut adalah pin11 (DB4), pin12 (DB5),
pin13 (DB6), dan pin14 (DB7)
2. Dua jalur lainnya adalah pin4 (RS/Register Select) dan yang terakhir adalah
pin6 (Enable)
Gambar 3.14. Rangkaian skematik pada LCD ke Arduino
Maksimal arus LED pada LCD adalah 50mA ( datasheet ), sehingga untuk
menentukan nilai resistor dapat dihitung dengan menggunakan persamaan seperti di
bawah ini:
..........................................................................................(3.3)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Pada rangkaian ini menggunakan resistor sebesar 1KΩ. Dengan menggunakan
persamaan hukum ohm arus yang masuk ke pin mikrokontroler Atmega 2560 sebesar
5mA. Dengan demikian arus yang mengalir pada LED tidak terlalu besar, sehingga
dapat menghemat pemakaian baterai. Konfigurasi pin LCD ke Arduino Mega
ditunjukan pada tabel di bawah ini:
Tabel 3.4. Konfigurasi pin LCD ke Arduino
LCD
3.3.
Arduino
Pin 1 (GND)
Ground
Pin 2 (VCC)
Tegangan +5V
Pin 3 (Vo)
Resistor 1K ke +5V
Pin 4 (RS)
PG0/WR (pin 41)
Pin 6 (E)
PG2/ALE (pin 39)
Pin 11 (DB4)
PC0/A8 (pin 37)
Pin 12 (DB5)
PC2/A10 (pin 35)
Pin 13 (DB6)
PC4/A12 (pin 33)
Pin 14 (DB7)
PC6/A14 (pin 31)
Pin 15 (Anoda)
Tegangan +5V
Pin 16 (Katoda)
Ground
Perancangan Software
Perancangan software dalam prototype ini merupakan perintah yang akan
diproses oleh mikrokontroler untuk mengatur sistem kerja prototype secara keseluruhan.
Software meghasilkan tampilan berbagai menu ke LCD ketika saklar utama dinyalakan.
Saat kondisi seperti ini berarti mesin dalam kondisi stasioner. Perhitungan konsumsi akan
aktif tetapi perhitugan jarak tidak aktif. Terdapat sebuah push button untuk mengganti dari
kondisi stasioner ke kondisi normal, yaitu dengan perhitungan konsumsi cairan dan jarak
tempuh semua berjalan. Terdapat sebuah tampilan pada LCD ditunjukan pada gambar
dibawah ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Gambar 3.15. Tampilan Menu Utama
Terdapat informasi pada LCD berupa time, fuel dan distance. Time berupa
informasi waktu dalan satuan detik, fuel merupakan informasi banyaknya konsumsi cairan
dalam satuan liter, dan distance adalah informasi jarak tempuh dalam satuan kilometer.
3.4.1 Diagram Alir Program
Diagram alir program dapat dilihat pada gambar 3.16. Program diawali dengan
menghidupkan saklar utama terlebih dahulu, setelah saklar dalam posisi on maka hal yang
pertama adalah masuk ke kondisi stasioner. Saat kondisi ini, tampilan LCD akan
menampilkan seperti gambar 3.15, tetapi perhitungan jarak tempuh tidak aktif.
Apabila tombol push button ditekan, maka tampilan LCD tetap sama akan tetapi
perhitungan jarak tempuh aktif. Data yang diketahui dapat berupa waktu dan seberapa
banyak nilai konsumsi cairan dan jarak tempuh yang sudah dikonversi.
Sistem akan menyimpan data setelah dikonversi dan otomatis akan disimpan di
SDcard. Apabila saklar utama pada kondisi off, sistem pada kondisi off dan data disimpan
saat kondisi terakhir. Flowchart diagram alir ditunjukan pada gambar 3.16, gambar 3.17,
dan gambar 3.18 berikut ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.4.2. Flowchart Sistem Keseluruhan
Gambar 3.16. Flowchart Sistem Keseluruhan
Diagram alir progam sistem secara keseluruhan diawali dengan membaca data
saklar, setelah tombol saklar ditekan, maka motor DC dan motor peristaltic pump aktif
dalam kondisi stasioner. Pada saat kondisi stasioner perhitungan konsumsi BBM aktif,
tetapi perhitungan jarak tempuh belum aktif. Setelah itu, baca data tombol push button, dan
pada saat tombol push button ditekan berarti langsung membaca nilai potensiometer
sebagai pedal gas. Konversi nilai potensiometer, menggunakan ADC 8-bit dengan nilai
maksimal 255 dan tegangan referensi maksimal 5V. Pengaturan PWM dengan 100% duty
cycle berdasarkan tegangan referensi 5V. Sesudah PWM diatur masuk ke perhitungan
jarak tempuh. Saat nilai potensiometer lebih dari set point yang ditentukan maka alur
progam akan kembali berulang untuk membaca nilai potensiometer. Apabila nilai
potensiometer kurang dari set point maka akan mematikan optocoupler. Sensor
optocoupler bisa aktif dan tidaknya dengan memprogam pada mikrokontroler.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
3.4.3. Flowchart Perhitungan Konsumsi BBM
Gambar 3.17. Flowchart Sistem Perhitungan Konsumsi Bahan Bakar
Diagram alir progam perhitungan konsumsi bahan bakar diawali dengan
mengaktifkan counter pada peristaltic pump. Selanjutnya, membaca data satuan volume,
apabila sudah 1 satuan volume maka counter reed switch +1. Konversi nilai konsumsi
bahan bakar dengan menghitung banyak pulsa reed switch dikalikan 1 satuan volume.
Setelah data dikonversi, data disimpan ke SDcard dan ditampilkan ke LCD.
3.4.4. Flowchart Perhitungan Jarak
Gambar 3.18. Flowchart Sistem Perhitungan Jarak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Diagram alir progam perhitungan jarak tempuh diawali dengan mengaktifkan
counter sensor optocoupler. Selanjutnya, membaca data counter pada rotary encoder,
apabila sudah 10 counter maka counter rotary encoder +1. Konversi nilai jarak tempuh
dengan menghitung banyak pulsa optocoupler dikalikan keliling lingkaran roda . Setelah
data dikonversi, data disimpan ke SDcard dan ditampilkan ke LCD.
3.4.5. Informasi yang akan disimpan pada SDcard
Informasi yang akan di simpan di SDcard dapat berupa waktu, seberapa besar
konsumsi bahan bakar dan panjang jarak. Informasi pada waktu dapat berupa tanggal,
bulan, tahun, jam, menit, dan detik. Informasi konsumsi bahan bakar yang telah
dikonsumsi isinya adalah total cairan yang keluar dalam satuan mililiter (ml). Informasi
panjang jarak lintasan didalamnya terdapat total panjang yang terjadi dalam satuan
milimeter (mm). Contoh tampilan file.txt yang di simpan di SDcard ditunjukan seperti pada
gambar 3.20. di bawah ini:
Gambar 3.19. Tampilan file text yang disimpan pada SDcard
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
BAB IV
HASIL DAN PEMBAHASAN
Hasil implementasi alat beserta dengan pembahasan pada bab ini dibagi menjadi dua
bagian yaitu hasil perancangan pada hardware mekanik, hardware elektrik dan software.
Hasil implementasi perancangan Sistem Akuisisi Data Pemakaian Bahan Bakar dan Jarak
yang Ditempuh Berbasis Arduino ini secara keseluruhan sudah sesuai dengan perancangan
pada BAB III.
4.1. Hasil Perancangan Hardware Mekanik
Hasil Perancangan hardware mekanik Sistem Akuisisi Data Pemakaian Bahan Bakar
dan Jarak yang Ditempuh Berbasis Arduino ini terdiri atas beberapa bagian, diantaranya
adalah kontruksi tampungan cairan, peristaltic pump, prototype pedal gas dan rem. Gambar
4.1. merupakan hasil dari perancangan kontruksi tampungan cairan dan peristaltic pump.
Keterangan dan fungsi dari masing-masing bagian dapat dilihat pada tabel 4.1.
4.1.1. Hardware Mekanik Tampungan Cairan dan Peristaltic Pump
4
5
6
1
3
2
1
7
Gambar 4.1. Hasil Perancangan Hardware Mekanik tampungan cairan dan peristaltic pump
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tabel 4.1. Bagian dari Hardware Mekanik tampungan cairan dan peristaltic pump
No
Nama
Fungsi
1
Gelas Ukur
Mengukur volume cairan
2
Selang
Pengalir cairan
3
Bearing
Part untuk mendorong cairan
4
Sprocket
Transmisi penggerak
5
Rantai
Penghubung kedua sprocket
6
Reed Switch
Sensor magnet untuk menghitung satuan cairan
7
Motor DC
Penggerak transmisi
Terdapat perubahan pada perancangan desain peristaltic pump yaitu menggunakan
rantai dan sprocket. Hal ini terjadi karena untuk mengurangi beban pada motor yang terlalu
berat. Terdapat error pada posisi reed switch maka harus diletakan secara tepat agar tidak
terjadi dua kali penghitungan dalam sekali satuan volume. Magnet harus diletakan secara
tepat agar terdeteksi oleh reed switch.
4.1.2. Hardware Mekanik Prototype Pedal Gas dan Rem
Gambar 4.2. merupakan hasil dari perancangan mekanik Prototype pedal gas dan rem.
Keterangan dan fungsi dari setiap bagian dapat dilihat pada tabel 4.2.
1
3
2
5
4
6
7
Gambar 4.2. Hasil Perancangan Hardware Mekanik Prototype pedal gas dan rem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Tabel 4.2. Bagian dari Hardware Mekanik Prototype pedal gas dan rem
No
Nama
Fungsi
1
Piringan Roda
Sebagai rotary encoder
2
Sprocket
Transmisi penggerak
3
Rantai
Penghubung kedua sprocket
4
Motor DC
Penggerak transmisi
5
Sensor phototransistor
Sensor untuk menghitung jarak tempuh
6
Magnet
Part untuk rem rotary encoder
7
Driver Motor
Rangkaian elektrik untuk mengendalikan motor DC
Pada bagian konstruksi ini terdapat perubahan sensor yang pada perancangan
menggunakan sensor optocoupler, namun pada kontruksi ini menggunakan sensor
phototransistor, yang mempunyai prinsip kerja sama karena roda tidak berputar secara
center. Begitupula desain roda ada sedikit perubahan dikarenakan roda ketika berputar tidak
secara konstan putarannya.
4.2. Hardware Elektrik
Gambar 4.3. merupakan hasil dari perancangan hardware elektrik. Keterangan dan
fungsi dari setiap bagian dapat dilihat pada tabel 4.3.
1
4
2
5
3
Gambar 4.3. Penampang Luar Hardware Elektrik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4.4. Rangkaian Driver Motor
Gambar 4.5. Data Logger Shield dan Arduino Mega 2560
Tabel 4.3. Bagian dari Hardware elektrik
No
Nama
Fungsi
1
LCD
Sebagai penampil hasil data
2
Tombol Reset
Tombol untuk reset data
3
Tombol Pindah Gigi
Tombol sebagai syarat perhitungan sensor
phototransistor
4
Tombol Start
Tombol untuk memulai sistem
5
Rangkaian Driver Motor
Rangkaian pengendali motor DC
6
Data Logger Shield
Modul untuk penyimpanan data ke SD Card
7
Arduino Mega 2560
Mikrokontroler pengendali sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Pada rangkaian hardware elektrik sudah berjalan sesuai rencana, hanya saja perlu tata
letak yang tepat agar terlihat lebih rapi. Terdapat 3 inputan tombol yaitu tombol start, tombol
gigi, dan reset. Data akan ditampilkan melalui LCD dan disimpan ke SD Card.
4.3. Hasil Pengujian
4.3.1. Pengujian Peristaltic Pump
Pada pengujian peristaltic pump, pengambilan data pada kondisi stasioner dan kondisi
dinamis. Saat tombol start ditekan perhitungan pada peristaltic pump akan langsung berjalan.
Banyaknya konsumsi cairan diukur melalui putaran baling-baling pada peristaltic
pump. Satu putaran baling-baling mengaktifkan 3 satuan volume (1 satuan volume cairan
±1,5ml). Berikut adalah tabel hasil uji 3 kali percobaan pengambilan data dengan waktu yang
sama yaitu 60 detik.
Tabel 4.4. Percobaan Konsumsi Cairan dengan Peristaltic Pump
Tegangan
Pada
Potensiometer
1V
(Stasioner)
2V
(Dinamis)
3V
(Dinamis)
4V
(Dinamis)
5V
(Dinamis)
Percobaan
ke -
I
II
III
I
II
III
I
II
III
I
II
III
I
II
III
Cairan Dalam
Perhitungan Teori
Tertampil
LCD (ml)
20
27
24
33
39
36
48
46
49
60
62
65
75
75
72
Ratarata
(ml)
24
36
48
62
71
Cairan Dalam
Perhitungan Real
Tertampil
Gelas
Ukur (ml)
20
26
25
32
38
37
49
45
48
61
61
63
73
76
75
Ratarata
(ml)
23
35
47
61
72
Presentase Error
Tiap
Percobaan
0%
3,70%
4,16%
3,03%
2,50%
2,77%
2,08%
2,17%
2,04%
1,66%
1,61%
3,07%
3%
1,33%
4,16%
Ratarata
2,62%
2,76%
2,09%
2,11%
2,83%
Dari tabel 4.4. diatas dapat disimpulkan semakin tinggi tegangan semakin banyak
cairan yang tertampil pada LCD dan pada gelas ukur pada setiap percobaan. Semakin tinggi
tegangan semakin banyak pula rata-rata cairan baik dalam perhitungan teori dan perhitungan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
real. Presentase error untuk tiap percobaan masih di bawah 5% dan untuk presentase error
rata-rata dibawah 3%. Tabel 4.4. dapat dibuat grafik output tegangan pada potensiometer
dengan konsumsi cairan ditunjukan pada gambar 4.6. dibawah ini:
Gambar 4.6. grafik output tegangan pada potensiometer dengan konsumsi cairan
tertampil LCD dan gelas ukur
Rumus mencari presentase error adalah:
....................(4.1)
Faktor yang menyebabkan terjadinya error, diantaranya adalah cairan dalam selang
saat proses memompa yang tidak maksimal kinerjanya, desain pada peristaltic pump yang
tidak stabil, dan kecepatan motor DC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
4.3.2. Pengujian Prototype Pedal Gas dan Rem
Pada perancangan ini terdapat 2 buah kondisi yaitu kondisi stasioner, dan kondisi
dinamis. Mesin hanya akan melakukan perhitungan nilai jarak tempuh saat kondisi dinamis.
Motor hanya berputar dan tidak melakukan perhitungan jarak tempuh saat kondisi stasioner.
Jarak tempuh diukur melalui sensor phototransistor pada lingkaran roda yang
terdapat 10 lubang. Satu putaran lingkaran roda mengaktifkan 10 satuan jarak (1 satuan jarak
± 4,5 mm). Berikut adalah tabel hasil uji 3 kali percobaan pengambilan data dengan waktu
yang sama yaitu 60 detik.
Tabel 4.5. Percobaan Prototype Pedal Gas
Tegangan Pada
Potensiometer
Percobaan
ke -
1 V (Stasioner)
II
III
I
I
2 V (Dinamis)
II
III
I
3 V (Dinamis)
II
III
I
4 V (Dinamis)
II
III
I
5 V (Dinamis)
II
III
Jarak Tempuh Perhitungan Teori
Tertampil LCD
(mm)
0
0
0
1022
1027
1024
1125
1121
1126
1224
1244
1219
1273
1296
1260
Rata-rata (mm)
0
1024 ± 3
1124 ± 3
1229 ± 13
1276 ± 18
Dari tabel diatas dapat disimpulkan semakin tinggi tegangan semakin banyak jarak
tempuh tertampil pada LCD dan jarak tempuh rata-rata. Pada tegangan 1 V menunjukan nilai
nol karena saat kondisi stasioner sistem tidak menghitung jarak tempuh. Pada saat kondisi
stasioner yaitu potensiometer pada tegangan 1V diperkirakan kondisi tersebut masih pada
keadaan transien yaitu kondisi awal pada sistem yang baru dimulai. Berbeda dengan saat
kondisi dinamis yaitu potensiometer pada tegangan ±2-5V kondisi tersebut sudah pada
keadaan steady state, kondisi ini sudah mulai konstan. Ketidaktepatan data dalam percobaan
I,II,dan III dikarenakan oleh pengaruh kondisi rotary encoder yang tidak stabil ketika
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
berputar dan pembacaan sensor yang terkadang tidak konstan. Tabel 4.5. dapat dibuat grafik
output tegangan pada potensiometer dengan konsumsi cairan ditunjukan pada gambar 4.7.
Jarak Tempuh Rata-rata
(mm)
dan grafik ketidaktepatan data mulai dari 2V-5V ditunjukan pada gambar 4.8. dibawah ini:
Grafik Output Tegangan Pada Potensiometer Dengan Jarak
Tempuh
Y
1600
1400
1200
1000
800
600
400
200
0
X
0
2
4
Tegangan Pada Potensiometer (V)
6
Gambar 4.7. Grafik output tegangan pada potensiometer dengan jarak tempuh
Pengujian pada pedal rem dapat dilihat pada gambar 4.8. di bawah ini:
1
2
Gambar 4.8. Prototype pedal rem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Tabel 4.6. Bagian part pada prototype pedal rem
No
Nama
Fungsi
1
Plat Besi
Sebagai penampang untuk magnet sebagai media rem
2
Magnet
Part untuk media rem
Pengujian pedal rem masih belum bisa sesuai harapan dikarenakan ketika motor DC
dalam aktif dan rotary encoder berputar dan pada saat itu juga pedal rem ditekan, magnet
hanya akan bergesekan dengan plat pada rotary encoder dan tidak ada hasil mengurangi
kecepatan pada motor DC. Berbeda kondisi dengan ketika motor DC dari aktif kemudian di
non aktifkan, percobaan yang diamati tidak ada space pada rotary encoder untuk berputar
untuk sepersekian detik, jadi ketika motor DC dinonaktifkan seketika itu juga rotary encoder
berhenti sehingga ketika pedal rem ditekan, kondisi rotary enoder sudah tidak berputar. Plat
dari material besi sebaiknya diganti dengan almunium sehingga ketika terkena magnet tidak
langsung melekat pada plat.
4.3.3. Pengujian Seluruh Sistem
Pengamatan Sistem Akuisisi Data Penggunaan Bahan Bakar dan Jarak Berbasis
Arduino dilakukan berdasarkan hasil pengujian dari keseluruhan sistem. Metode pengamatan
yang digunakan dalam pengujian keselurahan sistem ini sesuai dengan metodologi penelitian
yaitu merancang kontruksi hardware mekanik, hardware elektrik, perancangan software,
pengolahan data berupa penyajian data dalam bentuk grafik dan table.
Hasil cairan yang keluar dan jarak tempuh yang ditampilkan pada LCD dibandingkan
dengan tegangan pada potensiometer. Dari hasil perbandingan tersebut akan dilakukan
perhitungan tingkat eketifitas tegangan dengan konsumsi cairan dan jarak tempuh.
Berikut adalah tabel hasil uji 3 kali percobaan pengambilan data seluruh sistem
dengan waktu pengambilan data sama yaitu 60 detik:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Tabel 4.7. Percobaan Seluruh Sistem
Cairan Dalam
Perhitungan Teori
Tegangan
Percobaan
Pada
Ratake Tertampil
Potensiometer
rata
LCD (ml)
(ml)
I
27
II
1 V (Stasioner)
24
26
III
28
I
37
II
2 V (Dinamis)
36
38
III
40
I
48
II
3 V (Dinamis)
52
51
III
52
I
61
II
4 V (Dinamis)
63
62
III
63
I
78
II
5 V (Dinamis)
79
79
III
80
Jarak Tempuh
Perhitungan Teori
Tertampil
LCD
(mm)
0
0
0
1035
1022
1008
1125
1148
1098
1215
1246
1210
1282
1300
1255
Rata –
rata
(mm)
Tingkat
Efisiensi alat
(mm/ml)
0
0
1022
27
1124
22
1224
18
1279
16
Dari tabel diatas dapat disimpulkan tingkat efektifitas terjadi pada tegangan 2V
dengan nilai yaitu 27 mm/ml dengan konsumsi bahan bakar rata-rata 38 ml dan jarak tempuh
rata-rata 1022 mm. Semakin tinggi tegangan pada potensiometer maka tingkat efektifitas
semakin rendah. Rumus untuk mencari efektifitas tegangan dengan konsumsi cairan dan jarak
tempuh yaitu:
........................................(4.2)
Dari hasil data keseluruhan sistem, pengujian alat ini memiliki kelemahan pada saat
penggunaan peristaltic pump untuk transmisi gerak dari motor DC masih sering ada masalah,
kondisi selang dan bearing yang terkadang error dikarenakan licin pada selang. Sedangkan
pada perhitungan jarak tempuh keakuratan data pada kondisi stasioner masih dalam keadaan
transien yaitu kondisi awal dari sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
4.4. Analisa Perangkat Lunak
4.4.1. Inisialisasi
Inisialisasi pada sistem ini berisi tentang pendefinisian dari fungsi dan variabel yang
digunakan dalam proses pengoperasian data. Seperti pada bab perancangan pada diagram alir
program, bagian dari inisialisasi meliputi LCD, input, dan output baik digital maupun analog
yang digunakan. Listing program inisialisasi dari alat ini dapat dilihat seperti pada gambar
4.9. Sedangkan hasil implementasi tampilan pada LCD dapat dilihat pada gambar 4.10.
Gambar 4.9. Inisalisasi Program
Tampilan awal pada LCD ketika sistem berjalan akan menampilkan waktu, konsumsi
bahan bakar, dan jarak. Waktu setiap 1 menit akan mereset tampilan kembali ke angka 0 dan
memulai berjalan kembali. Berikut contoh tampilan pada LCD saat mulai pada perhitungan
ditunjukan pada gambar 4.10.
Gambar 4.10. Tampilan LCD awal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Nilai maksimal tampilan LCD untuk time adalah 60s, nilai maksimal untuk fuel
adalah 99 ml, dan nilai maksimal untuk distance adalah 9999 mm. Tampilan LCD akan
mereset kembali ke nilai nol ketika nilai maksimal tercapai. Keterbatasan sistem alat dalam
melakukan pengukuran jarak tempuh masih dalam satuan milimeter (mm) dan konsumsi
cairan masih dalam mililiter (ml).
File yang disimpan pada SD Card disimpan dalam bentuk .txt berjudul DATALOG,
berikut adalah isi file nya pada gambar 4.11.
Gambar 4.11. File yang disimpan pada SD Card
File DATALOG.txt yang tersimpan pada SD Card sudah memberi informasi secara
detail dengan adanya keterangan waktu yang berhubungan nilai jarak tempuh dan nilai
konsumsi cairan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
BAB V
KESIMPULAN DAN SARAN
5.1.
Kesimpulan
Setelah melakukan perancangan dan pengujian pada sistem akuisisi data penggunaan
bahan bakar dan jarak tempuh berbasis arduino. Peneliti dapat menarik kesimpulan sebagai
berikut :
1. Sistem alat mampu menghitung jarak tempuh (nilai per satuan ±4,5 mm) dan
konsumsi cairan (nilai per satuan ±1,5 ml) dapat berjalan dengan baik.
2. Keterbatasan sistem alat dalam melakukan pengukuran jarak tempuh masih dalam
satuan milimeter (mm) dan konsumsi cairan masih dalam mililiter (ml).
3. Nilai maksimal tampilan LCD untuk time adalah 60s, nilai maksimal untuk fuel
adalah 99 ml, dan nilai maksimal untuk distance adalah 9999 mm. Tampilan LCD
akan mereset kembali ke nilai nol ketika nilai maksimal tercapai.
4. Pengujian alat pada pengukuran konsumsi cairan sudah berjalan baik dengan hasil
presentase error untuk tiap percobaan di bawah 5% dan untuk presentase error ratarata dibawah 3%.
5. Ketidaktepatan data dalampengukuran jarak tempuh pada percobaan I, II, dan III
dikarenakan oleh pengaruh kondisi rotary encoder yang tidak stabil ketika berputar
dan pembacaan sensor yang terkadang tidak konstan.
6. Tingkat efektifitas keseluruhan sistem alat pada tegangan 2V dengan nilai yaitu 27
mm/ml. Semakin tinggi tegangan pada potensiometer maka tingkat efektifitas
semakin rendah.
7. File DATALOG.txt yang tersimpan pada SD Card sudah memberi informasi secara
detail dengan adanya keterangan waktu yang berhubungan nilai jarak tempuh dan
nilai konsumsi cairan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
5.2.
Saran
Penelitian ini dapat dikembangkan lebih lanjut guna meningkatkan kemampuan alat
tersebut dengan mempertimbangkan saran – saran berikut :
1. Kotak hitam yang berisi LCD dan tombol sebaikanya dirapikan dan disesuaikan
dengan tata letak yang tepat.
2. Kondisi Bearing dan selang harus disesuaikan supaya berjalan dengan baik dengan
desain pada peristaltic pump.
3. Rotary Encoder bisa dirubah lebih bagus dikarenakan kondisinya yang tidak stabil.
4. Keterbatasan tampilan LCD pada satuan milimeter dan mililiter sebaiknya bisa di
konversi ke satuan meter dan liter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
DAFTAR PUSTAKA
[1]
Pusat Data dan Informasi Energi dan Sumber Daya Mineral Kementerian Energi dan
Sumber Daya Mineral., 2012., SUPPLY DEMAND ENERGY.,Jakarta
[2]
Auginza, Aleya., 2014., AS Denda Hyundai/Kia Rp1,2 Miliar Karena Bohong,
http://www.rajamobil.com/berita/berita-mobil/2014/11/04/as-denda-hyundai-kia-rp1-2miliar-karena-bohong-14450.htm diakses pada 22 Agustus 2015
[3]
https://en.wikipedia.org/wiki/Rain_gauge diakses pada 22 Agustus 2015
[4]
Library
Binus.,
2011.,
REED
SWITCH.
http://library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-1-00714-sk%202.pdf,
halaman
14, diakses pada 22 Agustus 2015
[5]
Akhsa, Faqih., ROTARY ENCODER. http://digilib.itb.ac.id/files/disk1/641/jbptitbpp-gdlfaqihakhsa-32015-1-2008ta-r.pdf, halaman 14-15, diakses pada 22 Agustus 2015
[6]
Team Rig-Nitic,. 2015,. http://www.rignitc.com/encoder/ diakses pada 4 September 2015
[7]
Anonim,.
SENSOR
OPTOCOUPLER,
http://repository.usu.ac.id/bitstream/123456789/30066/4/Chapter%20II.pdf, halaman 1,
diakses pada 4 September 2015
[8]
Anonim,.
http://electronics.stackexchange.com/questions/126240/how-to-design-a-
power-switching-circuit-using-a-photo-interrupter, diakses pada 4 September 2015
[9]
Anonim,.
MOTOR
DC,
http://repository.usu.ac.id/bitstream/123456789/33904/4/Chapter%20II.pdf, halaman 1-2,
diakses pada 4 September 2015
[10]
Anonim,.
2015,.
ARDUINO
MEGA
2560,
https://www.arduino.cc/en/Main/arduinoBoardMega2560, diakses pada 22 Agustus 2015
[11]
Ajie,.
2015,.
http://saptaji.com/2015/07/16/menangani-komunikasi-serial-asinkron-di-
arduino/, diakses 3 September 2015
[12]
Ajie,. 2015,. http://saptaji.com/2015/07/29/menangani-komunikasi-serial-sinkron-spi-diarduino/, diakses 3 September 2015
[13]
Ajie,. 2015,. http://saptaji.com/2015/07/24/komunikasi-serial-sinkron-i2ciictwi-denganarduino/, diakses 3 September 2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
[14]
Earl, Bill.2013.Adafruit Data Logger Shield.Adafruit Learning System
[15]
Maxim Integrated ,. 2015,. DS1307 64 x 8, Serial, I2C Real-Time Clock.
[16]
Library
Binus,.
Liquid
Crystal
Display,.
http://library.binus.ac.id/eColls/eThesisdoc/Bab2HTML/2008200455SKBab2/page32.ht
ml, halaman 32-37, diakses pada 6 September 2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.1
Program Keseluruhan
1. #include <Wire.h>
2. #include <LiquidCrystal_I2C.h>
3. LiquidCrystal_I2C lcd(0x27, 16, 2);
4. #include <Wire.h>
5. #include <RTClib.h>
6. RTC_DS1307 rtc;
7. #include <SPI.h>
8. #include <SD.h>
9. const int chipSelect = 53;
10. const int SDdeleted = 37;
11. int stateST=0;
12. int stateGG=0;
13. const int readswitch = 47;
14. const int start = 31;
15. int buttonStateST = 0;
16. const int gigi = 33;
17. int buttonStateGG = 0;
18. int speedBBM = 255;
19. const int buttonPin = 35;
20. const int ledPin = 13;
21. int startstate = 0;
22. // Variables will change:
23. int buttonPushCounter = 0;
24. int buttonState = 0;
25. int lastButtonState = 0;
26. int buttonPushCounterRS = 0;
27. int buttonStateRS = 0;
28. int lastButtonStateRS = 0;
29. //int buttonPushCounterSD = 0;
30. int buttonStateSD = 0;
31. int lastButtonStateSD = 0;
32. int cntST = 0;
33. void setup() {
34. lcd.begin();
35. pinMode(42,OUTPUT);//led start
36. pinMode(43,OUTPUT);//led GG
37. pinMode(buttonPin, INPUT);
38. pinMode(SDdeleted, INPUT);
39. pinMode(start, INPUT);
40. pinMode(ledPin, OUTPUT);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.1
41. pinMode(A0, OUTPUT);
42. digitalWrite(A0, HIGH);
43. Serial.begin(115200);
44. Wire.begin();
45. rtc.begin();
46. rtc.adjust(DateTime(__DATE__, __TIME__));
47. while (!Serial) {
48. }
49. Serial.print("Initializing SD card...");
50. if (!SD.begin(chipSelect)) {
51. Serial.println("Card failed, or not present");
52. return;
53. }
54. Serial.println("card initialized.");
55. }
56. void loop() {
57. DateTime now = rtc.now();
58. int detik = now.second();
59. int menit = now.minute();
60. int jam = now.hour();
61. int hari = now.day();
62. int bulan = now.month();
63. int taun = now.year();
64. lcd.setCursor(0, 0); //baris 0 kolom 0
65. lcd.print("TIME FUEL DIST");
66. if (detik > 0 && detik <= 59) {
67. lcd.setCursor(0, 1);
68. lcd.print(detik);
69. } else {
70. lcd.setCursor(0, 1); //baris 0 kolom 1
71. lcd.print("0 "); //misal (" 0" mulai dari baris 2
72. }
73. buttonStateSD = digitalRead(SDdeleted);
74. buttonStateST = digitalRead(start);
75. buttonStateGG = digitalRead(gigi);
76. buttonStateRS = digitalRead(readswitch);
77. int sensorValue = analogRead(A15); //potensiometer
78. float speedmotor = sensorValue * (255 / 1023.0); //PWM motor
79. if (buttonStateSD == HIGH) { //proses menghapus file
80. SD.remove("datalog.txt");
81. digitalWrite(13, HIGH);
82. if (SD.exists("datalog.txt")) {
83.
Serial.println("file datalog.txt masih");
84. }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.1
85. else {
86.
Serial.println("file datalog.txt masih sudah dihapus.");
87.
lcd.clear();
88.
lcd.setCursor(0, 0);
89.
lcd.print("File SD dihapus");
90.
lcd.setCursor(0, 1);
91.
lcd.print("Auto Restart...");
92.
delay(3500);
93.
lcd.clear();
94.
digitalWrite(A0, LOW);
95. }
96. }
97. if (buttonStateST == HIGH) {
98.
stateST=stateST+1;
99.
delay(200);
100.
}
101.
if(stateST>1){
102.
stateST=0;
103.
digitalWrite(42,LOW);
104.
delay(200);
105.
} //laching tombol start
106.
if (stateST==1) {
107.
digitalWrite(42,HIGH);
108.
analogWrite(45, speedBBM);
109.
analogWrite(44, speedmotor);
110.
if (buttonStateRS != lastButtonStateRS) {
111.
if (buttonStateRS == HIGH) {
112.
buttonPushCounterRS++;
113.
if (buttonPushCounterRS > 1000) { //maksimal 1000
114.
buttonPushCounterRS = 0;
115.
lcd.setCursor(5, 1);
116.
lcd.print(" ");
117.
}
118.
tulisSD();
119.
} else {
}
delay(50);
120.
}
lastButtonStateRS = buttonStateRS;
121.
if (buttonStateGG == HIGH) {
122.
stateGG=stateGG+1; //laching
123.
digitalWrite(43,HIGH);
124.
delay(200);
125.
}
126.
if(stateGG>1){
127.
stateGG=0;
128.
digitalWrite(43,LOW);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.1
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
delay(200);
}
if (stateGG == 1) {
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
if (buttonState == LOW) {
buttonPushCounter++;
if (buttonPushCounter > 1000) {//maksimal 1000
buttonPushCounter = 0;
lcd.setCursor(10, 1);
lcd.print(" ");
}
tulisSD();
} else {
}
delay(50);
}
lastButtonState = buttonState;
}
} else {
analogWrite(44, 0);
analogWrite(45, 0);
}
}
void tulisSD() {
DateTime now = rtc.now();
int detik = now.second();
int menit = now.minute();
int jam = now.hour();
int hari = now.day();
int bulan = now.month();
int taun = now.year();
String dataString = "";
dataString += "FUEL : ";
dataString += String(buttonPushCounterRS);
dataString += " DISTANCE : ";
dataString += String(buttonPushCounter);
dataString += " TIME : ";
dataString += String(taun);
dataString += "/";
dataString += String(bulan);
dataString += "/";
dataString += String(hari);
dataString += " ";
dataString += String(jam);
dataString += ":";
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.1
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
dataString += String(menit);
dataString += ":";
dataString += String(detik);
lcd.setCursor(5, 1);
lcd.print(buttonPushCounterRS);
lcd.setCursor(10, 1);
lcd.print(buttonPushCounter);
File dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
Serial.println(dataString);
}
else {
Serial.println("error opening datalog.txt");
}
}
Download