tugas akhir final

112
TUGAS AKHIR Perancangan Sistem Pengukur Suhu Menggunakan Arduino dan C#.Net Diajukan guna melengkapi sebagian syarat dalam mencapai gelar Sarjana Strata Satu (S1) Disusun Oleh : Nama : Lucky Yuditia Putra NIM : 41411110052 Program Studi : Teknik Elektro PROGRAM STUDI TEKNIK ELEKTRO

Upload: ugm

Post on 17-Jan-2023

3 views

Category:

Documents


0 download

TRANSCRIPT

TUGAS AKHIR

Perancangan Sistem Pengukur Suhu Menggunakan Arduino

dan C#.Net

Diajukan guna melengkapi sebagian syarat

dalam mencapai gelar Sarjana Strata Satu (S1)

Disusun Oleh :

Nama : Lucky Yuditia Putra

NIM : 41411110052

Program Studi : Teknik Elektro

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS MERCU BUANA

JAKARTA

2013

LEMBAR PERNYATAAN

Yang bertanda tangan di bawah ini,

Nama :Lucky Yuditia Putra

N.I.M :41411110052

Jurusan :Teknik Elektro

Fakultas :Teknik

Judul Skripsi : Perancangan Sistem Pengukur

Suhu Menggunakan Arduino dan C#.Net

Dengan ini menyatakan bahwa hasil penulisan

Skripsi yang telah saya buat ini merupakan hasil karya

sendiri dan benar keasliannya. Apabila ternyata di

kemudian hari penulisan Skripsi ini merupakan hasil

plagiat atau penjiplakan terhadap karya orang lain,

maka saya bersedia mempertanggungjawabkan sekaligus

ii

bersedia menerima sanksi berdasarkan aturan tata tertib

di Universitas Mercu Buana

Demikian, pernyataan ini saya buat dalam keadaan

sadar dan tidak dipaksakan

Penulis,

Lucky Yuditia

Putra

LEMBAR PENGESAHAN

Perancangan Sistem Pengukur Suhu Menggunakan Arduino

dan C#.Net

Disusun Oleh :

Nama : Lucky Yuditia Putra

NIM : 41411110052

Jurusan : Teknik Elektro

iii

Pembimbing,

[ Ir. Yudhi Gunardi, MT]

Mengetahui,

Koordinator Tugas Akhir / Ketua Program Studi

[ Ir. Yudhi Gunardi, MT ]

ABSTRAK

Perancangan Sistem Pengukur Suhu Menggunakan Arduino

dan C#.Net

iv

Sebagai makhluk hidup pada hakikatnya membutuhkansuhu udara yang tepat untuk memenuhi kebutuhanhidupnya. Agar lebih efisien maka perlu dilakukannyaproses pengukuran. Salah satu proses pengukur suhuruangan yang banyak digunakan baik untuk memenuhikebutuhan di industri maupun di rumah tangga pada saatini adalah sistem pengukur suhu dan pendingin ruangansecara otomatis.

Sistem pengukur suhu dan otomatisasi pendinginruangan merupakan salah satu sistem yang sangatbermanfaat bagi kehidupan manusia. Dengan sistem inidiharapkan dapat mempermudah mengetahui suhu ruangan.LM35 merupakan sensor yang digunakan dalam tugas akhirini sebagai sensor yang sangat sensitif terhadaptemperatur. Hasil sensor tersebut di olah Arduino Unoyang kemudian ditampilkan dalam aplikasi desktop denganmenggunakan C# .Net dan disimpan kedalam basis data.

Setelah dilakukannya proses pengujian, sistempengukur suhu ruangan khususnya yang dibuat pada tugasakhir ini dapat mengukur suhu ruangan dengan nilaitoleransi data tak tersimpan ±4kali dalam satu menit.Ketika suhu melebihi suhu yang ditetapkan, maka kipasakan berputar secara otomatis sebagai pendinginruangan. Sistem ini bekerja setiap detik sertamenampilkan hasil pada aplikasi desktop dan menyimpan kedalam basis data sebagai tempat penyimpanan terakhiryang dikemudian hari dapat dikembangkan atau di ambilsebuah keputusan.

v

Kata kunci : Pengukuran, Suhu, Ruangan, Arduino, Uno,LM35, Kipas, C# .Net, Pendingin, Otomatis,Otomatisasi

KATA PENGANTAR

Puji Syukur Alhamdullilah, penulis panjatkan

kehadirat Allah SWT, yang telah melimpahkan rahmat dan

karunia-Nya, sehingga pada akhirnya penulis dapat

menyelesaikan tugas akhir ini dengan baik. Dimana tugas

akhir ini penulis sajikan dalam bentuk paper sederhana.

Adapun judul tugas akhir yang penulis buat sebagai

beikut “Perancangan Sistem Pengukur Suhu Menggunakan

Arduino dan C#.Net”.

Tujuan dari penulisan tugas akhir ini yaitu guna

mendapatkan gelar sarjana strata satu pada Universitas

Mercu Buana. Sebagai bahan penulisan diambil

berdasarkan hasil penelitian atau eksperimen, observasi

dan beberapa literatur yang mendukung penulisan tugas

akhir ini. Penulis menyadari bahwa tanpa bimbingan dan

dorongan dari semua pihak, maka penulisan tugas akhir

ini tidak akan berjalan dengan lancar. Oleh karena itu

vi

pada kali ini, penulis menyampaikan ucapan terima kasih

kepada:

1. Rektor Universitas Mercu Buana

2. Bapak Ketua Program Studi Teknik Elektro

3. Bapak Koordinator Tugas Akhir

4. Bapak Ir. Yudhi Gunardi, MT selaku pembimbing

5. Orang tua yang memberikan dukungan penuh

6. Istri tercinta Ratih Yulia Hayuningtyas

Dan semua pihak yang banyak membantu penulisan

tugas akhir ini yang tidak dapat disebutkan. Penulis

menyadari bahwa penulisan tugas akhir ini masih jauh

sekali dari sempurna, untuk itu penulis mohon kritik

dan saran demi membangun kesempurnaan penulisan ini.

Akhir kata semoga penulisan tugas akhir ini dapat

bermanfaat dan berguna bagi para pembaca pada umumnya.

Jakarta,

September 2013

vii

Lucky

Yuditia Putra

DAFTAR ISI

LEMBAR PERNYATAAN....................................ii

LEMBAR PENGESAHAN...................................iii

viii

ABSTRAK ...........................................iv

KATA PENGANTAR........................................v

DAFTAR ISI.............................................

vii

DAFTAR GAMBAR.........................................x

DAFTAR TABEL........................................xii

BAB I PENDAHULUAN ..................................1

1.1 Latar Belakang Masalah.........................1

1.2 Rumusan Masalah................................2

1.3 Pembatasan Masalah.............................2

1.4 Tujuan Penulisan...............................3

1.5 Metodologi Penelitian..........................3

1.6 Sistematika Penulisan..........................4

BAB II LANDASAN TEORI ..............................5

2.1. Mikrokontroler.................................5

2.2. Arduino........................................7

2.2.1.Pengenalan..................................7

2.2.2.Sejarah Arduino.............................8

2.2.3.Hardware....................................9

2.2.4.Software Arduino...........................10

2.2.5.Melakukan Penginstalan Arduino Ke Komputer. 13

ix

2.2.6.Melakukan Penginstalan Driver Untuk Windows 13

2.2.7.Identifikasi Port Pada Windows...............14

2.2.8.Melakukan Pengujian Pada Papan Arduino.....16

2.2.9.Melakukan Pengujian Rangkaian Pada Papan

Percobaan........................................17

2.2.10...........................Masalah Dengan IDE

18

2.2.11......................Troubleshooting Arduino

19

2.3. Kipas/ Motor DC...............................21

2.4. Sensor suhu IC LM 35..........................22

2.4.1.Karakteristik Sensor LM35..................23

2.4.2.Prinsip Kerja LM35.........................24

2.4.3.Kelebihan dan Kelemahan IC Temperature LM35 25

2.5. Protoboard....................................25

2.5.1.Spesifikasi Protoboard.....................26

2.6. Transistor....................................29

2.7. Microsoft Visual C# ( C Sharp) .Net...........31

2.7.1.Sejarah....................................32

2.7.2.Tujuan Desain..............................34

BAB III PERANCANGAN ALAT ..........................36

x

3.1. Alat dan Bahan................................36

3.2. Rancangan Sistem Pengukur Suhu dan Pendingin

Ruangan............................................36

3.2.1.Perancangan Aplikasi.......................37

3.3. Perancangan Miniatur Ruangan..................38

3.4. Rangkaian Arduino dengan Sensor LM 35.........39

3.5. Rangkaian Arduino dengan Kipas DC 12V.........40

3.6. Diagram Alir Sistem Pengukur Suhu dan Pendingin40

3.7. Perancangan Aplikasi Desktop menggunakan C# .Net 42

3.7.1.Perancangan Main Form......................42

3.7.2.Perancangan form penampil data..............43

BAB IV PENGUJIAN ALAT .............................45

4.1. Pengujian Hardware............................45

4.1.1.Pengujian Rangkaian Arduino dengan LM35... .45

4.1.2.Pengujian Rangkaian dengan Kipas...........46

4.2. Pengujian Software............................48

4.2.1.Menginstal Aplikasi Desktop................48

4.2.2.Menampilkan aplikasi desktop.................50

4.3. Hasil Pengukuran Suhu dan Interaksi Aplikasi

dengan Arduino.....................................51

4.3.1.Menampilkan Suhu yang dipanaskan...........52

xi

4.3.2.Menampilkan suhu yang didinginkan..........52

4.3.3.Menampilkan hasil pengukuran suhu yang telah

disimpan.........................................53

4.3.4.Toleransi Hasil Pengukuran.................54

4.3.5.Perbandingan dengan alat Termometer lain. . .56

BAB V KESIMPULAN ..................................58

5.1. Kesimpulan....................................58

5.2. Saran.........................................59

DAFTAR PUSTAKA

LAMPIRAN

DAFTAR GAMBAR

Gambar 2.1........................Bagian Mikrokontroler

5

Gambar 2.2.............................Hardware Arduino

9

xii

Gambar 2.3.....Device Manager pada Windows menampilkan

semua terminal serial..................................

15

Gambar 2.4.....................................Kipas DC

21

Gambar 2.5......................................IC LM35

22

Gambar 2.6............Grafik akurasi LM35 terhadap Suhu

23

Gambar 2.7..............................Mini Protoboard

26

Gambar 2.8.............................Jalur Breadboard

28

Gambar 2.9...................................Transistor

29

Gambar 2.10..........Diagram rangkaian dari transistor

Darlington...........................................30

Gambar 2.11....................Microsoft Visual C# .Net

32

Gambar 3.1..........................Diagram Blok Sistem

37

xiii

Gambar 3.2.............................Miniatur ruangan

39

Gambar 3.3..................Rangkaian Arduino dan LM 35

39

Gambar 3.4.......Rangkaian Arduino dengan Kipas / Motor

40

Gambar 3.5.............Diagram alir sistem kontrol suhu

41

Gambar 3.6...................Form utama aplikasi desktop

43

Gambar 3.7...............Perancangan form penampil data

44

Gambar 4.1.Kipas tidak berputar ketika suhu sebenarnya

lebih kecil dari suhu variable............................................................

47

Gambar 4.2. Kipas menyala ketika suhu variable lebih kecil

dari suhu sebenarnya...................................

47

Gambar 4.3....................Software aplikasi desktop

48

xiv

Gambar 4.4.............Instalasi Aplikasi Pengukur Suhu

48

Gambar 4.5............Lokasi penyimpanan file instalasi

49

Gambar 4.6................Konfirmasi instalasi aplikasi

49

Gambar 4.7...................Instalasi Aplikasi selesai

50

Gambar 4.8....................Shortcut aplikasi desktop

50

Gambar 4.9................Tampilan awal aplikasi desktop

51

Gambar 4.10...Interaksi Arduino dengan aplikasi desktop

51

Gambar 4.11. Tampilan aplikasi desktop ketika sensor suhu

dipanaskan...........................................52

Gambar 4.12. Tampilan aplikasi desktop ketika sensor suhu

didinginkan..........................................53

Gambar 4.13..Informasi suhu yang disimpan di basis data

53

xv

DAFTAR TABEL

Tabel 3.1................................Alat dan Bahan

36

Tabel 4.1.........Tabel hasil pengujian pengukuran suhu

46

Tabel 4.2.........Hasil pengukuran suhu waktu per detik

54

Tabel 4.3..........Hasil perbandingan dengan termometer

56

xvi

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Di jaman yang semakin maju ini, terlahir banyak

solusi yang dapat memecahkan permasalahan manusia.

Permasalahan yang timbul akibat keterbatasan manusia

ataupun dari faktor lain, kini sedikit demi sedikit

sudah dapat diatasi. Salah satu solusi yang dapat

memecahkan permasalan manusia yaitu dengan menggunakan

sistem kendali berbasis komputer. Dengan menggunakan

sistem kendali berbasis komputer, diharapkan dapat

membantu dan meringankan pekerjaan manusia serta

menjadi solusi untuk setiap permasalahan manusia.

Mikrokontroler merupakan suatu pengendali

berukuran mikro, yang dapat digunakan bersamaan dengan

1

alat elektronik lainnya. Keunggulan yang dimiliki

mikrokontroler yaitu sebagai suatu sistem kendali.

Pemakaian mikrokontroler umumnya digunakan dalam

embedded systems yaitu sub-sistem mikrokomputer khusus

sebagai bagian dari suatu sistem yang pengontrolnya

yaitu mikrokontroler dihubungkan dalam suatu mesin.

Ciri khas dari embedded systems adalah tidak melakukan

transformasi data tetapi langsung berinteraksi dengan

perangkat luar seperti sensor dan aktuator.

3

Untuk membuktikan bahwa mikrokontroler dapat

dirancang untuk suatu sistem kendali berbasis komputer

dan melakukan suatu pekerjaan manusia yang khususnya

pada tugas akhir ini adalah digunakan sebagai suatu

sistem untuk mengukur suhu ruangan. Maka penulis

membuat laporan tugas akhir ini dengan judul

“Perancangan Sistem Pengukur Suhu Menggunakan Arduino

dan C#.Net”.

1.2 Rumusan Masalah

Berdasarkan dari latar belakang tersebut maka

beberapa permasalahan yang akan muncul dalam

mengerjakan tugas akhir ini antara lain :

1. Prinsip kerja dari mikrokontroler khususnya pada

mikrokontroler yang akan digunakan yaitu Arduino

Uno.

2. Pembuatan program mikrokontroler yang akan dibuat

agar sesuai dengan yang diinginkan.

3. Komunikasi mikrokontroler dengan komponen lainnya

seperti Sensor Suhu, Kipas DC serta aplikasi desktop

menggunakan C# .Net.

4

1.3 Pembatasan Masalah

Dikarenakan luasnya permasalahan di dalam

pembahasan dan agar tidak terjadi kesalahpahaman maksud

dari apa yang ada di dalam penulisan tugas akhir ini

maka dibutuhkannya pembatasan masalah tersebut antara

lain :

1. Membahas mengenai perancangan program

mikrokontroler khususnya Arduino Uno yang

diaplikasikan sebagai sistem pengukur suhu ruangan.

2. Membahas komponen yang digunakan dalam membuat

tugas akhir ini.

3. Membahas mengenai rangkaian yang digunakan dalam

membuat tugas akhir ini.

1.4 Tujuan Penulisan

Berikut ini merupakan beberapa tujuan dari

penulisan tugas akhir ini antara lain :

1. Mengetahui cara mengomunikasikan antara

mikrokontroler khususnya Arduino Uno dengan Sensor

5

Suhu, Kipas DC dan aplikasi desktop menggunakan

C# .Net.

1.5 Metodologi Penelitian

Untuk menyelesaikan penulisan tugas akhir ini

penulis melakukan beberapa tahap metode penelitian

sebagai berikut :

1. Studi Pustaka

Pada metode ini penulis mencari bahan penulisan

tugas akhir ini yang diperoleh dari buku atau

jurnal yang khususnya mengenai pembuatan tugas

akhir ini.

2. Eksperimen

Dengan metodologi eksperimen penulis membuat alat

pengukur suhu ruangan, dimana semua data diambil

berdasarkan hasil baik dari proses perancangan,

proses pemrogaman sampai proses pengujian alat.

1.6 Sistematika Penulisan

Sistematika penulisan pada tugas akhir ini dibagi

atas beberapa bab dan masing-masing bab terbagi menjadi

6

beberapa sub-bab. Setiap bab memberikan gambaran secara

keseluruhan mengenai isi dari tugas akhir ini.

BAB I PENDAHULUAN

Pada bab ini menguraikan tentang latar

belakang, rumusan masalah, batasan masalah,

tujuan penelitian, metode penelitian, dan

sistematika penulisan.

BAB II LANDASAN TEORI

Dalam bab ini menjelaskan tentang teori yang

berhubungan dengan sistem atau alat yang

dirancang diantaranya yaitu, teori pengertian

tentang mikrokontroler, arduino, sensor suhu

LM35, kipas dc, transistor, protoboard dan

tentang software Microsoft Visual C#.

BAB III PERANCANGAN ALAT

Dalam bab ini dibahas tentang perancangan

alat dari sistem pengukur suhu dan

otomatisasi pendingin ruangan.

BAB IV PENGUJIAN ALAT

Bagian bab ini menjelaskan tentang pengujian

alat yang digunakan dalam tugas akhir ini dan

7

menjelaskan hasil pengukuran dari mulai input

dan output yang dihasilkan dari alat yang

dirancang.

BAB V KESIMPULAN DAN SARAN

Dalam bab ini menjelaskan kesimpulan dari

tugas akhir ini dan memberikan saran dari

alat yang dibuat.

BAB II

LANDASAN TEORI

2.1. Mikrokontroler

Mikrokontroler merupakan suatu IC yang di dalamnya

berisi CPU, ROM, RAM, dan I/O. Dengan adanya CPU

tersebut maka mikrokontroler dapat melakukan proses

berfikir berdasarkan program yang telah diberikan

kepadanya. Mikrokontroler banyak terdapat pada

peralatan elektronik yang serba otomatis, mesin fax,

dan peralatan elektronik lainnya. Mikrokontroler

dapat disebut pula sebagai komputer yang berukuran

kecil yang berdaya rendah sehingga sebuah baterai

dapat memberikan daya. Mikrokontroler terdiri dari

beberapa

bagian seperti yang terlihat pada gambar di bawah ini :

8

Gambar 2.1. Bagian Mikrokontroler

9

10

Pada Gambar 2.1. di atas tampak suatu

mikrokontroler standar yang tersusun atas komponen-

komponen sebagai berikut :

A. Central Processing Unit (CPU)

CPU merupakan bagian utama dalam suatu

mikrokontroler. CPU pada mikrokontroler ada yang

berukuran 8 bit ada pula yang berukuran 16 bit. CPU ini

akan membaca program yang tersimpan di dalam ROM dan

melaksanakannya.

B. Read Only Memory (ROM)

ROM merupakan suatu memori (alat untuk

mengingat) yang sifatnya hanya dibaca saja. Dengan

demikian ROM tidak dapat ditulisi. Dalam dunia

mikrokontroler ROM digunakan untuk menyimpan program

bagi mikrokontroler tersebut. Program tersimpan dalm

format biner (‘0’ atau ‘1’). Susunan bilangan biner

tersebut bila telah terbaca oleh mikrokontroler akan

memiliki arti tersendiri.

C. Random Acces Memory (RAM)

Berbeda dengan ROM, RAM adalah jenis memori

selain dapat dibaca juga dapat ditulis berulang kali.

11

Tentunya dalam pemakaian mikrokontroler ada semacam

data yang bisa berubah pada saat mikrokontroler

tersebut bekerja. Perubahan data tersebut tentunya

juga akan tersimpan ke dalam memori. Isi pada RAM akan

hilang jika catu daya listrik hilang.

D. Input / Output (I/O)

Untuk berkomunikasi dengan dunia luar, maka

mikrokontroler menggunakan terminal I/O (port I/O),

yang digunakan untuk masukan atau keluaran.

E. Komponen lainnya

Beberapa mikrokontroler memiliki

timer/counter, ADC (Analog to Digital Converter), dan komponen

lainnya. Pemilihan komponen tambahan yang sesuai

dengan tugas mikrokontr oler akan sangat membantu

perancangan sehingga dapat mempertahankan ukuran yang

kecil. Apabila komponen komponen tersebut belum ada

pada suatu mikrokontroler, umumnya komponen tersebut

masih dapat ditambahkan pada sistem mikrokontroler

melalui port-portnya.

12

2.2. Arduino

2.2.1. Pengenalan

Arduino didefinisikan sebagai sebuah platform

elektronik yang open source, berbasis pada software dan

hardware yang fleksibel dan mudah digunakan, yang

ditujukan untuk seniman, desainer, hobbies dan setiap

orang yang tertarik dalam membuat objek atau lingkungan

yang interaktif (Artanto, 2012:1).

Arduino sebagai sebuah platform komputasi fisik

(Physical Computing) yang open source pada board input ouput

sederhana, yang dimaksud dengan platform komputasi fisik

disini adalah sebuah sistem fisik hyang interaktif

dengan penggunaan software dan hardware yang dapat

mendeteksi dan merespons situasi dan kondisi.

Menurut Artanto (2012:2), kelebihan arduino dari

platform hardware mikrokontroler lain adalah:

1. IDE Arduino merupakan multiplatform, yang dapat

dijalankan di berbagai sistem operasi, seperti

Windows, Macintosh dan Linux.

13

2. IDE Arduino dibuat berdasarkan pada IDE Processing,

yang sederhana sehingga mudah digunakan.

3. Pemrograman arduino menggunakan kabel yang

terhubung dengan port USB, bukan port serial. Fitur

ini berguna karena banyak komputer yang sekarang

ini tidak memiliki port serial.

4. Arduino adalah hardware dan software open source

pembaca bisa mendownload software dan gambar

rangkaian arduino tanpa harus membayar ke pembuat

arduino.

5. Biaya hardware cukup murah, sehingga tidak terlalu

menakutkan untuk membuat kesalahan.

6. Proyek arduino ini dikembangkan dalam lingkungan

pendidikan sehingga bagi pemula akan lebih cepat

dan mudah mempelajarinya.

7. Memiliki begitu banyak pengguna dan komunitas di

internet dapat membantu setiap kesulitan yang

dihadapi.

14

2.2.2. Sejarah Arduino

Proyek Arduino dimulai pertama kali di Ovre, Italy

pada tahun 2005. Tujuan proyek ini awalnya untuk

membuat peralatan control interaktif dan modul

pembelajaran bagi siswa yang lebih murah dibandingkan

dengan prototype yang lain. Pada tahun 2010 telah

terjual dari 120 unit Arduino. Arduino yang berbasis

open source melibatkan tim pengembang. Pendiri arduino

itu Massimo Banzi dan David Cuartielles, awalnya mereka

memberi nama proyek itu dengan sebutan arduino dari

ivrea tetapi seturut perkembangan zaman nama proyek itu

diubah menjadi Arduino.

Arduino dikembangkan dari thesis hernando Barragan

di desain interaksi institute Ivrea. Arduino dapat

menerima masukan dari berbagai macam sensor dan juga

dapat mengontrol lampu, motor dan aktuator lainnya.

Mikrokontroler pada board arduino di program dengan

menggunkan bahasa pemrograman arduino (based on wiring)

dan IDE arduino (based on processing). Proyek arduino

dapat berjalan sendiri atau juga bisa berkomunikasi

dengan software yang berjalan pada komputer.

15

2.2.3. Hardware

Papan Arduino merupakan papan mikrokontroler yang

berukuran kecil atau dapat diartikan juga dengan suatu

rangkaian berukuran kecil yang didalamnya terdapat

komputer berbentuk suatu chip yang kecil.

Pada Gambar 2.2. dapat dilihat sebuah papan

Arduino dengan beberapa bagian komponen didalamnya.

Gambar 2.2. Hardware Arduino

Pada hardware arduino terdiri dari 20 pin yang

meliputi:

a. 14 pin IO Digital (pin 0–13)

Sejumlah pin digital dengan nomor 0–13 yang dapat

dijadikan input atau output yang diatur dengan cara

membuat program IDE.

16

b. 6 pin Input Analog (pin 0–5)

Sejumlah pin analog bernomor 0–5 yang dapat

digunakan untuk membaca nilai input yang memiliki

nilai analog dan mengubahnya ke dalam angka antara 0

dan 1023.

c. 6 pin Output Analog (pin 3, 5, 6, 9, 10 dan 11)

Sejumlah pin yang sebenarnya merupakan pin digital

tetapi sejumlah pin tersebut dapat diprogram kembali

menjadi pin output analog dengan cara membuat

programnya pada IDE.

Papan Arduino Uno dapat mengambil daya dari USB

port pada komputer dengan menggunakan USB charger atau

dapat pula mengambil daya dengan menggunakan suatu AC

adapter dengan tegangan 9 volt. Jika tidak terdapat

power supply yang melalui AC adapter, maka papan

Arduino akan mengambil daya dari USB port. Tetapi

apabila diberikan daya melalui AC adapter secara

bersamaan dengan USB port maka papan Arduino akan

mengambil daya melalui AC adapter secara otomatis.

17

2.2.4. Software Arduino

Software arduino yang digunakan adalah driver dan

IDE, walaupun masih ada beberapa software lain yang

sangat berguna selama pengembangan arduino. IDE atau

Integrated Development Environment suatu program khusus untuk

suatu komputer agar dapat membuat suatu rancangan atau

sketsa program untuk papan Arduino. IDE arduino

merupakan software yang sangat canggih ditulis dengan

menggunakan java. IDE arduino terdiri dari:

1. Editor Program

Sebuah window yang memungkinkan pengguna menulis dan

mengedit program dalam bahasa processing

2. Compiler

Sebuah modul yang mengubah kode program menjadi kode

biner bagaimanapun sebuah mikrokontroler tidak akan

bisa memahami bahasa processing.

3. Uploader

Sebuah modul yang memuat kode biner dari komputer ke

dalam memory di dalam papan arduino

18

Dalam bahasa pemrograman arduino ada tiga bagian

utama yaitu struktur, variabel dan fungsi (Artanto,

2012:27):

1. Struktur Program Arduino

a.Kerangka Program

Kerangka program arduino sangat sederhana, yaitu

terdiri atas dua blok. Blok pertama adalah void

setup() dan blok kedua adalah void loop.

1). Blok Void setup ()

Berisi kode program yang hanya dijalankan

sekali sesaat setelah arduino dihidupkan atau

di-reset. Merupakan bagian persiapan atau

instalasi program.

2). Blok void loop()

Berisi kode program yang akan dijalankan terus

menerus. Merupakan tempat untuk program utama.

b. Sintaks Program

Baik blok void setup loop () maupun blok function

harus diberi tanda kurung kurawal buka “{“ sebagai

19

tanda awal program di blok itu dan kurung kurawal

tutup “}” sebagai tanda akhir program.

2. Variabel

Sebuah program secara garis besar dapat

didefinisikan sebagai instruksi untuk memindahkan angka

dengan cara yang cerdas dengan menggunakan sebuah

varibel.

3. Fungsi

Pada bagian ini meliputi fungsi input output

digital, input output analog, advanced I/O, fungsi

waktu, fungsi matematika serta fungsi komunikasi.

Pada proses Uploader dimana pada proses ini

mengubah bahasa pemrograman yang nantinya dicompile

oleh avr-gcc (avr-gcc compiler) yang hasilnya akan

disimpan kedalam papan arduino.

Avr-gcc compiler merupakan suatu bagian penting

untuk software bersifat open source. Dengan adanya avr-

gcc compiler, maka akan membuat bahasa pemrogaman dapat

dimengerti oleh mikrokontroler. Proses terakhir ini

sangat penting, karena dengan adanya proses ini maka

20

akan membuat proses pemrogaman mikrokontroler menjadi

sangat mudah.

Berikut ini merupakan gambaran siklus yang terjadi

dalam melakukan pemrogaman Arduino:

1. Koneksikan papan Arduino dengan komputer melalui

USB port.

2. Tuliskan sketsa rancangan suatu program yang akan

dimasukkan ke dalam papan Arduino.

3. Upload sketsa program ke dalam papan Arduino melalui

kabel USB dan kemudian tunggu beberapa saat untuk

melakukan restart pada papan Arduino.

4. Papan Arduino akan mengeksekusi rancangan sketsa

program yang telah dibuat dan di-upload ke papan

Arduino.

2.2.5. Melakukan Penginstalan Arduino Ke Komputer

Untuk melakukan pemrogaman pada papan Arduino,

disarankan untuk men-download IDE Arduino terlebih

dahulu yang dapat diperoleh dari situs:

www.arduino.cc/en/Main/Software. Dan kemudian pilih

21

versi yang tepat untuk sistem operasi komputer yang

digunakan.

Setelah melakukan download, lakukanlah proses

uncompress dengan cara melakukan double-click pada file

tersebut. Proses ini secara otomatis akan membuat suatu

folder yang bernama arduino-[version], contohnya seperti

arduino-0012.

Setelah melakukan penginstalan IDE Arduino pada

komputer, tahap selanjutnya adalah harus melakukan

penginstalan untuk driver. Fungsi utama penginstalan

driver ini adalah agar komputer dapat melakukan

komunikasi dengan papan Arduino melalui USB port.

2.2.6. Melakukan Penginstalan Driver Untuk Windows

Koneksikan papan Arduino dengan komputer dan

ketika Found New Hardware Wizard pada layar muncul, Windows

secara otomatis akan mencoba menemukan terlebih dahulu

driver tersebut pada halaman Windows Update.

Windows XP akan meminta untuk memeriksa Windows

Update, dan jika tidak ingin menggunakan Windows Update

pilih menu “No,not at this time” dan tekan tombol Next. Dan

22

pada layar selanjutnya, pilih menu “Install from a list or

specific location” dan tekan tombol Next.

Periksa layar berjudul “Include this location in the search”

dan tekan tombol Browse. Kemudian pilih folder dimana

Arduino sudah terinstal dan pilih folder Drivers\FTDIUSB

Drivers untuk menetukan lokasinya dan tekan tombol OK dan

Next pada layar tesebut.

Windows Vista akan berusaha menemukan driver tersebut

pada Windows Update, dan jika terjadi kegagalan dalam

melakukan pencarian driver, maka lakukan pencarian secara

manual pada folder Drivers\FTDIUSB Drivers.

Proses pencarian driver secara manual memiliki dua

prosedur yang harus dilewati, yang pertama komputer

harus menginstal driver low-level terlebih dahulu dan yang

kedua adalah menginstal bagian kode yang membuat papan

Arduino terlihat seperti suatu serial port untuk komputer.

Apabila driver telah terinstal, maka Arduino IDE

dapat diaktifkan dan papan Arduino dapat digunakan pada

komputer. Untuk tahap selanjutnya adalah harus selalu

mengingat serial port komputer yang telah ditandai untuk

papan Arduino.

23

2.2.7. Identifikasi Port Pada Windows

Pada Windows, proses untuk melakukan identifikasi

port sedikit lebih rumit dibandingkan dengan Machintosh.

Pertama, buka layar Device Manager dengan cara memilih

menu Start, lakukan right-clicking pada Computer (Vista) atau My

Computer (XP), dan pilih Properties.

Pada Windows XP, pilih Hardware dan kemudian pilih

Device Manager. Sedangkan untuk Windows Vista, pilih Device

Manager yang telah ada didalam daftar pada sebelah kiri

layar.

Cari Arduino device yang berada dibawah daftar “Port

(COM & LPT)”. Arduino akan muncul sebagai suatu USB serial

port dan akan memiliki suatu nama seperti COM3, hal ini

dapat dilihat pada Gambar 2.3.

24

Gambar 2.3. Device Manager pada Windows menampilkan semua

terminal serial.

2.2.8. Melakukan Pengujian Pada Papan Arduino

Kita ambil contoh kasus yang sederhana yaitu

mengalami kegagalan pada saat melakukan percobaan

“mengedipkan LED”. Mari cari tahu apa yang harus

dilakukan.

25

Sebelum menyalahkan percobaan yang dibuat, kita

harus memastikan beberapa komponen sudah berada di

dalam urutan yang benar. Sama halnya dengan seorang

pilot suatu maskapai penerbangan yang menggunakan

beberapa daftar pemeriksaan sebelum melakukan

penerbangan, untuk memastikan bahwa pesawat dalam

kondisi yang baik.

Koneksikan papan Arduino ke USB port yang ada pada

komputer dengan menggunakan kabel USB.

1. Pastikan komputer dalam kondisis menyala (mungkin

kedengarannya konyol tapi hal ini pernah terjadi).

Jika lampu PWR yang berwarna hijau pada papan

Arduino menyala, berarti menandakan papan Arduino

telah disuplai daya oleh komputer. Jika LED terlihat

sangat redup, berarti ada suatu kesalahan dengan

daya yang disuplai: coba ganti kabel USB dan lakukan

pemeriksaan antara USB port pada komputer dan konektor

USB pada papan Arduino. Jika masih mengalami

kegagalan, ganti USB port yang lainnya pada komputer

tersebut atau gunakan komputer yang lain.

26

2. Jika Arduino yang digunakan merupakan produk baru,

lampu LED yang berwarna kuning akan mulai berkedip

dengan pola menyala sedikit gugup. Pengujian ini

merupakan pengujian yang dilakukan di pabrik untuk

menguji papan Arduino.

3. Jika menggunakan power supply eksternal dan menggunakan

jenis Arduino yang lama seperti Extreme, NG, atau

Diecimila, pastikan bahwa power supply tersambung dengan

benar dan jumper yang ditandai dengan SV1

menghubungkan dua pin yang terdekat dengan konektor

power supply eksternal.

2.2.9. Melakukan Pengujian Rangkaian Pada Papan

Percobaan

Sekarang koneksikan papan Arduino dengan papan

percobaan breadboard dengan memasang jumper dari 5 V.

Kemudian untuk ground atau GND dikoneksikan ke rel

positif dan negative yang berada pada papan percobaan

breadboard. Jika LED PWR yang berwarna hijau tidak

27

menyala, segera lepaskan semua kabel. Hal tersebut

menandakan bahwa terdapat kesalahan besar dan terjadi

hubung singkat (short circuit) pada rangkaian. Pada saat

terjadinya hubung singkat, papan Arduino menarik

terlalu banyak arus dan daya akan terputus untuk

melindungi komputer.

Jika terjadi short circuit, maka kita harus memulainya

kembali dari proses penyederhanaan dan pembagian

(simplification and segmentation). Setelah itu, yang harus

dilakukan adalah memeriksa setiap sensor yang digunakan

pada percobaan tersebut dan untuk memudahkan sebaiknya

setiap pemeriksaan menggunakan satu sensor saja.

2.2.10. Masalah Dengan IDE

Pada beberapa kasus terutama pada Windows, mungkin

memiliki masalah yang berhubungan dengan penggunaan IDE

Arduino.

Jika terdapat kesalahan saat membuka Arduino,

gunakan metode alternatif dengan cara membuka file

run.bat.

Biasanya pemakai Windows juga sering mendapatkan

masalah jika sistem operasi memberikan nomor COM10 atau

28

yang benomor lebih untuk papan Arduino. Untuk mengatasi

masalah ini, kita dapat menentukan nomor yang lebih

rendah untuk Arduino dengan cara sebagai berikut:

1. Buka layar Device Manager pada Windows dengan membuka

menu Start. Lakukan klik kanan (right-click) pada layar

komputer untuk Vista atau My Computer dan pilih menu

Properties untuk XP. Kemudian pilih menu Device

Manager.

2. Cari serial device di dalam daftar “Ports (COM & LPT)”.

Dan pilih serial device bernomor COM9 atau bernomor

lebih rendah yang tidak digunakan dengan cara

pilih menu Properties (right-click). Kemudian pada tab Port

Setting, pilih menu Advanced dan lakukan pengaturan

nomor pada COM10 atau yang bernomor lebih besar.

3. Lakukan hal yang sama pada serial terminal USB yang

digunakan untuk mengoperasikan Arduino.

Jika beberapa saran tersebut masih tidak dapat

membantu, atau jika mengalami permasalahan yang belum

dijelaskan pada laporan ini, untuk troubleshooting Arduino

yang lebih lengkap dapat dilihat dari halaman situs:

www.arduino.cc/en/Guide/Troubleshooting.

29

2.2.11. Troubleshooting Arduino

Dalam membuat suatu eksperimen atau percobaan

dengan Arduino, memungkinkan sekali terjadinya

kegagalan dalam melakukan pengoperasiannya. Sedangkan

kita dituntut harus dapat memperbaiki kegagalan yang

terjadi agar Arduino dapat beroperasi dengan benar.

Troubleshooting dan debugging merupakan seni yang sudah

ada dari dulu. Dan agar didapatkan suatu hasil yang

diinginkan oleh kita, maka kita harus memenuhi

peraturan yang dimiliknya terlebih dahulu.

Semakin sering kita menggunakan komponen

elektronik dan Arduino dalam membuat suatu percobaan,

maka kita akan semakin banyak belajar dan semakin

banyak mendapatkan pengalaman. Oleh karena itu, jangan

putus asa dengan permasalahan yang akan muncul dalam

melakukan suatu percobaan karena semuanya akan menjadi

lebih mudah apabila sudah dihadapi.

Seperti semua percobaan Arduino yang telah dibuat,

jika terdapat kesalahan baik yang berasal dari hardware

maupun software maka disana kemungkinan akan ada lebih

30

dari satu hal yang perlu dicari penyebab dari kesalahan

tersebut.

Ketika mencari suatu bug atau akar dari suatu

masalah yang muncul seharusnya kita mengoperasikan

Arduino meliputi tiga langkah berikut:

1. Pemahaman (understanding)

Mencoba untuk memahami sebanyak mungkin bagaimana

cara kerja dari setiap bagian komponen yang

digunakan dan bagaimana bagian dari komponen

tersebut telah memberikan pengaruh terhadap

percobaan yang dibuat.

2. Penyederhanaan dan pembagian (simplification and

segmentation)

Orang Romawi kuno mengatakan devide et impera: divide and

rule, atau dalam bahasa Indonesia berarti pembagi dan

peraturan. Oleh karena itu, untuk membuat percobaan

Arduino cobalah lakukan perincian (break down) terhadap

percobaan ke dalam setiap komponennya dengan

pemahaman yang kita miliki dan memperhitungkan

dimana tanggung jawab dari setiap komponen tersebut.

3. Pemisahan dan kepastian (exclusion and certainty)

31

Ketika melakukan investigasi, melakukan pengujian

secara terpisah pada setiap komponen sangat

dibutuhkan untuk memastikan bahwa setiap komponen

bekerja dengan benar. Dengan melakukan tahap ini

akan membangun rasa keyakinan pada diri kita sendiri

terhadap bagian percobaan mana yang bekerja dengan

benar maupun yang tidak.

Debugging adalah istilah yang telah digunakan

software komputer untuk menggambarkan suatu proses tidak

bekerja dengan benar. Konon dikatakan bahwa istilah

tersebut dipakai untuk pertama kalinya oleh Garce

Hopper pada sekitar tahun 1940-an. Dimana pada waktu

itu, komputer yang sebagian besarnya merupakan

peralatan elektromekanis, ada yang berhenti beroperasi

karena ada serangga yang terjebak di dalam sistem

mekaniknya.

Tetapi pada saat ini, bug bukan berbentuk fisik

lagi, melainkan suatu virtual yang tidak dapat dilihat.

Oleh karena itu, terkadang dibutuhkannya suatu proses

indentifikasi yang panjang dan membosankan dalam

menemukan bug.

32

2.3. Kipas/ Motor DC

Motor listrik merupakan perangkat elektromagnetis

yang mengubah energi listrik menjadi energi mekanik.

Energi mekanik digunakan untuk memutar impeller pompa,

fan atau blower, menggerakkan kompresor dan lain-lain.

Motor DC memerlukan suplai tegangan yang searah pada

kumparan medan untuk diubah menjadi energi mekanik.

Motor DC merupakan sebuah aktuator yang mengubah

besaran listrik menjadi sistem yang gerak mekanis.

Polaritas arus yang mengalir melalui kawat lilitan yang

akan menentukan arah putaran motor. Nilai arus yang

mengalir melalui lilitan.

Prinsip kerja dari arus searah adalah membalik

phase tegangan dari gelombang yang mempunyai nilai

positif dengan menggunakan komutator, dengan demikian

arus yang berbalik arah dengan kumparan jangkar yang

berputar dalam medan magnet.

33

Gambar 2.4. Kipas DC

2.4. Sensor suhu IC LM 35

Sensor suhu LM35 merupakan sensor solid state yang

dapat mengubah besaran suhu menjadi besaran listrik

berupa tegangan. IC LM35 mempunyai kelebihan

dibandingkan dengan sensor - sensor suhu linear yang

dinyatakan dalam K, karena pemakaiannya tidak dituntut

untuk mengurangi sejumlah besaran tegangan konstan pada

outputnya yang membutuhkan penyesuaian atau pengurangan

eksternal apa pun untuk memberikan akurasi - akurasi

khusus sebesar ± 1/4 ℃, dalam sebuah cakupan suhu

penuh antara -55 sampai 150 ℃, (Afrie Setiawan,

2011:28).

34

IC LM35 merupakan sensor suhu dimana tegangan

keluaran proporsional linear untuk suhu dalam ℃,

mempunyai perubahan keluaran secara linear dan juga

dapat dikalibrasi dalam K. Di dalam udara sensor ini

mempunyai pemanasan diri (self heating) kurang dari 0,1 ℃

, dapat dipakai dengan menggunakan power supply

tunggal. Dapat juga dihubungkan antara suhu ke

rangkaian kontrol dengan sangant mudah, Gambar 2.5.

menunjukkan bentuk fisik IC LM35.

Gambar 2.5. IC LM35

Koefisian dari IC LM35 tidaklah seperti sebuah

resistor NTC (Negative Temperature Coefficeint), karena

tidaklah mungkin untuk mendapatkan suatu jangkauan suhu

yang lebar, apabila menggunakan sebuah resistor NTC.

Kelebihan pengunaan IC LM35 ini adalah diperolehnya

35

jangkauan pengukuran yang luas dan kemudahan dalam

kalibrasinya.

2.4.1. Karakteristik Sensor LM35

Memiliki sensitivitas suhu, dengan faktor skala

linier antara tegangan dan suhu 10 mVolt/ºC, sehingga

dapat dikalibrasi langsung dalam celcius.

1. Memiliki ketepatan atau akurasi kalibrasi yaitu

0,5ºC pada suhu 25 ºC

2. Memiliki jangkauan maksimal operasi suhu antara -55

ºC sampai +150 ºC.

3. Bekerja pada tegangan 4 sampai 30 volt.

4. Memiliki arus rendah yaitu kurang dari 60 µA.

5. Memiliki pemanasan sendiri yang rendah (low-heating)

yaitu kurang dari 0,1 ºC pada udara diam.

6. Memiliki impedansi keluaran yang rendah yaitu 0,1 W

untuk beban 1 mA.

7. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.

36

Gambar 2.6. Grafik akurasi LM35 terhadap Suhu

2.4.2. Prinsip Kerja LM35

Secara prinsip sensor akan melakukan penginderaan

pada saat perubahan suhu setiap suhu 1 ºC akan

menunjukan tegangan sebesar 10 mV. Pada penempatannya

LM35 dapat ditempelkan dengan perekat atau dapat pula

disemen pada permukaan akan tetapi suhunya akan sedikit

berkurang sekitar 0,01 ºC karena terserap pada suhu

permukaan tersebut. Dengan cara seperti ini diharapkan

selisih antara suhu udara dan suhu permukaan dapat

dideteksi oleh sensor LM35 sama dengan suhu

disekitarnya, jika suhu udara disekitarnya jauh lebih

tinggi atau jauh lebih rendah dari suhu permukaan, maka

37

LM35 berada pada suhu permukaan dan suhu udara

disekitarnya .

Jarak yang jauh diperlukan penghubung yang tidak

terpengaruh oleh interferensi dari luar, dengan

demikian digunakan kabel selubung yang ditanahkan

sehingga dapat bertindak sebagai suatu antenna penerima

dan simpangan didalamnya, juga dapat bertindak sebagai

perata arus yang mengkoreksi pada kasus yang

sedemikian, dengan mengunakan metode bypass kapasitor

dari Vin untuk ditanahkan. Maka dapat disimpulkan

prinsip kerja sensor LM35 sebagai berikut:

1. Suhu lingkungan di deteksi menggunakan bagian IC

yang peka terhadap suhu

2. Suhu lingkungan ini diubah menjadi tegangan listrik

oleh rangkaian di dalam IC, dimana perubahan suhu

berbanding lurus dengan perubahan tegangan output.

3. Pada seri LM35

Vout=10 mV/oC

4. Tiap perubahan 1oC akan menghasilkan perubahan

tegangan output sebesar 10mV

38

2.4.3. Kelebihan dan Kelemahan IC Temperature LM35

IC Temperatur LM35 memiliki kelebihan dan

kekurangan, kelebihan dari IC temperatur LM35 yaitu:

1. Rentang suhu yang jauh, antara -55 sampai 150 oC

2. Low self-heating, sebesar 0.08 oC

3. Beroperasi pada tengangan sampai 4 sampai 30V

4. Rangkaian tidak rumit

5. Tidak memerlukan pengondisian sinyal

IC Temperatur LM35 memiliki kekurangan yaitu:

1. Membutuhkan sumber tegangan untuk beroperasi

2. Aliran arus (darin) kurang dari 60 μA

3. Pemanasan diri (self heating) rendah 0.08 oC

Sensor suhu tipe LM35 ini merupakan IC sensor

temperatur yang akurat yang memiliki tegangan

keluarannya linear dalam satuan celcius. Jadi sensor

suhu LM35 ini memiliki kelebihan dibandingkan sensor

temperatur linier dalam satuan kelvin, karena tidak

memerlukan pembagian dengan konstanta tegangan yang

besar dan keluarannya untuk mendapatkan nilai dalam

satuan celcius yang tepat.

39

2.5. Protoboard

Protoboard adalah board yang digunakan untuk

membuat rangkaian elektronik sementara dengan tujuan

uji coba atau prototipe tanpa harus menyolder. Dengan

memanfaatkan protoboard, komponen-komponen elektronik

yang dipakai tidak akan rusak dan dapat digunakan

kembali untuk membuat rangkaian yang lain.

Protoboard umumnya terbuat dari plastik dengan

banyak lubang-lubang diatasnya. Lubang-lubang pada

protoboard diatur sedemikian rupa membentuk pola sesuai

dengan pola jaringan koneksi di dalamnya.

Protoboard yang tersedia di pasaran umumnya

terbagi atas 3 ukuran: mini protoboard, medium

protoboard dan large protoboard. Mini protoboard

memiliki 170 titik koneksi (bisa juga lebih). Kemudian

medium breaboard memiliki 400 titik koneksi. Dan large

protoboard memiliki 830 titik koneksi.

40

Gambar 2.7. Mini Protoboard

2.5.1. Spesifikasi Protoboard

Protoboard solderless modern yang terdiri dari

blok berlubang dari plastik dengan berbagai timah

berlapis perunggu fosfor atau nikel silver klip paduan

semi bawah perforasi. Klip sering disebut dasi poin

atau titik kontak. Jumlah poin dasi sering diberikan

dalam spesifikasi protoboard.

1. Jarak

Protoboard kebanyakan menyediakan kontak di mana

jarak antara titik kontak adalah persegi. Jarak ini

sesuai dengan jarak poin sirkuit terpadu dari semua

paket transistor. Jarak ini memfasilitasi untuk

menghubungkan semua komponen elektronik dalam

pembatasan tegangan, arus, dan frekuensi protoboard.

41

2. Jumlah Kontak

Protoboard menyediakan berbagai jumlah kontak.Namun,

tergantung pada ukuran protoboard , Protoboard

diperkirakan mengandung sesedikitnya 75 atau

sebanyak 900 poin koneksi yang terpisah. Produsen

biasanya mengatur titik koneksi dalam kolom 10

dipisahkan oleh median pusat. Pengaturan ini

menyediakan 56 sambungan untuk rangkaian 14-pin

standar terpadu, empat koneksi untuk setiap pin pada

perangkat.

3. Voltase

Protoboard banyak dinilai lima volt pada satu amp.

Pilihan umum kedua menyediakan 15-volt, sepertiga

peringkat amp. Kedua spesifikasi menghasilkan

disipasi daya lima watt. Tetapi hal ini bervariasi

per vendor dan perangkat.

4. Arus

Protoboards Kebanyakan memiliki batas saat ini dari

satu amp atau kurang, karena sifat dari kontak

mereka. Seringkali protoboards dapat menahan hanya

1/3 amp.

42

5. Frekuensi Rentang

Protoboard paling tidak bisa menahan frekuensi di

atas 10 MHz. Sifat dari kontak dalam protoboard

menciptakan kapasitansi pada urutan 2 sampai 20 pF

untuk setiap koneksi. Kapasitansi ini adalah acak,

tak terduga dan sulit untuk mereproduksi. Menghapus

dan memasukkan kembali memimpin komponen terkadang

lumayan mengubah kapasitansi kontak pada saat itu.

Efek ini menjadi bagian besar dari perilaku

rangkaian di atas 10 MHz.

6. Kapasitansi

Kapasitansi didefinisikan sebagai perlawanan

terhadap arus perubahan. Kapasitansi hasil dari aksi

dua konduktor yang dipisahkan oleh isolator. Ketika

Anda menyisipkan memimpin komponen ke protoboard,

koneksi tidak pernah sempurna. Hasil

ketidaksempurnaan kecil di sebuah kapasitansi kecil

di sambungan. Ini setara dengan kapasitor F 2 sampai

20 secara seri dengan setiap koneksi, di mana saat

ini tidak memiliki pilihan tetapi untuk pergi ke

arah yang benar.

43

Karena papan ini solderless alias tidak memerlukan

solder sehingga dapat digunakan kembali, dan dengan

demikian dapat digunakan untuk prototipe sementara

serta membantu dalam bereksperimen desain sirkuit

elektronika.

Berbagai sistem elektronik dapat di prototipekan

dengan menggunakan breadboard, mulai dari sirkuit

analog dan digital kecil sampai membuat unit pengolahan

terpusat (CPU). Secara umum breadbord memiliki jalur

seperti berikut ini :

Gambar 2.8. Jalur Breadboard

Penjelasan :

a. Dua Pasang jalur Atas dan bawah terhubung secara

horisontal sampai ke bagian tengah dari breadboard.

Biasanya jalur ini digunakan sebagai jalur power

atau jalur sinyal yg umum digunakan seperti clock

atau jalur komunikasi.

a

b

c

44

b. Lima lobang komponen di tengah merupakan tempat

merangkai komponen. Jalur ke 5 lobang ini terhubung

vertikal sampai bagian tengah dari breadboard.

c. Pembatas tengah breadboard biasanya digunakan

sebagai tempat menancapkan komponen IC.

2.6. Transistor

Transistor adalah alat semikonduktor yang dipakai

sebagai penguat, sebagai sirkuit pemutus dan penyambung

(switching), stabilisasi tegangan, modulasi sinyal atau

sebagai fungsi lainnya. Transistor dapat berfungsi

semacam kran listrik, dimana berdasarkan arus inputnya

(BJT) atau tegangan inputnya (FET), memungkinkan

pengaliran listrik yang sangat akurat dari sirkuit

sumber listriknya.

Gambar 2.9. Transistor

45

Pada umumnya, transistor memiliki 3 terminal,

yaitu Basis (B), Emitor (E) dan Kolektor (C). Tegangan

yang di satu terminalnya misalnya Emitor dapat dipakai

untuk mengatur arus dan tegangan yang lebih besar

daripada arus input Basis, yaitu pada keluaran tegangan

dan arus output Kolektor.

Transistor merupakan komponen yang sangat penting

dalam dunia elektronik modern. Dalam rangkaian analog,

transistor digunakan dalam amplifier (penguat).

Rangkaian analog melingkupi pengeras suara, sumber

listrik stabil (stabilisator) dan penguat sinyal radio.

Dalam rangkaian-rangkaian digital, transistor digunakan

sebagai saklar berkecepatan tinggi. Beberapa transistor

juga dapat dirangkai sedemikian rupa sehingga berfungsi

sebagai logic gate, memori dan fungsi rangkaian-rangkaian

lainnya.

Salah satu transistor yang digunakan dalam tugas

akhir ini adalah transistor Darlington. Transistor

Darlington adalah rangkaian elektronika yang terdiri

dari sepasang transistor bipolar (dwi kutub) yang

tersambung secara tandem (seri). Sambungan seri seperti

46

ini dipakai untuk mendapatkan penguatan (gain) yang

tinggi, karena hasil penguatan pada transistor yang

pertama akan dikuatkan lebih lanjut oleh transistor

kedua. Keuntungan dari rangkaian Darlington adalah

penggunaan ruang yang lebih kecil dari pada rangkaian

dua buah transistor biasa dengan bentuk konfigurasi

yang sama. Penguatan arus listrik atau gain dari

rangkaian transistor Darlington ini sering dituliskan

dengan notasi β atau hFE.

Gambar 2.10. Diagram rangkaian dari transistor Darlington

Transistor Darlington bersifat seolah-olah sebagai

satu transistor tunggal yang mempunyai penguatan arus

yang tinggi. Penguatan total dari rangkaian ini

merupakan hasil kali dari penguatan masing-masing

transistor yang dipakai:

47

dan

Jika rangkaian dipakai dalam moda tunggal emitor maka

RE adalah nol dan Nilai

dan

penguatan total dari transistor Darlington bisa

mencapai 1000 kali atau lebih. Dari luar transistor

Darlington nampak seperti transistor biasa dengan 3

buah kutub: B (basis), C (Kolektor), dan E (Emitter).

Dari segi tegangan listriknya, voltase base-emitter

rangkaian ini juga lebih besar, dan secara umum

merupakan jumlah dari kedua tegangan masing-masing

transistornya, seperti nampak dalam rumus berikut:

2.7. Microsoft Visual C# ( C Sharp) .Net

C# (dibaca: C sharp) merupakan sebuah bahasa

pemrograman yang berorientasi objek yang dikembangkan

48

oleh Microsoft sebagai bagian dari inisiatif kerangka

.NET Framework. Bahasa pemrograman ini dibuat

berbasiskan bahasa C++ yang telah dipengaruhi oleh

aspek-aspek ataupun fitur bahasa yang terdapat pada

bahasa-bahasa pemrograman lainnya seperti Java, Delphi,

Visual Basic, dan lain-lain) dengan beberapa

penyederhanaan. Menurut standar ECMA-334 C# Language

Specification, nama C# terdiri atas sebuah huruf Latin C

(U+0043) yang diikuti oleh tanda pagar yang menandakan

angka # (U+0023). Tanda pagar # yang digunakan memang

bukan tanda kres dalam seni musik (U+266F), dan tanda

pagar # (U+0023) tersebut digunakan karena karakter

kres dalam seni musik tidak terdapat di dalam keyboard

standar.

49

Gambar 2.11. Microsoft Visual C# .Net

2.7.1. Sejarah

Pada akhir dekade 1990-an, Microsoft membuat

program Microsoft Visual J++ sebagai sebuah langkah

percobaan untuk menggunakan Java di dalam sistem

operasi Windows untuk meningkatkan antarmuka dari

Microsoft Component Object Model (COM). Akan tetapi,

akibat masalah dengan pemegang hak cipta bahasa

pemrograman Java, Sun Microsystems, Microsoft pun

menghentikan pengembangan J++, dan beralih untuk

membuat pengganti J++, kompilernya dan mesin virtualnya

sendiri dengan menggunakan sebuah bahasa pemrograman

yang bersifat general-purpose. Untuk menangani proyek

ini, Microsoft merekrut Anders Helsberg, yang merupakan

mantan karyawan Borland yang membuat bahasa Turbo

Pascal, dan Borland Delphi, yang juga mendesain Windows

Foundation Classes (WFC) yang digunakan di dalam J++.

Sebagai hasil dari usaha tersebut, C# pun pertama kali

diperkenalkan pada bulan Juli 2000 sebagai sebuah

bahasa pemrograman modern berorientasi objek yang

50

menjadi sebuah bahasa pemrograman utama di dalam

pengembangan di dalam platform Microsoft .NET

Framework.

Pengalaman Helsberg sebelumnya dalam pendesain

bahasa pemrograman seperti Visual J++, Delphi, Turbo

Pascal) dengan mudah dilihat dalam sintaksis bahasa C#,

begitu pula halnya pada inti Common Language Runtime

(CLR). Dari kutipan atas interview dan makalah-makalah

teknisnya ia menyebutkan kelemahan-kelemahan yang

terdapat pada bahasa pemrograman yang umum digunakan

saat ini, misalnya C++, Java, Delphi, ataupun

Smalltalk. Kelemahan-kelemahan yang dikemukakannya itu

yang menjadi basis CLR sebagai bentukan baru yang

menutupi kelemahan-kelemahan tersebut, dan pada

akhirnya memengaruhi desain pada bahasa C# itu sendiri.

Ada kritik yang menyatakan C# sebagai bahasa yang

berbagi akar dari bahasa-bahasa pemrograman lain. [1]

Fitur-fitur yang diambilnya dari bahasa C++ dan Java

adalah desain berorientasi objek, seperti garbage

collection, reflection, akar kelas (root class), dan

juga penyederhanaan terhadap pewarisan jamak (multiple

51

inheritance). Fitur-fitur tersebut di dalam C# kini

telah diaplikasikan terhadap iterasi, properti,

kejadian (event), metadata, dan konversi antara tipe-

tipe sederhana dan juga objek.

C# didisain untuk memenuhi kebutuhan akan

sintaksis C++ yang lebih ringkas dan Rapid Application

Development yang 'tanpa batas' (dibandingkan dengan RAD

yang 'terbatas' seperti yang terdapat pada Delphi dan

Visual Basic).

Agar mampu mempromosikan penggunaan besar-besaran

dari bahasa C#, Microsoft, dengan dukungan dari Intel

Corporation dan Hewlett-Packard, mencoba mengajukan

standardisasi terhadap bahasa C#. Akhirnya, pada bulan

Desember 2001, standar pertama pun diterima oleh

European Computer Manufacturers Association atau Ecma

International (ECMA), dengan nomor standar ECMA-334.

Pada Desember 2002, standar kedua pun diadopsi oleh

ECMA, dan tiga bulan kemudian diterima oleh

International Organization for Standardization (ISO),

dengan nomor standar ISO/IEC 23270:2006.

52

2.7.2. Tujuan Desain

Standar European Computer Manufacturer Association (ECMA)

mendaftarkan beberapa tujuan desain dari bahasa

pemrograman C#, sebagai berikut:

1. Bahasa pemrograman C# dibuat sebagai bahasa

pemrograman yang bersifat bahasa pemrograman general-

purpose (untuk tujuan jamak), berorientasi objek,

modern, dan sederhana.

2. Bahasa pemrograman C# ditujukan untuk digunakan

dalam mengembangkan komponen perangkat lunak yang

mampu mengambil keuntungan dari lingkungan

terdistribusi.

3. Portabilitas programmer sangatlah penting, khususnya

bagi programmer yang telah lama menggunakan bahasa

pemrograman C dan C++.

4. Dukungan untuk internasionalisasi (multi-language)

juga sangat penting.

5. C# ditujukan agar cocok digunakan untuk menulis

program aplikasi baik dalam sistem klien-server

(hosted system) maupun sistem embedded (embedded

system), mulai dari perangkat lunak yang sangat besar

53

yang menggunakan sistem operasi yang canggih hingga

kepada perangkat lunak yang sangat kecil yang

memiliki fungsi-fungsi terdedikasi.

6. Meskipun aplikasi C# ditujukan agar bersifat

'ekonomis' dalam hal kebutuhan pemrosesan dan memori

komputer, bahasa C# tidak ditujukan untuk bersaing

secara langsung dengan kinerja dan ukuran perangkat

lunak yang dibuat dengan menggunakan bahasa

pemrograman C dan bahasa rakitan.

Bahasa C# harus mencakup pengecekan jenis (type

checking) yang kuat, pengecekan larik (array),

pendeteksian terhadap percobaan terhadap penggunaan

Variabel-variabel yang belum diinisialisasikan,

portabilitas kode sumber, dan pengumpulan sampah

(garbage collection) secara otomatis.

54

BAB III

PERANCANGAN ALAT

3.1. Alat dan Bahan

Alat dan bahan yang digunakan pada tugas akhir ini

yaitu berupa hardware dan software. Table 3.1. merupakan

alat dan bahan yang digunakan.

Tabel 3.1. Alat dan Bahan

Hardware Software

Arduino UNO R3

Baterai 9 Volt

Kipas/Motor Dc 12 Volt

Transistor TIP 120

Sensor Suhu LM35

Resistor 1 kilo ohm

Microsoft Visual C#

Software Arduino 1.0.5

Software fritzing

Microsoft Access

55

Kapasitor

Protoboard

3.2. Rancangan Sistem Pengukur Suhu dan Pendingin Ruangan

Sistem pengukur suhu dan otomatisasi pendingin

ruangan pada tugas akhir ini memiliki cara kerja yang

sama pada umumnya. Yaitu pada saat

suhu melebihi suhu yang ditetapkan maka kipas akan

menyala sebagai pendingin, kemudian sistem akan

mengirim data ke aplikasi desktop sebagai informasi

yang di display kemudian disimpan ke dalam database.

Media sensor suhu yang digunakan pada tugas akhir ini

bertipe IC yaitu LM35 sebagai pengukur temperature yang

dapat memberikan output -55 sampai dengan 150℃,. Media

pendingin otomatis menggunakan kipas dc 12V yang

mendapat sumber tegangan dari baterai.

3.2.1. Perancangan Aplikasi

Pada sistem yang dibuat untuk mengukur temperatur

diruangan ini dibuat range suhunya antara 20 ℃ sampai

56

dengan 50 ℃ dimana suhu normal ruangan ditetapkan

yaitu 28 ℃ sampai dengan 30 ℃, sehingga dibutuhkan

sensor temperatur yang mampu mendeteksi range suhu di

ruangan. Dalam rancangan sistem ini digunakan sensor

LM35 yang mampu mendeteksi temperatur dari 20 ℃

sampai dengan 50 ℃. Selain itu dibutuhkan juga sebuah

kondisi sinyal serta sarana untuk menampilkan hasil

olahan suhu ruangan yang akurat dan dapat dengan mudah

dipantau secara terus menerus.

Gambar 3.1. Diagram Blok Sistem

Dari diagram blok pengaturan suhu ruangan terdiri

dari beberapa blok rangkaian yang terdiri dari Sensor

Suhu (LM35), Arduino UNO R3, Kipas DC 12V dan Aplikasi

desktop C# .Net. Sensor yang digunakan adalah LM35

untuk menginput perubahan tegangan ke sistem ADC.

57

Perubahan yang diterima dalam bentuk data analog dan

mengubah data analog menjadi data digital agar dapat

diterima oleh mikrokontroler yang hanya menerima data

digital. Mikrokontroler yang digunakan yaitu Arduino

UNO R3 dengan Atmega328. Mikrokontroler yang digunakan

ini diisikan dengan program yang nantinya akan

ditampilkan pada layar komputer dengan C# .Net dan

disimpan ke dalam basis data.

Sebagai sensor temperatur digunakan LM35 yang

telah dikalibrasikan langsung dalam Celcius(℃).

Tegangan keluarannya (Vout) akan mengalami perubahan

10mV untuk setiap perubahan temperatur 1 ℃.

Kipas yang digunakan merupakan jenis DC 12 volt

sebagai petanda apabila suhu dalam ruangan melebihi

suhu yang telah ditetapkan (32 ℃¿maka kipas akan

menyala. Sumber tegangan eksternal kipas menggunakan

battery 9 volt.

3.3. Perancangan Miniatur Ruangan

Ruangan ini terdiri dari satu ruangan yang terbuat

dari kardus. Ruang tempat rangkaian elektronika

58

terletak pada ruang kardus yang dapat dibuka, untuk

memudahkan pengecekan rangkaian elektronika atau

memperbaiki pada saat terjadi kerusakan pada rangkaian

elektronika serta untuk mengontrol suhu dalam ruangan

tersebut.

Gambar 3.2. Miniatur ruangan

3.4. Rangkaian Arduino dengan Sensor LM 35

Komponen sensor suhu LM35 memiliki 3 pin, yaitu

pin 1 sebagai menerima input 1 sampai dengan 5 volt,

pin 2 sebagai output (Vout) analog dan pin 3

dihubungkan dengan ground.

Pada tahap ini pin arduino yang digunakan adalah

pin Analog yaitu A0 sebagai output dari Sensor LM35.

Gambar di bawah ini adalah gambar rangkaian Arduino

dengan sensor suhu LM35.

59

Gambar 3.3. Rangkaian Arduino dan LM 35

3.5. Rangkaian Arduino dengan Kipas DC 12V

Setelah merangkai rangkaian arduino dengan Sensor

Suhu, pada sub bab ini akan menambahkan kipas ke dalam

rangkaian. Pin output dari arduino yang digunakan

adalah pin 9 yang mana merupakan analog pin. Pin 9 ini

terhubung ke base Transistor Darlington yaitu TIP120 dengan

hambatan 1K ohm. Pin emitter dari transistor terhubung

ke ground dan pin collector terhubung dengan kapasitor dan

pin collector dari transistor ini terhubung ke kipas DC

12V yang mendapatkan tegangan 9V dari eksternal voltase

dengan menggunakan baterai 9V.

60

Gambar 3.4. Rangkaian Arduino dengan Kipas / Motor

3.6. Diagram Alir Sistem Pengukur Suhu dan Pendingin

Deskripsi kerja secara keseluruhan dari sistem

pengukur suhu dan otomatisasi pendingin ruangan pada

tugas akhir ini, sistem ini akan mulai beroperasi

ketika diberikan sumber tegangan melalui port usb

komputer ke Arduino. Port Usb ini juga sebagai jembatan

pengiriman data dari Arduino ke komputer yang

ditampilkan pada Aplikasi Desktop dan menyimpan history

tegangan ke dalam basis data tiap detik menggunakan C#.

Net.

61

Gambar 3.5. Diagram alir sistem kontrol suhu

Kipas DC 12V yang dipasang pada sistem hanya akan

ON untuk memberikan pendingin apabila suhu dalam sudah

mencapai batas yang telah ditentukan atau lebih, dan

62

akan dalam keadaan OFF kembali apabila suhu ruangan di

bawah batas minimum yang telah ditetapkan.

Karena sistem pengukuran suhu dan otomatisasi

pendingin ruangan ini merupakan sistem tertutup (loop

system), maka proses pembacaan temperature ini akan terus

berulang. Sistem ini hanya akan berhenti beroperasi

apabila dalam keadaan OFF atau tidak diberikan sumber

tegangan.

Untuk lebih jelas tentang deskripsi kerja secara

keseluruhan dari sistem pengukuran suhu dan otomatisasi

pendingin ruangan pada tugas akhir ini dapat melihat

gambar pada Gambar 3.5., dimana gambar tersebut

merupakan flowchart atau diagram alir secara keseluruhan

pada sistem pengukuran suhu dan otomatisasi pendingin

ruangan dan ditampilkan pada Aplikasi Desktop

menggunakan C# .Net sebagai tampilan hasil

pengukurannya.

3.7. Perancangan Aplikasi Desktop menggunakan C# .Net

63

Pembuatan form aplikasi desktop di disain semudah

mungkin agar mudah dipahami dan mudah digunakan.

3.7.1. Perancangan Main Form

Form utama dari aplikasi desktop merupakan form yang

berfungsi sebagai display output yang dikirim dari Arduino.

Informasi yang ditampilkan berupa suhu dalam Celcius

dan Fahrenheit dalam bentuk gambar, dan bentuk asli di

dalam sebuah text block.

Pada main form terdapat trigger untuk mengirimkan data

ke dalam basis data dan di simpan sebagai historical yang

nantinya dapat diketahui berapa suhu terendah dan suhu

tertinggi.

Gambar 3.6. Form utama aplikasi desktop

64

Pada form Gambar 3.6. di atas, dapat dijelaskan

Port yaitu port Arduino yang ter-installed di komputer, Baut

Rate yaitu jumlah kali per detik sinyal dalam perubahan

data komunikasi analog, dan yang biasa digunakan adalah

9600 baud, Suhu yaitu variable temperatur yang

berfungsi sebagai default suhu yang ditetapkan, grafik

temperatur yang berwarna coklat merupakan temperatur

dalam Celcius dan yang berwarna abu - abu merupakan

temperatur Fahrenheit, text block merupakan output informasi

dari Arduino ketika tombol start di klik, dan tombol

stop untuk mengakhiri komunikasi Arduino dengan

Aplikasi Desktop.

3.7.2. Perancangan form penampil data

Perancangan form untuk penampil data ini dapat

dimunculkan melalui main form dari menu Main > Data,

pada form ini data dapat diurutkan berdasarkan kolom.

Gambar 3.7. merupakan gambar perancangan form untuk

menampilkan data yang telah disimpan ketika aplikasi

berjalan.

65

Gambar 3.7. Perancangan form penampil data

BAB IV

PENGUJIAN ALAT

Pengujian alat dilakukan untuk mengetahui apakah

fungsi–fungsi yang telah direncanakan bekerja dengan

baik atau tidak. Pengujian alat juga berguna untuk

mengetahui tingkat kinerja dari fungsi tersebut.

Setelah dilakukan pengujian, maka hendaknya melakukan

ujian ukuran/analisa dan terhadap apa yang diuji untuk

mengetahui keberhasilan dari alat yang di buat dalam

tugas akhir ini. Didalam pengujian ini berisikan

pengujian hardware dan software.

4.1. Pengujian Hardware.

Pengujian hardware dilakukan untuk mengetahui

bagaimana kinerja hardware yang telah di rancang,

pengujian ini meliputi :

1. Pengujian Rangkaian Arduino dengan LM35

66

2. Pengujian Rangkaian dengan Kipas

4.1.1. Pengujian Rangkaian Arduino dengan LM35

Sensor LM35 merupakan sensor yang dapat mengukur

suhu dari 0 sampai dengan 100 C. Sensor ini menerima

inputan mulai dari 1V sampai dengan 5V dan memiliki

output 10mV per 1 C. Output sensor ini sebagai masukan

bagi Arduino

67

68

pada pin analog yang nantinya akan dikalkulasikan agar

menampilkan suhu sebenarnya.

T = (Va x Vb x 100.0 ) / 1024.0

dimana:

T = Temperature sebenarnya

Va = Vin dari output LM35

Vb = Vin Arduino

Pada tugas akhir ini, rangkaian diuji dengan suhu

normal dan dipanaskan dengan korek api. Hasil pengujian

ini terdapat pada Tabel 4.1.

Tabel 4.1. Tabel hasil pengujian pengukuran suhu

Kondisi Suhu

Celcius Fahrenhei

t

Normal 28-31 82-84

Dipanaskan dengan

Korek api

40-42 107-109

4.1.2. Pengujian Rangkaian dengan Kipas

69

Pengujian rangkaian kipas dimaksudkan untuk

mengecek apakah kipas bekerja dengan baik ketika suhu

melebihi suhu sebenarnya. Setelah melakukan pengujian

suhu yang dipanaskan, maka kipas seharusnya akan

berputar sebagai pendingin otomatis.

Gambar 4.1. Kipas tidak berputar ketika suhu sebenarnya lebih kecil dari

suhu variable

Pada gambar 4.1. kipas tidak berputar karena suhu

sebenarnya yaitu 31 C tidak lebih besar dari suhu

variable yaitu 35 C, dari gambar diatas informasi yang di

dapat yaitu "Motor:Off" yang menandakan kipas tidak

berputar. Ketika variable suhu sebagai parameter

diberikan input yang lebih kecil yaitu 30 C maka kipas

70

akan berputar dengan tanda "Motor:On" seperti pada

Gambar 4.2.

Gambar 4.2. Kipas menyala ketika suhu variable lebih kecil dari suhu

sebenarnya

4.2. Pengujian Software

Setelah menguji hardware / rangkaian Arduino

beserta sensor suhu dan Kipas DC, maka dilakukan

pengujian dengan mengintegrasikan dengan aplikasi

desktop yang di buat dengan bahasa pemrogramman C# .Net

dan disimpan ke dalam basis data / database Microsoft

Access. Interfacing / penghubung Arduino dengan aplikasi

menggunakan port serial usb dari Arduino ke port usb komputer

dengan menggunakan kabel USB.

71

4.2.1. Menginstal Aplikasi Desktop

Aplikasi desktop dikompilasi dalam satu paket

menjadi file installer agar lebih mudah saat instalasi.

Gambar 4.3. Software aplikasi desktop

Double klik file installer maka akan menampilkan form

seperti Gambar 4.4. kemudian klik tombol Next > untuk

melanjutkan ke tahap berikut nya.

Gambar 4.4. Instalasi Aplikasi Pengukur Suhu

Pada form seperti pada Gambar 4.5. menampilkan

lokasi yang mana file nanti akan ditempatkan didalam

operating system. Setelah menentukan lokasi file klik

tombol Next > untuk melanjutkan.

72

Gambar 4.5. Lokasi penyimpanan file instalasi

Pada form seperti pada Gambar 4.6.

mengkonfirmasikan untuk melakukan ketahap penginstalasi

selanjutnya.

Gambar 4.6. Konfirmasi instalasi aplikasi

73

Pada form seperti pada Gambar 4.7. menandakan

instalasi telah selesai, dan menandakan Aplikasi

Pengukur Suhu sudah dapat digunakan dan dapat

berinteraksi dengan Arduino.

Gambar 4.7. Instalasi Aplikasi selesai

4.2.2. Menampilkan aplikasi desktop

Setelah selesai instalasi aplikasi desktop, maka

aplikasi yang telah di instal di coba untuk membuktikan

bahwa aplikasi ini dapat berjalan dengan normal dan

siap digunakan untuk berinteraksi dengan Arduino.

74

Gambar 4.8. Shortcut aplikasi desktop

Aplikasi dapat dibuka melalui Start Windows > All

Programs > Pengukur Suhu [Lucky] > Pengukur Suhu -

Lucky. Maka akan tampil seperti pada Gambar 4.9. yang

merupakan tampilan awal aplikasi desktop.

Gambar 4.9. Tampilan awal aplikasi desktop

4.3. Hasil Pengukuran Suhu dan Interaksi Aplikasi

dengan Arduino

Setelah pengujian hardware dan instalasi aplikasi

desktop selesai. Maka untuk menghubungkan antara

aplikasi dan Arduino menggunakan Port Serial USB dengan

kabel USB. Ketika aplikasi desktop dijalankan dan

memilih port Arduino yang terbaca di dalam komputer,

75

lalu memilih Baud Rate yaitu 9600, secara langsung

berinteraksi dengan aplikasi desktop dan aplikasi desktop

segera merespon untuk mengeluarkan output dari Arduino

secara visual seperti Gambar 4.10.

Gambar 4.10. Interaksi Arduino dengan aplikasi desktop

Pada Gambar 4.10. terlihat suhu berada pada ±31ºC

yang di ambil pada tanggal 8 September 2013 pukul 12.42

siang.

4.3.1. Menampilkan Suhu yang dipanaskan

Saat sensor suhu dipanaskan dengan menggunakan

korek api dalam waktu ± 3 detik menghasilkan suhu ± 57

ºC, dan kipas DC akan berputar seperti pada Gambar

4.11.

76

Gambar 4.11. Tampilan aplikasi desktop ketika sensor suhu dipanaskan

4.3.2. Menampilkan suhu yang didinginkan

Saat sensor suhu didinginkan dengan dengan batu es

maka akan mendapatkan suhu terendah ± 19 ºC dalam waktu

1 menit., dan Kipas DC tidak berputar. Hal ini

disebabkan karena lebih kecil dari suhu yang telah

didefinisikan yaitu 32 ºC.

77

Gambar 4.12. Tampilan aplikasi desktop ketika sensor suhu didinginkan

4.3.3. Menampilkan hasil pengukuran suhu yang telah

disimpan

Untuk menampilkan hasil pengukuran suhu yang telah

disimpan ke dalam basis data, dari aplikasi desktop ini

pilih menu Main > Data. Maka akan tampil seperti Gambar

4.11. Di dalam form terdapat seluruh history suhu yang

disimpan di setiap detik dengan sedikit frekuensi

missing data record.

78

Gambar 4.13. Informasi suhu yang disimpan di basis data

4.3.4. Toleransi Hasil Pengukuran

Hasil pengukuran suhu ruangan dapat berubah dengan

sangat mudah. Oleh karena itu, hasil pengukuran suhu

dan pendingin ruangan ditampilkan pada aplikasi desktop

khususnya pada project tugas akhir ini sering kali

didapatkan hasil pengukuran yang tidak stabil dan

terjadi kesalahan pengukuran (error). Hal ini dapat

disebabkan karena beberapa faktor, antara lain:

1. Nilai tegangan input yang tidak stabil. Sehingga,

mengubah nilai konstanta waktu yang didapat dan

menghasilkan kesalahan pengukuran karena nilai

konversi menjadi tidak sesuai.

79

2. Delay pada pengiriman data dari Arduino ke Aplikasi

Desktop.

Tabel 4.2. Hasil pengukuran suhu waktu per detik

9/7/20137:29

9/7/20137:30

9/7/20139:06

0 29.54 29.43 30.51 29.54 29.43 30.42 29.54 29.43 30.43 29.43   30.44 29.43 29.43  5 29.43 29.54 30.56 29.43 29.54 30.617 29.54 29.54 30.48 29.43 29.54 30.49   29.54 30.510 29.43 29.54 30.411 29.65 29.43 30.412 29.54 29.54 30.413 29.54 29.54 30.514 29.43 29.54 30.415 29.43 29.54 30.416 29.54 29.65 30.417 29.43 29.54 30.418 29.43 29.65 30.2919 29.43 29.54 30.420 29.43 29.54 30.42 29.43   30.4

80

122 29.43 29.54  23 29.43 29.65 30.424 29.32 29.65 30.2925 29.43 29.65 30.2926 29.43 29.65 30.2927   29.65 30.2928 29.43 29.43 30.2929 29.32 29.54 30.430 29.32 29.54 30.431 29.32 29.54 30.2932 29.32 29.54 30.433 29.43 29.54 30.434 29.43 29.54 30.2935 29.32 29.65 30.2936 29.32 29.54 30.2937 29.32 29.54 30.2938 29.32   30.2939 29.32 29.54  40 29.22 29.54 30.2941 29.32 29.54 30.2942 29.32 29.43 30.44 29.32 29.54 30.29

81

344 29.43 29.54 30.445   29.43 30.446 29.43 29.54 30.2947 29.43 29.54 30.448 29.43 29.54 30.449 29.43 29.43 30.450 29.43 29.54 30.451 29.32 29.43 30.552 29.43 29.54 30.453 29.43 29.43 30.454 29.22 29.43 30.455 29.43 29.43 30.456 29.43   30.557 29.43 29.54  58 29.43 29.54 30.2959 29.43 29.54 30.4

.

Tabel 4.2. merupakan hasil dari pengukuran suhu

ruangan yang disimpan didalam basis data. Dan karena

hasil pengukuran sering berubah seiring berputarnya

waktu, selagi hasil pengukuran tidak melebihi suhu

82

default yaitu 32 C, maka kipas akan tetap Off, dan jika

sebaliknya suhu lebih besar dari suhu default, maka kipas

akan On.

Dari Tabel 4.2. khususnya pada kolom yang tidak

memiliki isi / blank, dapat dilihat bahwa sistem

pengukuran suhu ruangan pada tugas ini memiliki error

pada tiap kolom sebanyak ±4kali data tidak tersimpan.

Hal ini disebabkan karena delay dan konversi arduino

maupun faktor lain yang membutuhkan waktu konversi agak

lebih lama.

4.3.5. Perbandingan dengan alat Termometer lain

Dari hasil pengukuran dengan alat termometer,

didapat nilai yang tidak sama, ada selisih sekitar ± 1º

C. Pengukuran ini diambil dengan mengukur suhu tubuh

dalam waktu 12 detik. Terlihat hasil pada tabel

perbandingan seperti tabel dibawah.

Tabel 4.3. Hasil perbandingan dengan termometer

Det

ik

Sistem Pengukur

Suhu

Termomet

er

1 32.3 32.2

83

2 33.3 33.7

3 33.8 34.5

4 34.1 35.0

5 34.5 35.1

6 34.4 35.2

7 34.6 35.3

8 34.7 35.4

9 34.8 35.4

10 34.8 35.4

11 34.9 35.4

12 34.9 35.5

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari penulisan tugas akhir ini tentang alat

pengukur suhu ruangan dan hasil percobaan yang telah

dilakukan maka penulis dapat mengambil kesimpulan

sebagai berikut:

1. Dengan adanya alat pengukur suhu ruangan dapat

memantau suhu dan sebagai pemutar kipas DC secara

otomatis jika suhu telah melewati suhu yang telah

didefinisikan.

2. Semua data suhu ruangan disimpian kedalam basis

data setiap detik dan dapat dilihat hasil data

dengan Aplikasi yang di buat menggunakan C# .Net /

Microsoft Access.

84

3. Hasil pengukuran suhu dan pendingin ruangan yang

digunakan pada laporan tugas akhir ini sangat

bergantung pada nilai / input dari sensor suhu,

nilai tegangan input, dan hubungan antara hardware

dan sorfware.

4. Dari data hasil pengukuran suhu ruangan, didapatkan

nilai toleransi pengukuran sebanyak ± 4 kali data

tidak tersimpan terhadap pengukuran yang dilakukan

oleh Arduino dan aplikasi desktop.

5.2. Saran

Setelah melakukan penulisan tugas akhir ini

tentang alat pengukur suhu ruangan maka penulis dapat

memberikan saran agar alat ini dapat lebih dikembangkan

lagi menjadi lebih baik, yaitu:

85

1. Alat ini dapat dikembangkan lagi agar dapat

digunakan via internet maupun melalui alat

komunikasi lain.

2. Agar suhu ruangan menjadi cepat stabil seharusnya

dibuatkan kontrol untuk motor DC sehingga pendingin

suhu ruangan dapat diukur dengan waktu.

3. Untuk mendapatkan nilai pengukuran yang lebih

akurat dan lebih stabil dapat dilakukan dengan

berbagai cara seperti: mengurangi respon sensor

dengan meningkatkan waktu delay pengukuran,

menggunakan sistem grounding yang lebih baik.

4. Untuk mendapatkan suatu sistem pengukuran suhu dan

otomatisasi pendingin ruangan yang lebih handal

sebaiknya setiap pin IO pada papan Arduino yang

digunakan untuk pin pengirim dan pin penerima

sensor tidak di-jumper atau di-parallel dengan beban

lainnya.

86

87

DAFTAR PUSTAKA

Afrie, Setiawan. 2011. 20 APLIKASI MIKROKONTROLERATMega8535 dan ATMega16. Yogyakarta: ANDI

Banzi, Massimo. 2008. Getting Started with Arduino, First Edition.Sebastopol: O’Reilly

Dasar, Elektronika. 2012. Sensor Suhu IC LM35. Fromhttp://elektronika-dasar.web.id/komponen/sensor-tranducer/sensor-suhu-ic-lm35 ,25 Agustus 2013

Hamdani, Mohammad. 2010. Pengendali Kecepatan Putaran MotorDC Terhadap Perubahan Temperatur Dengan Sistem ModulasiLebar Pulsa. Depok: Universitas Indonesia

McRoberts, Mike. 2009. Ardunio Starter Kit Manual – AComplete Beginner Guide to the Arduino. UK:Earthshine Design.

Rasheed, Faraz. 2006. Programmer Heaven: C# School. Spain:Synchron Data S.L

Robertson, Christopher R. 2008. Fundamental Electrical andElectronic Principles, Third Edition. Oxford: Newnes

Sains, Insan. 2011. Sensor Suhu dengan Arduino. Fromhttp://www.geraicerdas.com/viewtag/25, 20 Februari2013

Wikipedia. 2013. Darlington transistor. Fromhttp://en.wikipedia.org/wiki/Darlington_transistor, 10 Juli 2013

LAMPIRAN

Sketch Program Perancangan Sistem Pengukur Suhu

Menggunakan Arduino dan C#.Net:

Arduino Code:int tempPin = 0; int motorpin = 10; char buffer[25]; String derajat="32"; bool IsMotorOn = false;void setup() { analogReference(INTERNAL); pinMode(motorpin,OUTPUT); pinMode(tempPin, INPUT); Serial.begin(9600); // buka serial port, set baud rate 9600 bps}float read_lm35(int pin) { float temp = analogRead(pin) / 9.31; return (temp);}int bluePin = 9;int blueTemp= 0;void loop() { float tempC=read_lm35(tempPin); delay(1000); float tempf = (tempC * 9)/ 5 + 32;

// Show to .Net ShowToDotNet(tempC, tempf); if (Serial.available() > 0)

{ derajat = Serial.readString(); } int speed=iSpeedMotor(tempC, derajat); analogWrite(motorpin,speed); Serial.println(); Serial.flush();}float StrToFloat(String str){ char carray[str.length() + 1]; //determine size of the array str.toCharArray(carray, sizeof(carray)); //put str into an array return atof(carray);}int iSpeedMotor(float ftemperature, String derajat){

int ipwm = 0;if(Serial){

String str=derajat;//Serial.readString();float suhuDefine = StrToFloat(str); float toleransi = suhuDefine - ftemperature;String message = "";Serial.println(toleransi);if(toleransi >= -0.5 && toleransi <= 0.5){

message = "Motor:Off|";}else{ if(ftemperature>=suhuDefine) //jika temperatur >=

suhuDefine {

int selisih = ftemperature-suhuDefine; if(selisih > 55)

selisih = 55; ipwm = 200+(selisih);

message = "Motor:On|"; } else {

message = "Motor:Off|"; }} Serial.print(message);

}else{

if(ftemperature > 40){

IsMotorOn=true;ipwm=255;

}if(IsMotorOn){

Serial.print("Motor:On|");}else{

Serial.print("Motor:Off|");}

} return ipwm;}

void ShowToDotNet(float suhuC, float suhuF){

char tmpC[10];dtostrf(suhuC,1,2,tmpC) ;char tmpF[10];dtostrf(suhuF,1,2,tmpF) ;String sC = tmpC;String sF = tmpF;String s = "SuhuCelcius:" + sC + "|SuhuFahrenheit:" +

sF + "|";Serial.println(s);

}

C# Code:

// ............using DevExpress.XtraGauges.Win;using DevExpress.XtraGauges.Win.Gauges.Linear;using DevExpress.XtraGauges.Core.Model;using DevExpress.XtraGauges.Core.Base;

namespace SkripsiV1CSharp{ public partial class Form1 : Form { GaugeControl gc = null; GaugeControl gc4 = null;

double val =0;

public Form1()

{ InitializeComponent();

#region GaugeControl2 gc = gaugeControl2; LinearGauge linearGauge = gc.AddLinearGauge(); linearGauge.AddDefaultElements(); LinearScaleBackgroundLayer background = linearGauge.BackgroundLayers[0]; background.ShapeType = BackgroundLayerShapeType.Linear_Style7; LinearScaleComponent scale = linearGauge.Scales[0]; scale.MinValue = 0; scale.MaxValue = 100; scale.Value = 0; scale.MajorTickCount = 11; scale.MajorTickmark.FormatString = "{0:F0}"; scale.MajorTickmark.ShapeType = TickmarkShapeType.Linear_Style6_3; scale.MinorTickmark.ShapeType = TickmarkShapeType.Linear_Style5_2; LinearScaleLevelComponent levelBar = linearGauge.Levels[0]; levelBar.ShapeType = LevelShapeSetType.Style3; background.ScaleStartPos = new PointF2D(background.ScaleStartPos.X - 0.005f, background.ScaleStartPos.Y - 0.015f); background.ScaleEndPos = new PointF2D(background.ScaleEndPos.X - 0.005f, background.ScaleEndPos.Y); gc.Parent = this; #endregion GaugeControl2

#region GaugeControl4 gc4 = gaugeControl4; LinearGauge linearGauge4 = gc4.AddLinearGauge(); linearGauge4.AddDefaultElements(); LinearScaleBackgroundLayer background4 = linearGauge4.BackgroundLayers[0]; background4.ShapeType = BackgroundLayerShapeType.Linear_Style5; LinearScaleComponent scale4 = linearGauge4.Scales[0]; scale4.MinValue = 0; scale4.MaxValue = 212; scale4.Value = 20; scale4.MajorTickCount = 6; scale4.MajorTickmark.FormatString = "{0:F0}";

scale4.MajorTickmark.ShapeType = TickmarkShapeType.Linear_Style6_3; scale4.MinorTickCount = 3; scale4.MinorTickmark.ShapeType = TickmarkShapeType.Linear_Style5_2; LinearScaleLevelComponent levelBar4 = linearGauge4.Levels[0]; levelBar4.ShapeType = LevelShapeSetType.Style3; background4.ScaleStartPos = new PointF2D(background4.ScaleStartPos.X - 0.005f, background4.ScaleStartPos.Y - 0.015f); background4.ScaleEndPos = new PointF2D(background4.ScaleEndPos.X - 0.005f, background4.ScaleEndPos.Y); gc4.Parent = this; #endregion GaugeControl4

string[] serialPorts = System.IO.Ports.SerialPort.GetPortNames(); cboPorts.Items.AddRange(serialPorts); cboBaud.Items.Add(2400); cboBaud.Items.Add(4800); cboBaud.Items.Add(9600); cboBaud.Items.Add(14400); cboBaud.Items.Add(19200); cboBaud.Items.Add(28800); cboBaud.Items.Add(38400); cboBaud.Items.Add(57600); cboBaud.Items.Add(115200); }

private void Form1_Load(object sender, EventArgs e) { serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPort1_DataReceived); }// ........... Some Code

delegate void SetTextCallback(string text); private void SetText(string text) { if (this.txtOutput.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetText); this.BeginInvoke(d, new object[] { text }); } else

{ txtOutput.AppendText(text); } }

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { try { SerialPort sp = sender as SerialPort;

string strExisting = sp.IsOpen ? sp.ReadLine() : ""; SetText(strExisting); this.StoreToDB(strExisting); }

catch (Exception ex) { } }

private void StoreToDB(string strExisting) { DataSet1.THistoryDataTable dt = new DataSet1.THistoryDataTable(); DataSet1.THistoryRow row = dt.NewTHistoryRow();

string[] arrStr = strExisting.Trim().Remove(strExisting.LastIndexOf("|")).Split('|'); foreach (string item in arrStr) { string[] keyValue = item.Split(':'); switch (keyValue[0]) { case "SuhuCelcius": row.SuhuCelcius = Convert.ToDouble(keyValue[1]); this.ShowGaugeControlCelciusTemperature(keyValue[1], gc); break; case "SuhuFahrenheit": row.SuhuFahrenheit = Convert.ToDouble(keyValue[1]); this.ShowGaugeControlFahrenheitTemperature(keyValue[1], gc4); break;

} } row.Date = DateTime.Now; row.RPM = 0; row.Time = DateTime.Now; try { ta.Insert(row.SuhuFahrenheit, row.SuhuCelcius, row.RPM, DateTime.Now, DateTime.Now); } catch (Exception ex) { } }

private void ShowGaugeControlFahrenheitTemperature(string tempF, GaugeControl gc4) { LinearGauge lg = gc4.Gauges[0] as LinearGauge; LinearScale ls = lg.Scales[0]; ls.Value = (float)Convert.ToDouble(tempF);

digitalGauge2.Text = tempF + "'F"; }

private void ShowGaugeControlCelciusTemperature(string tempC, GaugeControl gc) { LinearGauge lg = gc.Gauges[0] as LinearGauge; LinearScale ls = lg.Scales[0]; ls.Value = (float)Convert.ToDouble(tempC);

digitalGauge1.Text = tempC + "'C";val = ls.Value;

}

private void timer1_Tick(object sender, EventArgs e) { chart1.ChartAreas[0].AxisX.Maximum = 60; chart1.ChartAreas[0].AxisX.Minimum = 1; chart1.ChartAreas[0].AxisX.LabelStyle.Interval = 1; chart1.ChartAreas[0].AxisX.MajorGrid.Interval = Math.PI; chart1.ChartAreas[0].AxisX.MinorGrid.Interval = Math.PI / 4; chart1.ChartAreas[0].AxisX.MinorTickMark.Interval = Math.PI / 4; chart1.ChartAreas[0].AxisX.MajorTickMark.Interval = Math.PI;

chart1.ChartAreas[0].AxisY.Maximum = 100; chart1.ChartAreas[0].AxisY.Minimum = 0; chart1.ChartAreas[0].AxisY.LabelStyle.Interval = 10; chart1.Series[0].Points.AddXY(DateTime.Now.Second+1, val); if (DateTime.Now.Second+1 ==60 ) { chart1.Series[0].Points.Clear(); } label4.Text = DateTime.Now.ToString("HH:mm");

}