Perancangan Viskometer Digital Berbasis Arduino Uno Untuk Mengukur Viskositas Cairan Dan Smartphone Android Sebagai Display

(1)

LAMPIRAN 1

Tampilan Alat

Gambar 1. Sistem Sensor didalam Kotak Hitam


(2)

(3)

LAMPIRAN 2

Tampilan aplikasi pada Android

Gambar 1. Tampilan awal aplikasi

Gambar 2. Tampilan menu

Gambar 3. Tampilan menu setting

Gambar 4. Tampilan edit jarak sensor


(4)

LAMPIRAN 3

Gambar 5. Tampilan setelah jarak sensor diatur

Gambar 6. Perhitungan viskositas gliserin

Gambar 7. Perhitungan


(5)

1 Program Untuk Modul Arduino

#include <Usb.h>

#include <AndroidAccessory.h>

//jenis paket yang akan dikirim #define perintah 0x1

#define targetTerima 0x2 #define comAtur 0x3 #define tarAtur 0x4 #define koma 0x5

AndroidAccessory acc("ajirdoank", "Vizcouz", "Vizcouz", "1.0",

"http://www.brainhover.blogspot.co.vu", "123456789");

//pin analog yang digunakan #define ldr1 2

#define ldr2 0

byte msg[6]; int xAmbang = 10; int yAmbang = 100;

int valLdr1; int valAkhirLdr1; int valLdr1Kirim; boolean valLdr1Picu;

int valLdr2; int valAkhirLdr2; int valLdr2Kirim; boolean valLdr2Picu;


(6)

float ubah1 = 0; float ubah2 = 0;

int waktuMulai = 0; int val;

void setup() {

reset();

Serial.begin(9600); acc.powerOn(); msg[0] = perintah; msg[1] = targetTerima; }

void reset() {

valLdr1 = 0; valAkhirLdr1 = 0; valLdr1Kirim = 0; valLdr1Picu = false;

valLdr2 = 0; valAkhirLdr2 = 0; valLdr2Kirim = 0; valLdr2Picu = false;

waktuMulai = 0; val = 0;

kirimData(); }

void cekLdr1() {

if(valLdr1Picu) {

return; }


(7)

//baca nilai ldr1;

valLdr1 = analogRead(ldr1);

//jika selisih prubahan ldr1 lebih besar dari nilai yAmbang; if(abs(valAkhirLdr1 - valLdr1) >= yAmbang)

{

//Serial.print("ldr1 = "); //Serial.print(valLdr1); valAkhirLdr1 = valLdr1; }

//jika nilai ldr1 yg skrang besar dari nilai awal ldr1; if(valAkhirLdr1 > valLdr1)

{

//hitung persentase perubahan nilai;

ubah1 = ((float)(valAkhirLdr1 - valLdr1) / (float)valLdr1) * 1000;

//nah jika nilai presentase perubahan tersebut lebih besar dari nilai xAmbang;

if(ubah1 > xAmbang) {

//Serial.print(" | ubah1 = "); //Serial.print(ubah1);

//mulai picu ldr1 dan mulai waktu timer; valLdr1Picu = true;

waktuMulai = millis(); }

}

//nilai ldr1 yg sekarang dikembalikan dengan nilai ldr1 yg terbaca;

valAkhirLdr1 = valLdr1; } void cekLdr2() { if(valLdr2Picu) { return;


(8)

}

//baca nilai ldr2;

valLdr2 = analogRead(ldr2);

//jika selisih prubahan ldr2 lebih besar dari nilai yAmbang; if(abs(valAkhirLdr2 - valLdr2) >= yAmbang)

{

//Serial.print(" ldr2 = "); //Serial.print(valLdr2); valAkhirLdr2 = valLdr2; }

//cek ldr2 hanya jika ldr1 udah terpicu; if(valLdr1Picu && valAkhirLdr2 > valLdr2) {

//hitung persentase perubahan dari ldr2;

ubah2 = ((float)(valAkhirLdr2 - valLdr2) / (float)valLdr2) * 2000;

//jika nilai ubah2 lebih besar daripada nilai xAmbang; if(ubah2 > xAmbang)

{

valLdr2Picu = true;

//Serial.print(" | ubah2 = "); //Serial.print(ubah2);

//Serial.print(" | "); //Serial.print("waktu = "); val = millis() - waktuMulai; kirimData();

//Serial.print(val); }

}

valAkhirLdr2 = valLdr2; }

void kirimData(){

if (acc.isConnected()){ msg[0] = perintah; msg[1] = targetTerima;


(9)

msg[2] = (byte) (val >> 24); msg[3] = (byte) (val >> 16); msg[4] = (byte) (val >> 8); msg[5] = (byte) (val); acc.write(msg, 6); delay(2);

} }

void atur(){

if (acc.isConnected()){

int len = acc.read(msg, sizeof(msg), 1); if(len > 0){

if(msg[0] == comAtur){ if(msg[1] == tarAtur){ byte titik = msg[2]; if(titik == koma){ reset();

} } } } }

delay(2); }

void loop() {

if(acc.isConnected()); cekLdr1();

cekLdr2(); atur(); delay(1); }

2 Program Untuk Aplikasi Android


(10)

2.1.1 main.xml

<?xml version="1.0" encoding="utf-8"?>

<!-- this script written by achmad muhajir @ajirdoank --> <RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:gravity="center_horizontal" tools:context=".Veloz" >

<TextView

android:id="@+id/viscText"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/LH1"

android:layout_centerHorizontal="true" android:layout_marginTop="95dp"

android:text="@string/viscV" android:textSize="16pt"

android:textAppearance="?android:attr/textAppearanceLarge" />

<GridLayout

android:id="@+id/LH4"

android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/viscText" android:layout_marginTop="111dp" android:columnCount="7"

android:orientation="horizontal" >

<Button

android:id="@+id/button1"


(11)

android:width="150dp" android:height="20dp" android:layout_column="6"

android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="15dp"

android:layout_row="0"

android:text="@string/rstButton" android:textSize="7pt" />

</GridLayout>

<GridLayout

android:id="@+id/LH1"

android:layout_width="400dp" android:layout_height="30dp"

android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="70dp"

android:columnCount="4"

android:orientation="horizontal" >

<TextView

android:id="@+id/textTime" android:layout_column="2"

android:layout_gravity="center_horizontal|left" android:layout_marginLeft="20dp"

android:layout_row="1"

android:text="@string/waktu"

android:textAppearance="?android:attr/textAppearanceMedium" android:textColorHint="@color/black"

android:textSize="8pt" />

<Space

android:layout_column="3"

android:layout_gravity="fill_vertical" android:layout_row="3" />


(12)

android:id="@+id/UnitTime" android:layout_column="2"

android:layout_gravity="center_horizontal|right" android:layout_marginRight="20dp"

android:layout_row="1"

android:text="@string/timeU" android:textSize="8pt" />

<TextView

android:id="@+id/timeVal" android:layout_column="2"

android:layout_gravity="center_horizontal|top" android:layout_marginLeft="25pt"

android:layout_row="1"

android:text="@string/timeV" android:textSize="8pt" /> </GridLayout>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/viscText" android:layout_centerHorizontal="true" android:text="@string/viscUnit"

android:textAppearance="?android:attr/textAppearanceMedium" />

<GridLayout

android:id="@+id/GridLayout01" android:layout_width="400dp" android:layout_height="30dp"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="40dp" android:columnCount="4"

android:orientation="horizontal" >

<TextView


(13)

android:layout_column="2"

android:layout_gravity="center_horizontal|left" android:layout_marginLeft="20dp" android:layout_row="1"

android:text="@string/jarakPisah"

android:textAppearance="?android:attr/textAppearanceMedium" android:textColorHint="@color/black"

android:textSize="8pt" />

<Space

android:layout_column="3"

android:layout_gravity="fill_vertical" android:layout_row="3" />

<TextView

android:id="@+id/TextView02" android:layout_column="2"

android:layout_gravity="center_horizontal|right" android:layout_marginRight="20dp"

android:layout_row="1"

android:text="@string/jarakSatuan" android:textSize="8pt" />

<TextView

android:id="@+id/SensSD" android:layout_column="2"

android:layout_gravity="center_horizontal|top" android:layout_marginLeft="25pt"

android:layout_row="1"

android:text="@string/jarakTx" android:textSize="8pt" /> </GridLayout>

</RelativeLayout>


(14)

<menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- this script written by achmad muhajir @ajirdoank -->

<item

android:id="@+id/aboutMe"

android:title="@string/about_me"/> <item

android:id="@+id/setting"

android:title="@string/setting"/> <item

android:id="@+id/instruct"

android:title="@string/instrux"/> <item

android:id="@+id/exit"

android:title="@string/extButton"/>

</menu>

2.2 Untuk Java Source Code 2.2.1 Ajirdoank/src/Veloz.java

package com.ajirdoank.velozity;

//script untuk menerima dan mengirimkan byte ke Arduino //ditulis oleh achmad muhajir

//@ajirdoank

import java.io.IOException; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.DecimalFormat; import com.ajirdoank.velozity.Prefs;

import android.os.Bundle;

import android.os.ParcelFileDescriptor; import android.preference.PreferenceManager; import android.app.Activity;


(15)

import android.app.PendingIntent;

import android.content.BroadcastReceiver; import android.content.Intent;

import android.content.IntentFilter; import android.content.Context;

import android.content.SharedPreferences; import android.util.Log;

import android.widget.Button; import android.widget.TextView; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View;

import android.view.View.OnClickListener;

import com.android.future.usb.UsbAccessory; import com.android.future.usb.UsbManager;

public class Veloz extends Activity { private static final String tag = Veloz.class.getSimpleName();

private PendingIntent mPermissionIntent;

private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION";

private boolean mPermissionRequestPending; private UsbManager mUsbManager;

private UsbAccessory mAccessory;

private ParcelFileDescriptor mFileDescriptor; private FileInputStream mInputStream;

private FileOutputStream mOutputStream;

private static final byte perintah = 0x1; private static final byte targetTerima = 0x2; private static final byte comAtur = 0x3; private static final byte tarAtur = 0x4; private static final byte koma = 0x5;


(16)

public double waktux, var1, BDy, BMy, LDy, SDy, TDy, GRy, visc, DB, CF;

@Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

mUsbManager = UsbManager.getInstance(this);

mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(

ACTION_USB_PERMISSION), 0); IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);

filter.addAction(UsbManager.ACTION_USB_ACCESSORY_DETACHED); registerReceiver(mUsbReceiver, filter);

setContentView(R.layout.main); SharedPreferences pengaturan =

PreferenceManager.getDefaultSharedPreferences(getBaseContext()); //ini bagian untuk setting variable

//bagian di preference yg uda dibuat dan dishare ke mainActivity

String BDx = pengaturan.getString("BD", "0"); String BMx = pengaturan.getString("BM", "0"); String LDx = pengaturan.getString("LD", "0"); String SDx = pengaturan.getString("SD", "0"); String TDx = pengaturan.getString("TD", "0"); String GRx = pengaturan.getString("GRV", "0");

//konversi

BDy = Double.valueOf(BDx); BMy = Double.valueOf(BMx); LDy = Double.valueOf(LDx); SDy = Double.valueOf(SDx); TDy = Double.valueOf(TDx); GRy = Double.valueOf(GRx);


(17)

DB = BMy/( (4.0 / 3.0 )*Math.PI*Math.pow(BDy/2.0, 3));

//variable tetap sebelum perhitungan viskositas

var1 = ( 2.0 / 9.0 )* GRy * Math.pow(BDy/2.0, 2)*(DB - LDy)/SDy;

//untuk faktor koreksi

CF = 1.0 - (2.104 * (BDy/TDy)) + (2.09 *

(Math.pow(BDy/TDy, 3))) - (0.95 * (Math.pow(BDy/TDy, 5)));

//pengaturan teks yang muncul pada mainActivity SenSD = (TextView)findViewById(R.id.SensSD); SenSD.setText(String.valueOf(SDy));

vizcouz = (TextView)findViewById(R.id.viscText); time = (TextView)findViewById(R.id.timeVal);

Button reset = (Button)findViewById(R.id.button1); reset.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub time.setText("0");

vizcouz.setText("0");

byte[] buffer = new byte[3]; buffer[0] = comAtur;

buffer[1] = tarAtur; buffer[2] = koma; try{

mOutputStream.write(buffer); }catch(IOException e){

Log.e(tag, "pesan tidak dikenal", e); }

} });


(18)

//cek broadcast data streaming yang masuk

private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) { String action = intent.getAction();

if (ACTION_USB_PERMISSION.equals(action)) { synchronized (this) {

//sinkron dan baca apa usb tersamsubung atau tidak

UsbAccessory accessory = UsbManager.getAccessory(intent); if

(intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {

openAccessory(accessory); } else {

Log.d(tag, "sambungan ditolak" + accessory); }

mPermissionRequestPending = false; }

} else if

(UsbManager.ACTION_USB_ACCESSORY_DETACHED.equals(action)) { //jika sambungan Usb dicabut

UsbAccessory accessory = UsbManager.getAccessory(intent); if (accessory != null && accessory.equals(mAccessory)) {

closeAccessory(); }

} } };

//ketika meresume aplikasi @Override

public void onResume(){ super.onResume();

if (mInputStream != null && mOutputStream != null) { return;

}


(19)

UsbAccessory accessory = (accessories == null ? null : accessories[0]);

if (accessory != null) {

if (mUsbManager.hasPermission(accessory)) { openAccessory(accessory);

} else {

synchronized (mUsbReceiver) { if (!mPermissionRequestPending) {

mUsbManager.requestPermission(accessory, mPermissionIntent); mPermissionRequestPending = true;

} }

} } else {

Log.d(tag, "android tak tersambung"); }

}

//ketika aplikasi dipause @Override

public void onPause(){ super.onPause();

closeAccessory(); }

//ketika data streaming tidak ada @Override

public void onDestroy(){ super.onDestroy();

unregisterReceiver(mUsbReceiver); }

//untuk menutup aplikasi

private void closeAccessory() { // TODO Auto-generated method stub

try{

if(mFileDescriptor != null){ mFileDescriptor.close(); }


(20)

}catch(IOException e){ }finally{

mFileDescriptor = null; mAccessory = null; }

}

//inisialisasi ketika USB di insert

private void openAccessory(UsbAccessory accessory) { // TODO Auto-generated method stub

mFileDescriptor = mUsbManager.openAccessory(accessory); if (mFileDescriptor != null){

mAccessory = accessory;

FileDescriptor fd = mFileDescriptor.getFileDescriptor(); mInputStream = new FileInputStream(fd);

mOutputStream = new FileOutputStream(fd);

Thread thread = new Thread(null, jalankan, tag); thread.start();

Log.d(tag, "handphone tersambung"); }else{

Log.d(tag, "sambungan gagal"); }

}

//proses penerimaan data straming via USB Runnable jalankan = new Runnable() { @Override

public void run() {

// TODO Auto-generated method stub int ret = 0;

final byte buffer[] = new byte[6]; while (ret >= 0){

try{

ret = mInputStream.read(buffer); }catch(IOException e){

break; }


(21)

case perintah:

if(buffer[1] == targetTerima){

final int waktu = ((buffer[2] & 0xFF) << 24) +((buffer[3] & 0xFF) << 16) + ((buffer[4] & 0xFF) << 8) + (buffer[5] & 0xFF);

if (waktu > 0){

runOnUiThread(new Runnable() { @Override

public void run() { //perhitungan viskositas

time.setText(String.valueOf(waktu)); waktux = Double.valueOf(waktu); //viskositas akhir

double x = var1 * waktux / 1000.0; //hasil akhir dari perhitungan vizcouz.setText(new DecimalFormat("###.####").format(x)); } }); } } break; default:

Log.d(tag, "no data found" + buffer[0]); break;

} }

} };

//script untuk menu option @Override

public boolean onCreateOptionsMenu(android.view.Menu menu) { // TODO Auto-generated method stub

super.onCreateOptionsMenu(menu);

MenuInflater muncul = getMenuInflater(); muncul.inflate(R.menu.veloz, menu); return true;


(22)

}

//script ketika item dari menu option dipilih @Override

public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub

switch(item.getItemId()){ case R.id.aboutMe:

Intent a = new Intent("com.ajirdoank.velozity.ABOUT"); startActivity(a);

return true; case R.id.setting:

Intent s = new Intent("com.ajirdoank.velozity.PREFS"); startActivity(s);

return true; case R.id.instruct:

Intent i = new Intent("com.ajirdoank.velozity.INSTR"); startActivity(i);

return true; case R.id.exit:

finish(); }

return false; }

// the end of this application from @ajirdoank }

2.2.2 Velozity/src/Prefs.java

package com.ajirdoank.velozity;

import android.os.Bundle;

import android.preference.PreferenceActivity;

public class Prefs extends PreferenceActivity{

@Override


(23)

// TODO Auto-generated method stub super.onCreate(savedInstanceState);

addPreferencesFromResource(R.xml.preferences); }

}

2.3 Untuk accessory_filter.xml

<?xml version="1.0" encoding="utf-8"?>

<!-- this script written by achmad muhajir @ajirdoank --> <resources>

<usb-accessory manufacturer="ajirdoank" model="Vizcouz" version="1.0" />

</resources>

2.4 Untuk preferences.xml

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen

xmlns:android="http://schemas.android.com/apk/res/android" >

<EditTextPreference

android:title="Ball Diameters (m)" android:key="BD"

android:inputType="numberDecimal" android:summary="input Ball diameter"> </EditTextPreference>

<EditTextPreference

android:title="Ball Mass (kg)" android:key="BM"

android:inputType="numberDecimal" android:summary="input Ball Mass"> </EditTextPreference>

<EditTextPreference

android:title="Liquid Density (kg/m3)" android:key="LD"


(24)

android:inputType="numberDecimal"

android:summary="input Liquid Density"> </EditTextPreference>

<EditTextPreference

android:title="Both Sensors Distance (m)" android:key="SD"

android:inputType="numberDecimal"

android:summary="input what distance both of sensor placed">

</EditTextPreference>

<EditTextPreference

android:title="Tube Diameters (m)" android:key="TD"

android:inputType="numberDecimal"

android:summary="input Tube Diameters"> </EditTextPreference>

<EditTextPreference

android:title="Gravitation (m/s2)" android:key="GRV"

android:inputType="numberDecimal"

android:summary="input Gravitation value"> </EditTextPreference>


(25)

DAFTAR PUSTAKA

Budianto, Anwar. 2008. Metode Penentuan Koefisien Kekentalan Zat Cair Dengan Menggunakan Regresi Linear Hukum Stokes. ISSN : 1978-0176 Sekolah Tinggi Teknologi Nuklir-BATAN.

DiMarzio, J.F. 2008. Android : A Programmers’s Guide. McGraw-Hill Compa-nies, Inc. : U.S.

Eirich, Frederick R. 1960. Rheology : Theory and Applications. Academic Press : New York.

Luecke, Gerald. 2005. Analog and Digital Circuits for Electronic Control System Applications : Using the TIMSP430 Microcontroller. Elsevier : U.S. Fraden, Jacob. 2004. Handbook of Modern Sensors : Physics, Designs and

Applications 3rd Edition. Springer-Verlag, Inc : New York.

Monk, Simonk. 2010. 30 Arduino Projects for the Evil Genius. McGraw-Hill Companies, Inc. : U.S.

Streeter, Victor L. 1958. Fluid Mechanics Third Edition. McGraw-Hill Book Company, Inc. : New York.

Sutiah, dkk. 2008. Studi Kualitas Minyak Goreng Dengan Parameter Viskositas dan Indeks Bias. ISSN : 1410 – 9662 Vol 11 No.2 April 2008 hal 53-58. Wilson, Jon S. 2005 . Sensor Technology Handbook. Elsevier Inc. : U.S

Young, Hugh D. 2012. Sears and Zemansky's University Physics : With Modern Physics 13th Ed. Addison-Wesley : U.S .


(26)

METODOLOGI PENELITIAN

3.1 DIAGRAM BLOK

Perancangan viskometer digital akan melalui beberapa tahap. Pertama, konstruksi penyangga atau klem tempat transmitter - receiver diposisikan secara horizontal dengan jarak terpisah, begitu juga dengan transmitter – receiver lain yang diletakkan dibawah transmitter – receiver pertama dengan jarak pisah yang sama pula. Cahaya laser ditargetkan ke LDR yang sebelumnya cahaya melewati titik pusat jari – jari tabung tempat diisi cairan. Sebagai awal pembacaan data kedua sensor digunakan terminal monitor yang tersedia pada Arduino IDE. Diagram blok untuk perancangan sistem viskometer digital diharapkan pada akhirnya seperti pada gambar berikut :

BOLA

Transmitter Receiver

Transmitter Receiver

ARDUINO UNO rev.3

USB HOST SHIELD

ANDROID

SMART-PHONE Daerah

Pendeteksian pertama

Daerah Pendeteksian

kedua

Gambar 3.1. Diagram Blok perancangan viskometer digital.

Blok diagram perancangan sistem alat yang tampak seperti pada gambar 3.1 terdiri atas 2 Laser yang berfungsi sebagai transmitter dan 2 rangkaian sensor yang


(27)

berfungsi sebagai receiver. Daerah yang dilalui cahaya dari salah satu transmitter ke salah satu receiver yang segaris lurus akan disebut sebagai daerah pendeteksian. Sinyal keluaran yang dihasilkan pada receiver daerah pendeteksian pertama dan pada receiver daerah pendeteksian kedua akan diteruskan ke Arduino Uno rev.3, selanjutnya terhubung ke USB HOST SHIELD yang kemudian dikirim ke smartphone Android. Sistem dioperasikan pada suhu kamar ± 0 .


(28)

3.2 FLOWCHART

BOLA MELEWATI DAERAH PENDETEKSIAN

PERTAMA

MULAI HITUNG TIMER PADA MIKROKONTROLLER

BOLA MELEWATI DAERAH PENDETEKSIAN

KEDUA

HENTIKAN HITUNG

TIMER

KIRIM DATA KE USB HOST SHIELD

KIRIM DATA KE ANDROID SMARTPHONE

SELESAI MULAI

YA

TIDAK

YA

TIDAK

PENGOLAHAN DATA PADA MIKROKONTROLLER

BOLA JATUH


(29)

3.3 PROSES KERJA ALAT

Alat yang dirancang adalah alat untuk menghitung nilai kekentalan dari suatu cairan. Pembuatan alat ditujukan untuk mendapatkan nilai waktu agar diperoleh nilai viskositas dari cairan. Pada penelitian ini digunakan sinar laser sebagai transmitter dan LDR sebagai receiver sinar laser yang diletakkan satu garis lurus satu dengan yang lainnya. LDR dirangkai dengan rangkaian sederhana yaitu rangkaian pembagi tegangan dan diletakkan didalam kotak hitam (black box). Kotak hitam dibuat dengan ukuran sedemikian rupa dan memiliki lubang kecil agar sinar laser masuk kedalam kotak hitam yang didalamnya terdapat LDR. Sinyal yang dihasilkan oleh LDR berupa tegangan yang bergantung pada intensitas cahaya yang diterima kemudian sinyal akan dikirim ke mikrokontroller untuk diolah melalui pin ADC mikrokontroller.

Mula-mula pipet volume diisi cairan yang telah dihitung massa jenisnya. Kemudian bola besi yang juga telah dihitung massa jenisnya dimasukkan kedalam tabung dengan bantuan magnet agar bola besi tidak langsung jatuh ke bagian dasar cairan. Setelah alat dinyalakan, suhu cairan diukur dengan menggunakan thermometer digital. Setelah temperatur cairan mencapai 270C, bola dilepas jatuh didalam cairan. Ketika bola besi melewati daerah pendeteksian pertama, LDR pada daerah pendeteksian pertama akan memberikan sinyal ke mikrokontroller untuk memulai perhitungan waktu (start timer). Ketika bola besi melewati daerah pendeteksian kedua, LDR pada daerah pendeteksian kedua akan memberikan sinyal ke mikrokontroller untuk menghentikan perhitungan waktu (stop timer). Pada tahap ini waktu tempuh bola besi akan tersimpan pada memori mikrokontroller. Kemudian waktu tempuh bola besi diolah hingga menghasilkan catatan waktu dalam milisekon.

Hasil catatan waktu tempuh bola besi pada mikrokontroller diproses pada papan ARDUINO USB HOST SHIELD dan dikirim ke smartphone android dengan tipe data byte. Data ini kemudian diolah oleh aplikasi yang sebelumnya diinstall pada smartphone android untuk menampilkan hasil perhitungan viskositas dengan satuan Pascal.detik (Pa.s).


(30)

3.4 RANGKAIAN ARDUINO BOARD

Untuk menghitung rentang waktu yang dilalui oleh bola besi digunakan Arduino Uno Rev.3. Pada Arduino Uno Rev.3 terdapat mikrokontroller Atmega328p. Rangkaian skematik Arduino Board dapat dilihat pada gambar dibawah ini:

Gambar 3.3 Skematik rangkaian Arduino Uno rev.3

3.5 RANGKAIAN USB HOST SHIELD

Perangkat yang digunakan untuk perantara pengiriman data serial dari mikrokontroller ke smartphone Android adalah USB Host Shield. Rangkaian skematik USB Host Shield dapat dilihat pada gambar dibawah ini :


(31)

Gambar 3.4 Skematik rangkaian USB HOST SHIELD

3.6 PERANCANGAN RANGKAIAN SENSOR LDR

Sensor LDR merupakan salah satu jenis resistor yang respon terhadap cahaya. Besarnya nilai hambatan yang dihasilkan oleh sensor LDR bergantung kepada intensitas cahaya yang diterima oleh sensor LDR. LASER akan memancarkan cahaya ke sensor LDR dan sensor LDR akan mengalami perubahan hambatan yang mengakibatkan perubahan tegangan pada sensor LDR yang menuju ke pin input analog pada mikrokontroller.

Dari gambar 3.4 tegangan keluaran dari LDR1 dan LDR2 dikirim ke port ADC mikrokontroller pada Arduino Uno Rev.3. Pengujian rangkaian ini adalah dengan mengaktifkan rangkaian sensor LDR pada sistem dan memberikan halangan pada daerah pendeteksian pertama dan daerah pendeteksian kedua. Penghalang cahaya yang menuju ke sensor LDR adalah bola besi. Bola besi akan melewati daerah pendeteksian pertama dan perhitungan waktu pada counter mikrokontroller dimulai. Kemudian bola besi melewati daerah pendeteksian kedua dan perhitungan


(32)

waktu pada counter mikrokontroller dihentikan. Dari catatan waktu yang didapat maka kecepatan bola dapat ditentukan.

330 Ω LDR1 2 1 4 3 6 5 8 7 10 9 12 11 14 13 27 28 25 26 23 24 21 22 19 20 17 8 15 16 A RD U IN O U N O RE V 3

330 Ω LDR2 ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 LASER 1 LASER 2 5V GND BOLA T A B U N G P E N G U JI A N 5V 5V GND AVCC VCC

Gambar 3.5 Rangkaian Sensor LDR pada sistem

3.7 PERANCANGAN PROGRAM ARDUINO

Perancangan program Arduino menggunakan Arduino IDE untuk menuliskan program yang disimpan kedalam mikrokontroller pada Arduino Uno Rev.3 dan menggunakan software Eclipse IDE untuk merancang aplikasi yang akan diinstall kedalam smatphone Android. Kedalam mikrokontroller pada Arduino Uno Rev.3 akan disimpan program berupa program perhitungan waktu dimana menghitung rentang waktu yang dipicu oleh sensor LDR pertama dan sensor LDR kedua. Sedangkan pada Eclipse IDE merancang program untuk menerima data yang dikirim dari mikrokontroller pada Arduino Uno Rev.3 melalui USB HOST SHIELD. Program yang ditulis untuk merancang aplikasi android mengimplementasikan contoh-contoh program yang diterapkan pada Android Development Kit karena sistem yang dimiliki pada Android Development Kit memiliki kesamaan seperti pada Arduino Board.


(33)

BAB 4

HASIL DAN PEMBAHASAN

4.1 PEMBAHASAN SISTEM KESELURUHAN

Sebagai awal dari pembahasan sistem dan hasil dari penelitian dilakukan pengujian sistem sebagai pengujian operasional terhadap fungsi bagian-bagian sistem.

4.1.1 Pengujian Modul Arduino Uno Rev.3

Pengujian modul Arduino Uno Rev.3 dilakukan dengan mengirimkan nilai on dan off untuk LED yang terdapat pada pin 13 Arduino Uno Rev.3. Proses pengiriman tersebut dilakukan melalui program yang dimasukkan ke modul Arduino Uno Rev.3. Jika LED bekerja sesuai dengan program, maka dapat disimpulkan bahwa modul bekerja dengan baik. Berikut adalah listing program yang digunakan untuk mengedipkan LED :

int led = 13;

void setup() { pinMode(led, OUTPUT); }

void loop() {

digitalWrite(led, HIGH); //LED dinyalakan

delay(500); // delay selama setengah detik

digitalWrite(led, LOW); //LED dipadamkan

delay(500); // delay selama setengah detik


(34)

4.1.2 Pengujian Sistem Sensor

Pengujian dilanjutkan dengan menghitung rentang waktu yang dibaca oleh mikrokontroller dan ditampilkan menggunakan serial monitor dari Arduino IDE pada komputer PC. Program penghitung waktu dimasukkan kedalam mikrokontroller. Kemudian rangkaian sensor LDR dihubungkan ke modul Arduino Uno Rev.3 yang masing-masing keluaran sensor LDR pertama pada pin A2 dan keluaran sensor LDR kedua pada pin A0 modul Arduino Uno Rev.3. Laser-laser ditempatkan didepan masing-masing sensor LDR yang sebelumnya sebelumnya sensor LDR diletakkan didalam kotak hitam. Kotak hitam sebelumnya telah dilobangi sebagai tempat cahaya laser masuk menuju sensor LDR

Setelah sistem diaktifkan, disiapkan stopwatch sebagai pembacaan manual ketika cahaya laser pada masing-masing daerah pendeteksian dihalangi dengan cara tertentu. Ini ditujukan supaya menguji apakah hasil pembacaan waktu yang ditampilkan pada serial monitor memiliki perbedaan yang sangat jauh atau tidak terhadap pembacaan stopwatch.

Setelah semuanya disiapkan, cahaya laser pada daerah pertama dihalangi sembari memulai perhitungan waktu pada stopwatch. Setelah beberapa detik daerah pendeteksian pertama dihalangi, daerah pendeteksian kedua dihalangi sembari menghentikan perhitungan waktu pada stopwatch. Hasil perhitungan waktu yang ditampilkan pada stopwatch dibandingkan dengan hasil perhitungan waktu yang ditampilkan pada serial monitor. Jika hasil perhitungan waktu yang ditampilkan pada serial monitor hanya memiliki selisih yang sangat kecil terhadap pembacaan stopwatch, maka sistem dikatakan berhasil dan siap untuk mengukur viskositas dari sampel cairan yang telah disiapkan.


(35)

4.1.3 Pengujian Pengiriman Data dari Arduino ke Smartphone Android Menggunakan USB HOST SHIELD

Setelah modul Arduino dan sistem sensor berjalan dengan baik, maka dilakukan pengujian pengiriman data dari modul Arduino ke smartphone Android dengan program sederhana untuk menampilkan pembacaan perubahan tegangan pada sistem sensor LDR terhadap perubahan intensitas cahaya untuk mengevaluasi apakah komunikasi data antara modul Arduino dan smartphone Android berjalan dengan baik.

Potongan program yang dimasukkan kedalam modul Arduino untuk membaca perubahan tegangan dari sistem sensor LDR adalah sebagai berikut :

1 //potongan listing program 4.1 2 void setup() {

3 Serial.begin(9600); 4 acc.powerOn(); 5 msg[0] = com_ID; 6 msg[1] = targ_ID; 7 }

8

9 void loop() {

10 if (acc.isConnected()) {

11 valPinAnalog = analogRead(pinAnalog); 12 msg[2] = (byte) (valPinAnalog >> 24); 13 msg[3] = (byte) (valPinAnalog >> 16); 14 msg[4] = (byte) (valPinAnalog >> 8); 15 msg[5] = (byte) valPinAnalog;

16 acc.write(msg, 6); 17 delay(1000);

18 }

19 }

Pada potongan listing program 4.1, modul Arduino akan membaca perubahan tegangan yang masuk dari sistem sensor LDR ke pin analog mikrokontroller modul Arduino dan mengirimkan hasil pembacaan ke Android. Proses pengiriman akan terus bekerja dengan penundaan waktu selama 1000 milisekon atau 1 detik.


(36)

Karena komunikasi yang dilakukan antara modul Arduino dan Android adalah komunikasi serial, maka data yang dikirimkan byte-per-byte dalam satu stream. Ketentuan pengiriman data yang diberikan oleh Google terdiri dari 3 susunan data byte. Byte pertama menunjukkan jenis perintah yang digunakan dalam pengiriman dan penerimaan data. Ini ditunjukkan pada baris ke-5 dalam listing program 4.1. Byte kedua menunjukkan jenis target yang digunakan dalam komunikasi data. Ini ditunjukkan pada baris ke-6 dalam listing program 4.1. Byte ketiga dan seterusnya adalah pesan yang dikirim dalam komunikasi data. Ini ditunjukkan pada baris ke-12 hingga baris ke-15 dalam listing program 4.1. Sehingga dapat disimpulkan bahwa byte pertama dan byte kedua merupakan identitas dari serangkaian data yang dikirim dan byte ketiga dan seterusnya adalah pesan yang dikirim. Untuk menerima serangkaian data yang dikirimkan dari modul Arduino, listing program yang ditulis pada program java untuk aplikasi Android adalah sebagai berikut :

//potongan listing program 4.2

1 Runnable commRunnable = new Runnable() { 38 @Override

38 public void run() { 38 int ret = 0;

5 byte[] buffer = new byte[6]; 6 while (ret >= 0) {

7 try {

8 ret = mInputStream.read(buffer); 9 } catch (IOException e) {

10 Log.e(TAG, “IOException”, e); 11 break;

12 }

13 switch (buffer[0]) { 14 case comm_ID:

15 if (buffer[1] == targ_ID) {

16 final int adcVal = ((buffer[2] & 0xFF) 17 << 24)

18 + ((buffer[3] & 0xFF) << 16) 19 + ((buffer[4] & 0xFF) << 8) 20 + (buffer[5] & 0xFF);

21 runOnUiThread(new Runnable() {

22 @Override

23 public void run() {

24 adcValueProgressBar.setProgress(adcVal); 25 adcValueTextView.setText(getString(R.string.


(37)

26 adc_val_txt, adcVal));

27 }

28 });

29 }

30 break;

31 default:

32 Log.d(TAG, “pesan tidak dikenal: “ + 33 buffer[0]);

34 break;

35 } } }

37 }; 38 }

Dari potongan listing program 4.2, penerimaan data pada aplikasi Android ditunjukkan pada baris ke-14 hingga baris ke-20. Seperti serangkaian data yang dikirim dari modul Arduino, aplikasi Android akan menerima byte-per-byte yang masuk ke buffer dengan susunan yang bersesuian pada listing program yang dimasukkan ke modul Arduino.

4.2 PERANCANGAN APLIKASI ANDROID

Setelah pengujian komunikasi pertukaran data antara modul Arduino dan Smartphone android berhasil, maka dirancang aplikasi Android menggunakan software Eclipse IDE. Aplikasi Android yang dirancang akan menampilkan hasil perhitungan viskositas berdasarkan nilai waktu yang dikirim dari Arduino. Hasil perhitungan waktu yang dikirim dari Arduino akan dihitung oleh rumus yang ditulis pada program aplikasi Android untuk menghasilkan dan menampilkan nilai viskositas.

Pada aplikasi Android akan disediakan menu setting untuk mengatur beberapa parameter yang diperlukan dalam perhitungan viskositas sesuai dengan alat yang rancang. Beberapa parameter yang dapat diatur pada menu setting seperti diameter bola, jarak kedua sensor, diameter tabung, massa jenis cairan dan lain-lain.


(38)

Start

Pengaturan perangkat accessori

Membuka jalur penerimaan data byte (openAccessory)

Data byte perhitungan waktu diterima

Perhitungan viskositas

ya

tidak

Menampilkan hasil perhitungan viskositas

Selesai


(39)

4.3 PERHITUNGAN VISKOSITAS

Perhitungan viskositas dari sampel cairan dilakukan dengan menentukan waktu tempuh bola besi yang dijatuhkan kedalam tabung volumetri yang berisi cairan. Daerah pendeteksian pertama dan daerah pendeteksian kedua diletakkan saling vertikal dengan jarak 13 cm. Jarak ini sebelumnya telah diuji sebagai jarak optimal penetuan kecepatan terminal bola pada ketinggian daerah pendeteksian pertama yang optimal pula sebagai acuan titik awal. Jarak ini kemudian akan dibagi dengan hasil perhitungan waktu yang dihasilkan oleh masing-masing metode sebagai hasil kecepatan terminal bola besi.

Penentuan waktu tempuh bola besi dilakukan dengan 2 metode yaitu metode konvensional yang dilakukan secara manual menggunakan stopwatch dengan mengamati pergerakan jatuh bola besi ketika melewati masing-masing daerah pendeteksian dan metode digital menggunakan mikrokontroller yang menampilkan hasil perhitungan waktu pada serial monitor Arduino.

Ketelitian yang dimiliki pada metode konvensial adalah 0,01 sekon sedangkan metode digital mampu mengukur waktu dengan ketelitian 0,001 sekon atau 1 milisekon. Dengan ketelitian yang dimiliki metode digital, akurasi pengukuran lebih baik daripada metode konvensional. Disamping itu, metode konvensional memiliki kelemahan karena adanya ralat pada mata pengamat dan pengukuran waktu awal-akhir jatuhnya bola. Kelemahan ini mempengaruhi konsistensi pengukuran waktu jatuhnya bola.

Setiap metode konvensional dan metode digital masing-masing diulangi perlakuan yang sama sebanyak 7 kali untuk mengamati konsistensi pengukuran. Suhu ketika melakukan perlakuan pada masing-masing metode adalah 270C, sehingga ketika perlakuan pertama dilakukan, ditunggu beberapa saat hingga suhu cairan stabil kembali ke 270C.

Berikut ini merupakan tabel-tabel hasil data pengukuran viskositas dari setiap sampel yang digunakan dalam pengujian. Setiap sampel mendapatkan perlakuan yang sama namun dengan metode yang berbeda yaitu metode manual (konvensional) dan metode digital.


(40)

Tabel 4.1 Data Hasil Perhitungan Viskositas Gliserin dengan Metode Manual

No. Pengujian Waktu

(Sekon)

Viskositas Akhir (Pa.s)

1 6.43 1.2057

2 6.65 1.2469

3 6.33 1.1869

4 6.54 1.2263

5 6.36 1.1925

6 6.1 1.1438

7 6.44 1.2075

Tabel 4.2 Data Hasil Perhitungan Viskositas Gliserin dengan Metode Digital

No. Pengujian Waktu

(Sekon)

Viskositas Akhir (Pa.s)

1 6.565 1.2309

2 6.613 1.2399

3 6.468 1.2128

4 6.591 1.2359

5 6.552 1.2285

6 6.455 1.2104

7 6.531 1.2246

Tabel 4.3 Data Hasil Perhitungan Viskositas Oli Shell Advance AX5 dengan Metode Manual

No. Pengujian Waktu

(Sekon)

Viskositas Akhir (Pa.s)

1 2.22 0.4485

2 2.35 0.4747

3 2.25 0.4545

4 2.12 0.4283

5 2.3 0.4646

6 2.19 0.4424


(41)

Tabel 4.4 Data Hasil Perhitungan Viskositas Oli Shell Advance AX5 dengan Metode Digital

No. Pengujian Waktu

(Sekon)

Viskositas Akhir (Pa.s)

1 2.107 0.4256

2 2.11 0.4262

3 2.113 0.4268

4 2.164 0.4371

5 2.168 0.4379

6 2.13 0.4303

7 2.114 0.4270

Tabel 4.5 Data Hasil Perhitungan Viskositas Minyak Goreng Tropical dengan Metode Manual

No. Pengujian Waktu

(Sekon)

Viskositas Akhir (Pa.s)

1 0.78 0.1553

2 0.72 0.1434

3 0.8 0.1593

4 0.75 0.1494

5 0.69 0.1374

6 0.79 0.1573

7 0.73 0.1454

Tabel 4.6 Data Hasil Perhitungan Viskositas Minyak Goreng Tropical dengan Metode Digital

No. Pengujian Waktu

(Sekon)

viskositas akhir (Pa.s)

1 0.756 0.1506

2 0.757 0.1508

3 0.759 0.1512

4 0.749 0.1492

5 0.747 0.1488

6 0.749 0.1492


(42)

Untuk analisa yang lebih terperinci, waktu dari hasil pengukuran terhadap nomor pengujian diplot ke dalam bentuk grafik seperti dibawah ini :

Gambar 4.1 : Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam Cairan Gliserin

6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7

1 2 3 4 5 6 7

W

ak

tu

(

s)


(43)

Gambar 4.2 : Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam Cairan Gliserin

Gambar 4.3 : Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam Oli Shell Advance AX5 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7

1 2 3 4 5 6 7

W ak tu ( s) No. Pengujian 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

1 2 3 4 5 6 7

W ak tu ( s) No. Pengujian


(44)

Gambar 4.4 : Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam Oli Shell Advance AX5

Gambar 4.5 : Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam minyak goreng Tropical 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

1 2 3 4 5 6 7

W ak tu ( s) No. Pengujian 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1 2 3 4 5 6 7

W ak tu ( s) No. Pengujian


(45)

Gambar 4.6 : Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam minyak goreng Tropical

Dari gambar 4.1 hingga gambar 4.6 yang masing-masing memperlihatkan hasil dari masing-masing metode pada masing-masing sample. Ditunjukkan bahwa sebaran data hasil pengukuran waktu lebih mendekati pada tiap nomor pengujian dengan metode digital daripada metode konvensional. Maka dapat disimpulkan bahwa konsistensi metode pengukuran waktu secara digital lebih baik daripada metode pengukuran waktu secara konvensial.

Dengan metode digital, hasil waktu pengukuran dapat langsung dieksekusi oleh program yang disimpan didalam aplikasi Android sehingga dapat langsung menampilkan hasil viskositas dari zat cair yang diuji sehingga perhitungan viskositas memerlukan waktu lebih cepat daripada metode konvensional. Disamping itu, hasil pengukuran viskositas dari penelitian ini lebih baik daripada sistem-sistem yang pernah dibuat sebelumnya yaitu dengan adanya ketelitian hasil pengukuran waktu hingga 100 milisekon dan hasil perhitungan waktu yang lebih konsisten. Sehingga, viskometer digital yang dirancang pada penelitian ini dapat

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1 2 3 4 5 6 7

W

ak

tu

(

s)


(46)

menggantikan viskometer digital yang pernah dibuat karena lebih efisien, lebih cepat dan lebih akurat.


(47)

KESIMPULAN DAN SARAN

5.1 KESIMPULAN

1. Telah dilakukan rancang bangun viskometer berbasis Arduino Uno Rev. 3 menggunakan smartphone Android sebagai display dengan hasil pengukuran yang lebih baik, memerlukan volume sampel yang tidak banyak dan waktu perhitungan nilai viskositas cairan yang lebih cepat. Viskometer ini dapat digunakan untuk mengukur viskositas gliserin, oli Shell Advance AX5 dan minyak goreng Tropical.

2. Hasil pengukuran viskositas cairan menggunakan viskometer yang dirancang telah didapat. Untuk gliserin yaitu 1,201383 Pa.s dengan metode manual dan 1,226161 Pa.s dengan metode digital. Untuk oli Shell Advance AX5 yaitu 0,449608 Pa.s dengan metode manual dan 0,430157 Pa.s dengan metode digital. Untuk minyak goreng Tropical 0,149644 Pa.s dengan metode manual dan 0,149929 Pa.s dengan metode digital.

3. Hasil dari perhitungan viskositas dapat ditampilkan pada smartphone Android melalui komunikasi serial dari modul Arduino melalui USB HOST SHIELD. Hasil perhitungan dikirim byte-per-byte dari modul Arduino ke smartphone Android dengan byte pertama menujukkan kode perintah, byte kedua menunjukkan kode target dan byte selanjutnya berisi pesan yang dikirim dan diterima

5.2 SARAN

Adapun beberapa saran yang ingin disampiakan oleh penulis untuk mengembangkan penelitian ini pada kesempatan penelitian berikutnya adalah :


(48)

1. Sebaiknya dirancang sistem tambahan yaitu sistem sensor suhu untuk dapat memonitoring suhu cairan secara real-time.

2. Sebaiknya dilakukan kalibrasi dengan viscometer dengan yang sudah ada dipasaran untuk mencari faktor koreksi yang tepat.

3. Sebaiknya dilakukan penyempurnaan visualisasi pada tampilan Android agar lebih menarik dan memperbaiki beberapa bugs pada aplikasi android. 4. Sebaiknya dikembangkan komunikasi data pada pengiriman data antara


(49)

LANDASAN TEORI

2.1 VISKOSITAS

Viskositas merupakan derajat kekentalan sebuah fluida. Viskositas juga dapat dikatakan sebagai gesekan internal yang terjadi pada fluida. Viskositas memberikan gaya perlawanan terhadap sebuah objek yang berada didalam fluida sehingga mengakibatkan interaksi antara objek dan fluida berupa gesekan. Satuan dari viskositas sebuah cairan dinyatakan dalam Poise.

Dampak dari viskositas memiliki peran penting untuk perilaku fluida dalam sebuah ruang. Dampak viskositas berpengaruh dalam aliran darah didalam tubuh, pelumas dari bagian-bagian mesin, aliran fluida dalam pipa berongga dan lain-lain. Minyak pelumas mesin harus mengalir secara merata dalam kondisi mesin yang dingin maupun panas, karena itu pelumas dirancang memiliki variasi perubahan temperatur sekecil mungkin terhadap perubahan viskositas. Viskositas darah didalam tubuh akan mempengaruhi distribusi sari-sari makanan yang keseluruh tubuh. (Young, 2008)

Beberapa metode dapat digunakan dalam penentuan viskositas sebuah cairan. Metode yang paling umum digunakan dalam laboraturium adalah penentuan viskositas dengan metode bola jatuh. Jika sebuah benda berbentuk bola dijatuhkan kedalam fluida kental, misalnya kelereng dijatuhkan dalam kolam renang yang airnya cukup dalam, nampak pada awalnya kelereng bergerak dipercepat. Namun, setelah beberapa saat setelah menempuh jarak tertentu kelereng bergerak dengan kecepatan konstan (bergerak lurus beraturan). Kedaan ini disebabkan karena adanya gaya gesekan yang disebabkan oleh kekentalan fluida. (Anwar, 2008)


(50)

Untuk benda berbentuk bola jatuh didalam cairan yang memiliki jari-jari R, bergerak dengan kecepatan konstan v relatif terhadap cairan dan � menyatakan koefisien kekentalan cairan maka gaya gesekan fluida Fssecara empiris dirumuskan persamaan sebagai :

� = ��� …………(1)

dan persamaan (1) disebut sebagai Hukum Stokes.

Dengan memilih sumbu vertikal keatas sebagai sumbu positif, maka pada saat kecepatan terminal berlaku :

= ……..(2)

Jumlah gaya yang meliputi sumbu vertikal keatas tersebut adalah gaya keatas , gaya gesekan fluida dan gaya berat , sehingga persamaan (2) menjadi :

+ � =

� + ��� = � �

( � ) � + ��� = ( � ) � �� = � � ( − )

� =9 �2 �− �

� ……(3)

dengan :

� = koefisien kekentalan fluida (Pa s)

� = percepatan gravitasi (m/s2)

� = jari-jari bola (m)

= massa jenis bola (kg/m3) = massa jenis fluida (kg/m3)

� = kecepatan terminal (m/s)

Ada beberapa hal yang harus diperhitungkan pemakaian Hukum Stokes dalam eksperimen, yaitu ruang tempat fluida harus jauh lebih luas daripada ukuran


(51)

bola, tidak terjadi aliran turbulen didalam cairan dan kecepatan v tidak terlalu besar sehingga aliran fluida masih bersifat laminer.

Gambar 2.1 Gaya – gaya yang terjadi pada keadaan bola jatuh didalam cairan Untuk memperkecil kesalahan perhitungan dalam viskositas metode bola jatuh, Faxen menjabarkan solusi persamaan Oseen yang menghasilkan persamaan:

� = �

[ − ,

+ , 9

− ,9

5

]

….(4)

Dengan � viskositas akhir, � viskositas yang dihasilkan dari eksperimen, � diameter bola dan diameter dalam tabung. Persamaan ini berlaku untuk bilangan Reynold < 1 dan rasio diameter �/ yang kecil yaitu sekitar

�< ,9 .

Bilangan Reynold � dalam metode bola jatuh dapat ditentukan dengan persamaan :

=

.�.

� ...(5)

Dengan massa jenis cairan, � kecepatan bola relatif terhadap cairan dan � diameter bola.

2.2 ARDUINO

Arduino merupakan developing board open source didalamnya terdapat prosesor Atmel AVR (pada umumnya microcontroller) yang langsung dapat diprogram dari


(52)

komputer. Arduino dilengkapi port USB, terimplementasi menggunakan adapter USB-to-serial chip seperti FTDI FT232 sehingga mikrokontroller pada papan Arduino langsung dapat diprogram melalui komputer yang sebelumnya script program ditulis pada Arduino IDE.

Sebuah program untuk Arduino ditulis menggunakan bahasa pemrograman Arduino (Arduino programming language) berdasarkan Wiring(http://wiring.org.co/)dan program disimpan dalam file yang disebut sketch (www.arduino.cc). Dalam penulisan program, Arduino IDE memiliki software library dimana fungsi-fungsi yang biasa ditulis untuk memprogram sebuah chip mikrokontroller AVR terangkum dalam library membuat penulisan program lebih mudah.

Papan Arduino menyediakan pin I/O mikrokontroller yang dapat dihubungkan dengan komponen-komponen atau rangkaian-rangkaian eksternal. Seperti pada salah satu jenis papan Arduino yaitu Arduino Uno Rev.3 seperti pada gambar (2.b) menggunakan chip AVR Atmega328P memiliki pin I/O mikrokontroller dengan 14 pin digital I/O dimana 6 pin dari digital I/O dapat menghasilkan pulsa PWM (Pulse Width Modulation) dan 6 pin analog I/O yang memiliki resolusi 10 bit register.


(53)

Arduino Uno Rev.3 memiliki kelebihan selain harganya yang relatif murah, sudah memiliki koneksi USB, interface USB terimplementasi dari LUFA(Lightweight USB Framework for AVRs) projek sehingga mudah untuk saling share program untuk keperluan projek.

2.3 SENSOR LDR (LIGHT DEPENDENT RESISTOR)

Cahaya merupakan sebuah fenomena mekanika-quantum. Cahaya berasal dari partikel diskrit yang disebut sebagai foton. Foton memiliki panjang gelombang �, kecepatan c = 3x108 m/s, frekuensi � =

� , energy = ℎ

� dengan h = 6.67x10

-34 Js, serta momentum � =

�. Diantara kesemuanya, penting untuk mengingat

bahwa adanya hubungan antara energi dan panjang gelombang. Dalam semua hal, energi dari foton menentukan bagaimana untuk mendeteksinya. (Wilson Jon.S, 2005)

Cahaya merupakan bentuk energi yang sangat efisien untuk stimulasi dari variasi hasil pendeteksian. Sebagai contoh dari sekian banyak stimulasi tersebut adalah jarak, pergerakan, temperatur dan komposisi kimia. Cahaya memiliki sifat elektromagnetik, baik itu dianggap sebagai sebuah propagasi energi kuantum atau sebagai gelombang elektromagnetik sendiri.

Sensor LDR merupakan resistor yang nilai hambatannya berubah karena adanya perubahan intensitas cahaya yang diterima. Besar kecilnya nilai hambatan LDR bergantung pada besar kecilnya intensitas cahaya yang diterima oleh LDR. Secara normal, hambatan yang dimiliki oleh LDR sangat tinggi dalam keadaan intensitas cahaya yang sangat rendah, namun pada umumnya LDR memiliki hambatan sebesar 10MΩ.

LDR difabrikasi dari berbagai campuran material semikonduktor. Material semikon-duktor yang digunakan bahan pembuatan LDR antara lain Timbal Sulfida (PbS), Indium Sulfida (InSb) dan Cadmium Sulfida(CdS). Diantara jenis-jenis LDR yang paling sering dijual dipasaran adalah LDR berbahan CdS karena harganya yang murah seperti pada gambar (2.b).


(54)

Oleh karenanya, dengan karakteristik dari LDR yang telah dijelaskan sebelumnya, maka LDR dapat dimanfaatkan sebagai penerima cahaya dalam perancangan sistem.

Gambar 2.3 LDR (Light Dependent Resistor)

2.4 ARDUINO USB HOST SHIELD

Arduino USB Host Shield merupakan papan rangkaian tambahan yang digunakan dalam berbagai projek berplatform Arduino. USB Host Shield memuat semua sirkuit digital logic dan analog yang dibutuhkan untuk menjalankan fungsi pengendali peripheral/host full-speed USB pada papan Arduino. Dengan fitur yang dimiliki oleh USB Host Shield memungkinkan arduino dalam mengendalikan perangkat-perangkat USB slave seperti flashdrive, kamera digital, bluetooth dogle, Smartphone dan lain-lain.

Antarmuka serial pada USB Host Shield dapat digunakan untuk komunikasi dengan chip host controller, sehingga USB Host Shield menghubungkan pin SPI(Serial Peripheral Interface) perangkat Arduino pada IC MAX3421E. Sebuah port USB tipe A female connector terhubung dengan IC MAX3421E seperti gambar (2.d), dan dibekali tegangan 5V seperti pada umumnya port USB.

Salah satu jenis USB HOST SHIELD yang banyak digunakan adalah USB Host Shield yang diproduksi oleh Sprakfun.


(55)

Gambar 2.4 USB Host Shield

2.5 LASER (LIGHT AMPLIFICATION BY STIMULATED EMISSION OF RADIATION)

LASER merupakan mekanisme suatu alat dalam memancarkan radiasi gelombang elektromagnetik biasanya berbentuk cahaya yang dapat dilihat oleh mata normal maupun tidak. LASER terjadi karena adanya proses pancaran stimulasi energi foton yang berinteraksi dengan bahan aktif LASER.

Cahaya LASER memiliki karakteristik yang unik dibandingkan cahaya yang lain. Cahaya laser memiliki tingkat divergensi yang sangat rendah, dapat melintasi jarak yang sangat jauh dan menghasilkan berkas cahaya sangat kecil. Cahaya LASER digunakan dalam berbagai aplikasi sesuai dengan sumber daya, bahan pembuatan dan panjang gelombang cahaya yang dihasilkan oleh laser. Untuk keperluan medis biasanya digunakan sinar LASER terbuat dari bahan aktif GaN (Galium Nitrogren) memiliki panjang gelombang yang pendek berkisar 375 – 475 nm, meiliki daya yang besar 30 – 100 W sehingga mampu menghasilkan energi foton yang besar dan memiliki daya tembus tinggi terhadap objek. Dalam penggunaan sehari-hari misalnya LASER mainan, pointer dalam presentasi, memiliki panjang gelombang yang lebih besar berkisar 600 – 800 nm, memiliki daya yang lebih kecil 1-5 mW menghasilkan energi foton yang lebih kecil sehingga cukup aman untuk digunakan dalam keperluan sehari-hari dibandingkan jenis-jenis


(56)

LASER yang lain yang memiliki panjang gelombang yang lebih pendek dengan energi foton yang lebih besar.

(www.bgu.ac.il/~glevi/website/Guides/Lasers.pdf)

Gambar 2.5 LASER pointer 2.6 ANDROID

Android merupakan sistem operasi berbasis Linux yang sebagian besar ditargetkan untuk perangkat mobile layar sentuh seperti smartphone dan computer tablet. Android bekerja dalam sebuah jenis kernel yang disebut monolithic yang merupakan kernel Linux termodifikasi.

Android dibangun menggunakan bahasa pemrograman Java dan OOP (Object Oriented Programming) dan untuk susunan antarmuka pengguna menggunakan bahasa pemrograman berbasis XML. Setelah antarmuka pengguna dibentuk, maka Java digunakan untuk menjalankan fungsi dari antarmuka yang disusun sebelumnya menggunakan XML code. Sampel dari antarmuka pada Android Smartphone ditunjukkan seperti pada gambar (2.f). Karena dibangun berdasarkan OOP maka aplikasi yang dibuat bersifat lebih fleksible untuk dikostumasi sesuai dengan keinginan pengguna.(DiMarzio J.F, 2008)


(57)

Gambar 2.6 Android 4.3 (Jelly Bean) pada Samsung Galaxy Nexus

Dalam perkembangannya, Android Smartphone kini mampu digunakan untuk mengendalikan beberapa perangkat rumah tangga seperti sakelar lampu, stop kontak daya dan thermostat. Beberapa pengembang perangkat yang menggunakan mikrokontroller juga telah mengembangkan beberapa projek dalam memanfaatkan Android Smartphone untuk mengendalikan mikrokontroller .

Dalam pengaplikasian USB host, Android versi minimal 4.0 lebih memadai karena pada sudah terdapat USB host API(Application Protocol Layer) sehingga lebih mudah untuk menjalankan komunikasi data serial USB baik secara Synchronous maupun Asynchronous dengan perangkat-perangkat lain yang menggunakan komunikasi serial untuk proses pertukaran data.


(58)

PENDAHULUAN

1.1 LATAR BELAKANG

Salah satu cara untuk menentukan kekentalan dari suatu cairan dapat dilakukan dengan metode simulasi bola jatuh kedalam cairan. Penelitian tentang metode simulasi bola jatuh kedalam cairan telah dilakukan sebelumnya oleh Nurjannah (Nurjannah, 2013) yang merancang alat sederhana untuk dapat menghitung viskositas minyak goreng. Metode serupa juga pernah dilakukan oleh Stefanus Hermawan Setiadi (Setiadi, 2011). Alat-alat yang dibuat masih menggunakan sample volume yang banyak dikarenakan untuk mendapatkan kecepatan terminal yang konstan setelah bola yang digunakan didalam pengujian.

Alat yang dibuat menggunakan lampu LED sebagai transmitter, namun penggunaan lampu LED tidak efektif untuk mengukur kekentalan cairan karena intensites cahaya dari LED tidak konvergen. Oleh karena itu lebih baik menggunakan LASER sehingga pengukuran viskositas yang didapat kemung-kinan besar akan lebih presisif.

Digunakannya modul LCD sebagai tampilan sederhana memiliki kelemahan yaitu tampilan yang kurang menarik. Oleh karena itu komputer lebih sering digunakan untuk mendapatkan tampilan yang lebih baik. Namun, komputer membutuhkan ruang yang lebih besar daripada modul LCD. Maka persoalan ini dijawab oleh teknologi smartphone android dengan tampilan yang lebih menarik dan tidak membutuhkan tuang yang lebih besar.

Disamping itu pengukuran yang dilakukan sebelumnya menggunakan volume sampel yang lebih besar, sehingga biaya lebih besar dan proses pengukuran memakan waktu yang lama. Maka untuk mengefisiensikan biaya dan waktu


(59)

dibutuhkan sebuah rancangan pengukuran yang flexible, tidak banyak biaya, dengan volume sample yang lebih kecil, tidak memerlukan waktu yang lama dengan cara memanfaatkan smartphone Android.

1.2 PERUMUSAN MASALAH

Dengan latar belakang yang telah dijelaskan sebelumnnya, maka diperlukan alat pengukuran viskositas yang memiliki karaketeristik sebagai berikut :

1. Volume sample cairan yang tidak banyak. 2. Tampilan alat yang menarik dan flexible.

Sehingga dengan mengambil 2 parameter tersebut, dibuat sebuah instrumentasi yang membutuhkan volume sedikit dan memiliki tampilan menarik; flexible. Dibuatlah instrumentasi berbasis Arduino Uno untuk mengukur nilai viskositas dari beberapa jenis cairan dengan tampilan smartphone Android.

1.3 BATASAN MASALAH

Agar masalah yang dibahas pada penelitian ini tidak terlalu luas, maka masalah dibatasi pada hal-hal berikut :

1. Penelitian dilakukan dalam skala Laboraturium

2. Cahaya laser digunakan sebagai transmitter dan sensor LDR digunakan sebagai receiver

3. Pengelolaan data dari sensor menggunakan modul Arduino Uno Rev.3 4. Tabung yang digunakan sebagai wadah sampel adalah pipet volume 25

ml dengan diameter 1,43 cm dan tinggi 30 cm.

5. Bola yang digunakan dalam penelitian adalah bola besi dengan ukuran diameter 0,842 cm dan massa bola 2 gram.

6. Sampel yang akan diuji adalah minyak goreng Tropical 40 ml, Oli Shell Advance AX5 40 ml dan Gliserin 40 ml.


(60)

7. Untuk mengontrol Arduino Uno dan menampilkan keluarannya digunakan smartphone Android

8. Data yang diambil melalui suhu cairan yang stabil yaitu pada suhu 270C.

1.4 TUJUAN PENELITIAN

1. Untuk membuat alat perhitungan viskositas cairan berbasis Arduino Uno dengan display smartphone android.

2. Untuk mengukur viskositas cairan dengan menggunakan viskometer digital yang dirancang.

3. Untuk menampilkan nilai dari perhitungan alat pada smartphone Android.

1.5 MANFAAT PENELITIAN

1. Dapat membantu praktikan di Laboraturium dalam pengambilan data pada percobaan viskositas dengan volume sampel yang lebih kecil. 2. Merancang sistem sederhana yang dapat bermanfaat dalam keperluan

industri yang menggunakan cairan tembus cahaya.

3. Memanfaatkan smartphone Android untuk menampilkan hasil perhitungan alat.

1.6 TEMPAT PENELITIAN

Laboratorium Fisika Terpadu USU

1.7 SISTEMATIKA PENULISAN

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat skematika pembahasan bagaimana sebenarnya prinsip dari perancangan alat viskometer digital, maka penulis menulis laporan ini dengan sistematika penulisan sebagai berikut :


(61)

BAB I. PENDAHULUAN

Bab ini berisikan mengenai latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian serta sistematika penulisan.

BAB II. LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan. Teori pendukung antara lain tentang kekentalan cairan, beberapa carian yang tembus cahaya (transculent) yang digunakan dalan penelitian, sensor LDR dan LASER, Arduino Uno baik itu mencakup hardware dan software, softwre Android IDE serta kerja sensor yang digunakan.

BAB III. PERANCANGAN DAN KERJA ALAT

Dalam bab ini akan dibahas perancangan dari alat yaitu skematik dari

rangkaian dan sistem kerja dari masing-masing bagian alat, bahasa pemrograman yang diisikan pada mikrokontroller, dan progam yang akan digunakan sebagai interface pada perangkat Android.

BAB IV. HASIL DAN PEMBAHASAN

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat,

perancangan mengenai progam-program yang digunakan untuk mengaktifkan rangkaian, penjelasan bagaimana masing-masing bagian alat saling berkomunikasi dalam pertukaran data dan pembahasan data yang didapat dari hasil penelitian.

BAB V. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari

pembahasan yang dilakukan dari penelitian ini serta saran agar perancangan alat dan aplikasi yang dibuat dalam penelitian ini dapat dikembangkan lebih baik dengan sistem kerja yang sama.


(62)

PERANCANGAN VISKOMETER DIGITAL BERBASIS ARDUINO UNO UNTUK MENGUKUR VISKOSITAS CAIRAN DAN

SMARTPHONE ANDROID SEBAGAI DISPLAY

ABSTRAK

Viskometer digital berbasis Arduino Uno telah dilakukan dengan menggunakan metode bola jatuh, sampel yang digunakan yaitu Gliserin, Oli Shell Advance AX5 dan minyak goreng Tropical. Kekentalan dari tiap cairan telah diuji dengan menggunakan viskometer yang dirancang yang hasilnya Gliserin = 12,261 Poise, Oli Shell Advance = 4,302 Poise dan minyak goreng Tropical = 1,499 Poise dan dengan menggunakan metode konvensional (manual) hasilnya Gliserin = 12,013 Poise , Oli Shell Advance =4,496 Poise dan minyak goreng Tropical = 1,496. Hasil dari viskometer digital dibandingkan dengan metode konvensional memiliki perbedaan yang sangat mendekati sehingga dapat dikatakan bahwa alat yang dirancang memiliki kemampuan untuk mengukur kekentalan dari sebuah zat cair. Dengan adanya faktor koreksi oleh Faxen yang diturunkan dari persamaan O‘seen dalam pengukuran membuat hasil pengukuran lebih akurat.


(63)

DESIGNING DIGITAL VISCOMETER BASED ARDUINO UNO TO MEASURE THE VISCOSITY OF LIQUIDS AND

ANDROID SMARTPHONE AS A DISPLAY

Abstract

Digital viscometer based on Arduino Uno has been successfully constructed by falling-sphere method. The tested liquid consist of glycerin, oil Shell Advance AX5 dan Tropical cooking oil. The measurement result using digital viscometer showed that the viscosity values of glycerin = 12.261 Poise, oil Shell Advance AX5 = 4.302 Poise and Tropical cooking oil = 1.499 Poise while using conventional method result glycerin = 12.013 Poise, oil Shell Advance AX5 = 4.496 Poise and Tropical cooking oil = 1.496 Poise. The digital viscometer is similar to conventional method as far as the viscosity value is concerned. Therefore, designed viscometer has ability to measure viscosity of liquids. Correction factor by Faxen derived from O’seen equation in measurement make the result more accurate.


(64)

SMARTPHONE ANDROID SEBAGAI DISPLAY

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

ACHMAD MUHAJIR 080801019

DEPARTEMEN FISIKA S-1

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA


(65)

PERANCANGAN VISKOMETER DIGITAL BERBASIS ARDUINO UNO UNTUK MENGUKUR VISKOSITAS CAIRAN DAN

SMARTPHONE ANDROID SEBAGAI DISPLAY

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

ACHMAD MUHAJIR 080801019

DEPARTEMEN FISIKA S-1

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA


(66)

PERSETUJUAN

Judul : PERANCANGAN VISKOMETER DIGITAL

BERBASIS ARDUINO UNO UNTUK MENGUKUR VISKOSITAS CAIRAN DAN SMARTPHONE ANDROID SEBAGAI DISPLAY

Kategori : SKRIPSI

Nama : ACHMAD MUHAJIR

Nomor Induk Mahasiswa : 080801019

Program Studi : SARJANA (S1) FISIKA

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVESITAS SUMATERA UTARA

Diluluskan di Medan,

Pembimbing I Pembimbing II

Dr. Poltak Sihombing, M. Komp Dr. Tulus Ikhsan Nasution, S.Si, M.Sc NIP: 196203171991021001 NIP: 197407162008121002

Medan, September 2013 Diketahui/Disetujui Oleh : Departemen Fisika FMIPA USU

Ketua

Dr. Marhaposan Situmorang NIP. 195507061981021000


(67)

PERNYATAAN

PERANCANGAN VISKOMETER DIGITAL BERBASIS ARDUINO UNO UNTUK MENGUKUR VISKOSITAS CAIRAN DAN

SMARTPHONE ANDROID SEBAGAI DISPLAY

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Maret 2013

ACHMAD MUHAJIR 080801019


(68)

PENGHARGAAN

Segala puji dan syukur saya ucapkan kepada ALLAH SWT Yang Maha Pemurah dan Maha Penyayang, dengan karunia-Nya saya berhasil menyelesaikan skripsi ini. Selawat dan salam kepada Muhammad SAW.

Yang teristimewa yaitu Ayah Ibu tercinta yang terus melimpahkan doa dan kasih sayangnya sampai akhirnya saya bisa menyelesaikan skripsi ini. Terima kasih kepada adik-adik saya Raja, Alfi dan Aziz yang telah memberikan dukungannya.

Dan ucapan terima kasih saya sampaikan kepada bapak Dr. Poltak Sihombing, M. Komp selaku pembimbing yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan dan menyelesaikan kajian ini. Dan terima kasih kepada Dr. Tulus Ikhsan Nasution, S.Si, M.Sc selaku co-pembimbing yang telah banyak membantu dalam penelitian dan memberikan arahan, motivasi, bantuan sarana hingga skripsi ini dapat diselesaikan. Ucapan terima kasih juga saya tujukan kepada Tria Alvionita Putri dan teman-teman saya Veroes ,Abang Ismail Marzuki, Abang Azwinnata, Deny, Adi, Sahril, Surya, Irwanto dan teman-teman seperjuangan yang telah memberikan banyak masukan dalam menyelesaikan skripsi ini.


(69)

PERANCANGAN VISKOMETER DIGITAL BERBASIS ARDUINO UNO UNTUK MENGUKUR VISKOSITAS CAIRAN DAN

SMARTPHONE ANDROID SEBAGAI DISPLAY

ABSTRAK

Viskometer digital berbasis Arduino Uno telah dilakukan dengan menggunakan metode bola jatuh, sampel yang digunakan yaitu Gliserin, Oli Shell Advance AX5 dan minyak goreng Tropical. Kekentalan dari tiap cairan telah diuji dengan menggunakan viskometer yang dirancang yang hasilnya Gliserin = 12,261 Poise, Oli Shell Advance = 4,302 Poise dan minyak goreng Tropical = 1,499 Poise dan dengan menggunakan metode konvensional (manual) hasilnya Gliserin = 12,013 Poise , Oli Shell Advance =4,496 Poise dan minyak goreng Tropical = 1,496. Hasil dari viskometer digital dibandingkan dengan metode konvensional memiliki perbedaan yang sangat mendekati sehingga dapat dikatakan bahwa alat yang dirancang memiliki kemampuan untuk mengukur kekentalan dari sebuah zat cair. Dengan adanya faktor koreksi oleh Faxen yang diturunkan dari persamaan O‘seen dalam pengukuran membuat hasil pengukuran lebih akurat.


(70)

DESIGNING DIGITAL VISCOMETER BASED ARDUINO UNO TO MEASURE THE VISCOSITY OF LIQUIDS AND

ANDROID SMARTPHONE AS A DISPLAY

Abstract

Digital viscometer based on Arduino Uno has been successfully constructed by falling-sphere method. The tested liquid consist of glycerin, oil Shell Advance AX5 dan Tropical cooking oil. The measurement result using digital viscometer showed that the viscosity values of glycerin = 12.261 Poise, oil Shell Advance AX5 = 4.302 Poise and Tropical cooking oil = 1.499 Poise while using conventional method result glycerin = 12.013 Poise, oil Shell Advance AX5 = 4.496 Poise and Tropical cooking oil = 1.496 Poise. The digital viscometer is similar to conventional method as far as the viscosity value is concerned. Therefore, designed viscometer has ability to measure viscosity of liquids. Correction factor by Faxen derived from O’seen equation in measurement make the result more accurate.


(71)

DAFTAR ISI

Halaman

Persetujuan ... ii

Pernyataan ... iii

Penghargaan ... iv

Abstrak ... v

Abstract ... vi

Daftar isi ... vii

Daftar Tabel ... ix

Daftar Gambar ... x

Daftar Grafik ... xi

BAB I Pendahuluan ... 1

1.1 Latar belakang ... 1

1.2 Perumusan Masalah ... 2

1.3 Batasan Masalah... 2

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 3

1.6 Tempat Penelitian... 3

1.7 Sistematika Penulisan ... 3

BAB 2 Landasan Teori ... 5

2.1 Viskositas ... 5

2.2 Arduino ... 7

2.3 Sensor LDR (Light Dependent Resistor) ... 9

2.4 Arduino USB HOST SHIELD ... 10

2.5 LASER(Light Amplification by Stimulated Emission Radiation). 11 2.4 Android ... 12


(72)

BAB 3 Metodologi Penelitian ... 14

3.1 Diagram Blok ... 14

3.2 Flowchart ... 16

3.3 Proses Kerja Alat... 17

3.4 Rangkaian Arduino Board... 18

3.5 Rangkaian USB HOST SHIELD ... 18

3.6 Perancangan Rangkaian Sensor LDR ... 19

3.7 Perancangan Sofware ... 20

BAB 4 Hasil dan Pembahasan ... 21

4.1 Pembahasan Sistem Keseluruhan ... 21

4.1.1 Pengujian Modul Arduino Uno Rev.3 ... 21

4.1.2 Pengujian Sistem Sensor ... 22

4.1.3 Pengujian Pengiriman Data dari Arduino ke Smartphone Android ... 23

4.2 Pengukuran Viskositas ... 25

BAB 5 Kesimpulan Dan Saran ... 35

5.1 Kesimpulan ... 35

5.2 Saran ... 35

Daftar Pustaka ... 37 LAMPIRAN I

LAMPIRAN II LAMPIRAN III


(73)

DAFTAR TABEL

Tabel 4.1 Data hasil perhitungan viskositas gliserin metode manual ... 28 Tabel 4.2 Data hasil perhitungan viskositas gliserin metode digital ... 28 Tabel 4.3 Data hasil perhitungan viskositas Oli Shell Advance AX5 metode

manual ... 28 Tabel 4.3 Data hasil perhitungan viskositas Oli Shell Advance AX5 metode

digital ... 29 Tabel 4.3 Data hasil perhitungan viskositas minyak gorang tropical metode

manual ... 29 Tabel 4.3 Data hasil perhitungan viskositas minyak gorang tropical metode


(74)

DAFTAR GAMBAR

Gambar 2.1 Gaya yang terjadi pada bola jatuh dalam cairan ... 7

Gambar 2.2 Arduino Uno Rev. 3 ... 8

Gambar 2.3 LDR (Light Dependent Resistor) ... 10

Gambar 2.4 USB Host Shield ... 11

Gambar 2.5 LASER pointer ... 12

Gambar 2.6 Android 4.3 (Jelly Bean) ... 13

Gambar 3.1 Diagram blok perancangan viskometer digital ... 14

Gambar 3.2 Diagram alir perancangan viskometer digital ... 16

Gambar 3.3 Skematik rangkaian Arduino Uno Rev.3 ... 18

Gambar 3.4 Skematik rangkaian USB Host Shield ... 19

Gambar 3.5 Rangkaian sistem LDR ... 20


(75)

DAFTAR GRAFIK

Grafik 4.1 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam cairan gliserin... 30 Grafik 4.2 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam cairan gliserin ... 31 Grafik 4.3 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam Oli Shell Advance AX5 ... 31 Grafik 4.4 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam Oli Shell Advance AX5 ... 32 Grafik 4.5 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam minyak goreng tropical ... 32 Grafik 4.6 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam minyak goreng tropical ... 31


(1)

vi

DESIGNING DIGITAL VISCOMETER BASED ARDUINO UNO TO MEASURE THE VISCOSITY OF LIQUIDS AND

ANDROID SMARTPHONE AS A DISPLAY

Abstract

Digital viscometer based on Arduino Uno has been successfully constructed by falling-sphere method. The tested liquid consist of glycerin, oil Shell Advance AX5 dan Tropical cooking oil. The measurement result using digital viscometer showed that the viscosity values of glycerin = 12.261 Poise, oil Shell Advance AX5 = 4.302 Poise and Tropical cooking oil = 1.499 Poise while using conventional method result glycerin = 12.013 Poise, oil Shell Advance AX5 = 4.496 Poise and Tropical cooking oil = 1.496 Poise. The digital viscometer is similar to conventional method as far as the viscosity value is concerned. Therefore, designed viscometer has ability to measure viscosity of liquids. Correction factor by Faxen derived from O’seen equation in measurement make the result more accurate.


(2)

vii

DAFTAR ISI

Halaman

Persetujuan ... ii

Pernyataan ... iii

Penghargaan ... iv

Abstrak ... v

Abstract ... vi

Daftar isi ... vii

Daftar Tabel ... ix

Daftar Gambar ... x

Daftar Grafik ... xi

BAB I Pendahuluan ... 1

1.1 Latar belakang ... 1

1.2 Perumusan Masalah ... 2

1.3 Batasan Masalah... 2

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 3

1.6 Tempat Penelitian... 3

1.7 Sistematika Penulisan ... 3

BAB 2 Landasan Teori ... 5

2.1 Viskositas ... 5

2.2 Arduino ... 7

2.3 Sensor LDR (Light Dependent Resistor) ... 9

2.4 Arduino USB HOST SHIELD ... 10

2.5 LASER(Light Amplification by Stimulated Emission Radiation). 11 2.4 Android ... 12


(3)

viii

BAB 3 Metodologi Penelitian ... 14

3.1 Diagram Blok ... 14

3.2 Flowchart ... 16

3.3 Proses Kerja Alat... 17

3.4 Rangkaian Arduino Board... 18

3.5 Rangkaian USB HOST SHIELD ... 18

3.6 Perancangan Rangkaian Sensor LDR ... 19

3.7 Perancangan Sofware ... 20

BAB 4 Hasil dan Pembahasan ... 21

4.1 Pembahasan Sistem Keseluruhan ... 21

4.1.1 Pengujian Modul Arduino Uno Rev.3 ... 21

4.1.2 Pengujian Sistem Sensor ... 22

4.1.3 Pengujian Pengiriman Data dari Arduino ke Smartphone Android ... 23

4.2 Pengukuran Viskositas ... 25

BAB 5 Kesimpulan Dan Saran ... 35

5.1 Kesimpulan ... 35

5.2 Saran ... 35

Daftar Pustaka ... 37 LAMPIRAN I

LAMPIRAN II LAMPIRAN III


(4)

ix

DAFTAR TABEL

Tabel 4.1 Data hasil perhitungan viskositas gliserin metode manual ... 28 Tabel 4.2 Data hasil perhitungan viskositas gliserin metode digital ... 28 Tabel 4.3 Data hasil perhitungan viskositas Oli Shell Advance AX5 metode

manual ... 28 Tabel 4.3 Data hasil perhitungan viskositas Oli Shell Advance AX5 metode

digital ... 29 Tabel 4.3 Data hasil perhitungan viskositas minyak gorang tropical metode

manual ... 29 Tabel 4.3 Data hasil perhitungan viskositas minyak gorang tropical metode


(5)

x

DAFTAR GAMBAR

Gambar 2.1 Gaya yang terjadi pada bola jatuh dalam cairan ... 7

Gambar 2.2 Arduino Uno Rev. 3 ... 8

Gambar 2.3 LDR (Light Dependent Resistor) ... 10

Gambar 2.4 USB Host Shield ... 11

Gambar 2.5 LASER pointer ... 12

Gambar 2.6 Android 4.3 (Jelly Bean) ... 13

Gambar 3.1 Diagram blok perancangan viskometer digital ... 14

Gambar 3.2 Diagram alir perancangan viskometer digital ... 16

Gambar 3.3 Skematik rangkaian Arduino Uno Rev.3 ... 18

Gambar 3.4 Skematik rangkaian USB Host Shield ... 19

Gambar 3.5 Rangkaian sistem LDR ... 20


(6)

xi

DAFTAR GRAFIK

Grafik 4.1 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam cairan gliserin... 30 Grafik 4.2 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam cairan gliserin ... 31 Grafik 4.3 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam Oli Shell Advance AX5 ... 31 Grafik 4.4 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam Oli Shell Advance AX5 ... 32 Grafik 4.5 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode konvensional dalam minyak goreng tropical ... 32 Grafik 4.6 Grafik hubungan hasil pengukuran waktu dan nomor pengujian dengan metode digital dalam minyak goreng tropical ... 31