Anda di halaman 1dari 60

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 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

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

Sebagai makhluk hidup pada hakikatnya membutuhkan suhu udara yang


tepat untuk memenuhi kebutuhan hidupnya. Agar lebih efisien maka perlu
dilakukannya proses pengukuran. Salah satu proses pengukur suhu ruangan yang
banyak digunakan baik untuk memenuhi kebutuhan di industri maupun di rumah
tangga pada saat ini adalah sistem pengukur suhu dan pendingin ruangan secara
otomatis.
Sistem pengukur suhu dan otomatisasi pendingin ruangan merupakan
salah satu sistem yang sangat bermanfaat bagi kehidupan manusia. Dengan sistem
ini diharapkan dapat mempermudah mengetahui suhu ruangan. LM35 merupakan
sensor yang digunakan dalam tugas akhir ini sebagai sensor yang sangat sensitif
terhadap temperatur. Hasil sensor tersebut di olah Arduino Uno yang kemudian
ditampilkan dalam aplikasi desktop dengan menggunakan C# .Net dan disimpan
kedalam basis data.
Setelah dilakukannya proses pengujian, sistem pengukur suhu ruangan
khususnya yang dibuat pada tugas akhir ini dapat mengukur suhu ruangan dengan
nilai toleransi data tak tersimpan 4 kali dalam satu menit.
Ketika suhu
melebihi suhu yang ditetapkan, maka kipas akan berputar secara otomatis sebagai
pendingin ruangan. Sistem ini bekerja setiap detik serta menampilkan hasil pada
aplikasi desktop dan menyimpan ke dalam basis data sebagai tempat penyimpanan
terakhir yang dikemudian hari dapat dikembangkan atau di ambil sebuah
keputusan.

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 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

Lucky Yuditia Putra

DAFTAR ISI
LEMBAR PERNYATAAN......................................................................................ii
LEMBAR PENGESAHAN....................................................................................iii
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

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

42.1

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

42.

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

42.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


13.

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

23.

Rancangan Sistem Pengukur Suhu dan Pendingin Ruangan...................36


3.2.1.

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

3.

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

43.

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

53.

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

63.

Diagram Alir Sistem Pengukur Suhu dan Pendingin..............................40

73.

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

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
mGba1r2.

Bagian Mikrokontroler.....................................................................5

mGba2r.

Hardware Arduino............................................................................9

mGba3r2.
serial

Device Manager pada Windows menampilkan semua terminal


........................................................................................................15

mGba4r2.

Kipas DC........................................................................................21

mGba5r2.

IC LM35.........................................................................................22

mGba6r2.

Grafik akurasi LM35 terhadap Suhu..............................................23

mGba7r2.

Mini Protoboard.............................................................................26

mGba8r2.

Jalur Breadboard............................................................................28

mGba9r2.

Transistor........................................................................................29

mGba1r20.

Diagram rangkaian dari transistor Darlington...............................30

mGba1r2.

Microsoft Visual C# .Net...............................................................32

Gambar 3.1.

Diagram Blok Sistem.....................................................................37

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.
variable

Kipas tidak berputar ketika suhu sebenarnya lebih kecil dari suhu
........................................................................................................47

Gambar 4.2.
sebenarnya

Kipas menyala ketika suhu variable lebih kecil dari suhu


........................................................................................................47

Gambar 4.3.

Software aplikasi desktop..............................................................48

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

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

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 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.

11

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.

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 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.

12

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 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 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.

13

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 :

14

15

Bagian Mikrokontroler
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. 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.

2.2.

Arduino

a. 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.

16

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.
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.
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.
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.

17

Gambar 2.1. Hardware Arduino

Pada hardware arduino terdiri dari 20 pin yang meliputi:


a. 14 pin IO Digital (pin 013)
Sejumlah pin digital dengan nomor 013 yang dapat dijadikan input atau
output yang diatur dengan cara membuat program IDE.
b. 6 pin Input Analog (pin 05)
Sejumlah pin analog bernomor 05 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.
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

18

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
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 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 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.

19

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 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 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

20

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.
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.

Gambar 2.2.

Device Manager pada Windows menampilkan semua terminal serial.

21

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.
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.
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

22

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 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 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

23

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.
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 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)
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

24

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.

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.

Gambar 2.3. 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

25

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).
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.4. 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 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,5C 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.

26

Gambar 2.5. 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 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
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

27

Low self-heating, sebesar 0.08 oC


Beroperasi pada tengangan sampai 4 sampai 30V
Rangkaian tidak rumit
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.
2.
3.
4.
5.

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.

Gambar 2.6.

2.5.1.

Mini Protoboard

Spesifikasi Protoboard

Protoboard solderless modern yang terdiri dari blok berlubang dari plastik
dengan berbagai timah berlapis perunggu fosfor atau nikel silver klip paduan semi

28

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.
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.
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.
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 :

29

Gambar 2.7.

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.
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.8. Transistor

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.

30

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 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.9.

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:

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 baseemitter 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 oleh Microsoft sebagai bagian dari inisiatif

31

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.

Gambar 2.10.

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 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-

32

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] Fiturfitur 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 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.
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 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

33

Variabel-variabel yang belum diinisialisasikan, portabilitas kode sumber, dan


pengumpulan sampah (garbage collection) secara otomatis.

7.

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
Arduino UNO R3

Software
Microsoft Visual C#

Baterai 9 Volt

Software Arduino 1.0.5

Kipas/Motor Dc 12 Volt

Software fritzing

Transistor TIP 120

Microsoft Access

Sensor Suhu LM35


Resistor 1 kilo ohm
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 saa

34

35

t 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 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

36

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. 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 terletak pada ruang kardus yang dapat dibuka, untuk
memudahkan pengecekan rangkaian elektronika atau memperbaiki pada saat

37

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.

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.

38

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.

39

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 akan dalam keadaan OFF kembali apabila suhu ruangan
di bawah batas minimum yang telah ditetapkan.

40

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

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

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

41

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.

Gambar 3.7. Perancangan form penampil data

BAB IV
PENGUJIAN ALAT
Pengujian alat dilakukan untuk mengetahui apakah fungsifungsi 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
2

Pengujian Rangkaian Arduino dengan LM35


Pengujian Rangkaian dengan Kipas

4.1.1.

Pengujian Rangkaian Arduino dengan LM35

42

43

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
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
Normal
Dipanaskan dengan Korek api

Celcius
28-31
40-42

Suhu
Fahrenheit
82-84
107-109

4.1.2.
Pengujian Rangkaian dengan Kipas
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 akan berputar dengan tanda "Motor:On" seperti pada Gambar 4.2.

44

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.
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

45

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.

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

Pada form seperti pada Gambar 4.7. menandakan instalasi telah selesai,
dan menandakan Aplikasi Pengukur Suhu sudah dapat digunakan dan dapat
berinteraksi dengan Arduino.

46

Gambar 4.7. Instalasi Aplikasi selesai

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.

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

47

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, 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


pada tanggal 8 September 2013 pukul 12.42 siang.

31 C yang di ambil

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.

Gambar 4.11.

Tampilan aplikasi desktop ketika sensor suhu dipanaskan

48

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.

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.

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

49

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.
2. Delay pada pengiriman data dari Arduino ke Aplikasi Desktop.
Tabel 4.2.;

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

9/7/2013 7:29
29.54
29.54
29.54
29.43
29.43
29.43
29.43
29.54
29.43
29.43
29.65
29.54
29.54
29.43
29.43
29.54
29.43
29.43
29.43
29.43
29.43
29.43
29.43
29.32
29.43
29.43
29.43
29.32
29.32
29.32
29.32

Hasil pengukuran suhu waktu per detik

9/7/2013 7:30
29.43
29.43
29.43
29.43
29.54
29.54
29.54
29.54
29.54
29.54
29.43
29.54
29.54
29.54
29.54
29.65
29.54
29.65
29.54
29.54
29.54
29.65
29.65
29.65
29.65
29.65
29.43
29.54
29.54
29.54
29.54

9/7/2013 9:06
30.5
30.4
30.4
30.4
30.5
30.61
30.4
30.4
30.5
30.4
30.4
30.4
30.5
30.4
30.4
30.4
30.4
30.29
30.4
30.4
30.4
30.4
30.29
30.29
30.29
30.29
30.29
30.4
30.4
30.29
30.4

50

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

29.43
29.43
29.32
29.32
29.32
29.32
29.32
29.22
29.32
29.32
29.32
29.43

29.54
29.54
29.65
29.54
29.54
29.54
29.54
29.54
29.43
29.54
29.54
29.43
29.54
29.54
29.54
29.43
29.54
29.43
29.54
29.43
29.43
29.43

29.43
29.43
29.43
29.43
29.43
29.32
29.43
29.43
29.22
29.43
29.43
29.43
29.43
29.43

29.54
29.54
29.54

30.4
30.29
30.29
30.29
30.29
30.29
30.29
30.29
30.4
30.29
30.4
30.4
30.29
30.4
30.4
30.4
30.4
30.5
30.4
30.4
30.4
30.4
30.5
30.29
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 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 4 kali 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

51

Detik
1
2
3
4
5
6
7
8
9
10
11
12

Sistem Pengukur Suhu


32.3
33.3
33.8
34.1
34.5
34.4
34.6
34.7
34.8
34.8
34.9
34.9

Termometer
32.2
33.7
34.5
35.0
35.1
35.2
35.3
35.4
35.4
35.4
35.4
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.
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.

52

53

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:
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.

DAFTAR PUSTAKA
Afrie, Setiawan. 2011. 20 APLIKASI MIKROKONTROLER ATMega8535 dan
ATMega16. Yogyakarta: ANDI
Banzi, Massimo. 2008. Getting Started with Arduino, First Edition. Sebastopol:
OReilly
Dasar, Elektronika. 2012. Sensor Suhu IC LM35. From http://elektronikadasar.web.id/komponen/sensor-tranducer/sensor-suhu-ic-lm35 ,25 Agustus
2013
Hamdani, Mohammad. 2010. Pengendali Kecepatan Putaran Motor DC
Terhadap Perubahan Temperatur Dengan Sistem Modulasi Lebar Pulsa.
Depok: Universitas Indonesia
McRoberts, Mike. 2009. Ardunio Starter Kit Manual A Complete 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 and Electronic
Principles, Third Edition. Oxford: Newnes
Sains,

Insan.
2011.
Sensor
Suhu
dengan
Arduino.
http://www.geraicerdas.com/viewtag/25, 20 Februari 2013

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

LAMPIRAN

From

From

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

Anda mungkin juga menyukai