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"); } }