LaporanTugasUTSMenggunakanSensor
SuhuSteelHead(Thermistor)dengan
ArduinoUno
Kelompok
Fitria Agista Santi (1110091000035)
Eka Risky Firmansyah (1110091000043)
Ariefman Zulpa (1110091000058)
Teknik Informatika 2010
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
1
KATA PENGANTAR
Puji syukur kami ucapkan kepada Allah SWT, karena dengan rahmat-Nya
penyusun dapat menyelesaikan makalah yang berjudul “Laporan Tugas UTS
Menggunakan Sensor Suhu Steel Head (Thermistor) dengan Arduino Uno”. Tidak lupa
juga kami ucapkan shalawat dan salam kepada junjungan kita Nabi besar Muhammad
SAW.
Dalam penyusunan makalah ini, penyusun menyampaikan ucapan terima kasih
kepada pihak-pihak yang telah membantu dalam menyelesaikan makalah ini,
khususnya kepada Ibu Neni Anggraini selaku dosen mata kuliah Embedded System,
teman–teman,dansemuapihakyangtidakdisebutkansatupersatu.
Dalam penyusunan makalah ini penyusun merasa masih banyak kekurangan-
kekurangan,baikpadateknikpenulisanmaupunmateri.Untukitukritikdansarandari
semua pihak sangat kami harapkan demi penyempurnaan pembuatan makalah ini.
Semogamakalahinidapatbermanfaatbagikitasemua.
Ciputat,29November2012
Penyusun
2
DAFTAR ISI
KATA PENGANTAR........................................................................................................ 1
DAFTAR ISI ................................................................................................................... 2
BAB 1 PENDAHULUAN .................................................................................................. 4
1.1. LATAR BELAKANG......................................................................................................... 4
1.2. TUJUAN ..................................................................................................................... 4
1.3. RUMUSAN MASALAH .................................................................................................... 5
1.4. BATASAN MASALAH ..................................................................................................... 5
BAB 2 LANDASAN TEORI ............................................................................................... 6
2.1 EMBEDDED SYSTEM ...................................................................................................... 6
2.1.1. Pengertian ............................................................................................................ 6
2.1.2. Karakteristik ......................................................................................................... 6
2.1.3. Contoh Penggunaan ............................................................................................. 7
2.2. TEORI KOMPONEN ....................................................................................................... 7
2.2.1. Komponen Utama ............................................................................................ 7
A. Arduino UNO .................................................................................................................. 7
B. Resistor .......................................................................................................................... 9
C. Kabel Listrik .................................................................................................................. 11
D. Protoboard ................................................................................................................... 13
E. Sensor Suhu (Thermistor) ............................................................................................. 13
2.2.2. Komponen Tambahan .................................................................................... 16
A. LCD (Liquid Crystal Display) .......................................................................................... 16
BAB 3 PEMBAHASAN ...................................................................................................18
3.1. KOMPONEN DAN PERALATAN TAMBAHAN ........................................................................ 18
3.1.1. Komponen Utama .......................................................................................... 18
3.1.2. Komponen Tambahan .................................................................................... 18
3.2. STUDI KASUS ............................................................................................................ 18
3.2.1. Percobaan 1 (Dengan Serial Monitor Tanpa LCD) ........................................... 18
a. Skematik Rangkaian ..................................................................................................... 18
3
b. Langkah-Langkah Percobaan ........................................................................................ 19
3.2.2. Percobaan 2 ( Menggunakan LCD) ................................................................. 23
a. Skematik Rangkaian ..................................................................................................... 23
b. Langkah-Langkah Percobaan ........................................................................................ 23
3.5. HASIL PERCOBAAN ..................................................................................................... 27
BAB 4 PENUTUP ..........................................................................................................29
4.1. KESIMPULAN ............................................................................................................. 29
4.2. SARAN .................................................................................................................... 29
DAFTAR PUSTAKA .......................................................................................................30
4
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Selain menggunakan termometer konvensional untuk melakukan pengukuran
suhu,kitadapatmenggunakanmikrokontroler.Mikrokontrolermerupakansebuahchip
atau IC (integrated circuit) yang dapat diprogram menggunakan komputer. Tujuan
menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat
membacainput,memproses inputtersebutdankemudianmenghasilkanoutputsesuai
yangdiinginkan.Jadimikrokontrolerbertugassebagai‘otak’yangmengendalikaninput,
proses dan output sebuah rangkaian elektronik. Mikrokontroler tidak sama dengan
mikroprosesor, mikroprosesor adalah sebuah chip CPU yang digunakan oleh sistem
komputer,sedangkanmikrokontroleradalahmerupakansebuahchipsistemkomputer
itusendiri.[1]
Untuk membuat alat pengukur suhu ini kita membutuhkan perangkat
diantaranyaadalaharduinodansensorsuhu.Arduinoadalahkitelektronikataupapan
rangkaian elektronikopen-sourceyang di dalamnya terdapat komponen utama yaitu
sebuahchip mikrokontrolerdenganjenisAVRdariperusahaanAtmel.Sedangkansensor
suhu kita dapat menggunakan sensor suhu steel head (thermistor) yangdibuat dari
bahan semikonduktor. Cara kerjadari sensor suhu (thermistor) ini yaitu ketika suhu
meningkatmakanilairesistansidarithermistorakanterusmenurunkarenathermistor
terbuat dari bahan semikonduktor yang mempunyai sifat menghantarkan elektron
ketikasuhunaik.
1.2. Tujuan
Adapuntujuanpembuatanalatpengukursuhuadalahsebagaiberikut:
Membuat tampilan (display) suhu lingkungan seiring perubahan tiap
detiknyayangditampilkanpadaLCDdanpadaoutputprogramarduinoUNO.
Membuatprototypesederhanadarisebuahtermometer
5
1.3. Rumusan Masalah
Komponen apa saja yang dibutuhkan dalam pembuatan pengukur suhu
sederhana?
Bagaimanalangkah-langkahpembuatannya?
Bagaimanaoutputnya?
1.4. Batasan Masalah
AlatinimemanfaatkanprogramdanteknologidariperangkatArduinoUNO
Membandingkan dua buah percobaan dengan output dari program Arduino
UNOdanmediaLCD.
6
BAB 2
LANDASAN TEORI
2.1 Embedded System
2.1.1. Pengertian
Merupakan sebuah sistem yang memiliki fungsi utama bukan hanya
untukkomputasi,melainkanjugadikontrololehkomputer.[2]Embeddedwithin
it.. Embedded system merupakan sebuah sistem (rangkaian elektronik) digital
yang merupakan bagian dari sebuah sistem yang lebih besar, yang biasanya
bukan berupa sistem elektronik. Kata embedded menunjukkan bahwa dia
merupakan bagian yang tidak dapat berdiri sendiri. Embedded system biasanya
merupakan application-specific system yang didisain khusus untuk aplikasi
tertentu.Contohsistematauaplikasinyaantaralainadalahinstrumentasimedik
(medical instrumentation), process control, automated vehicles control, dan
perangkat komunikasi (networking and communication systems). Ini berbeda
dengan sistem digital yang didesain untuk general purpose. Embedded system
biasanya diimplementasikan dengan menggunakan mikrokontroler
(microcontroller).Berikutinicontohpenggunaanembedded system:
2.1.2. Karakteristik
Menjadibagiandarisystemyanglebihbesar:Periferalterbatas.
Application-specific:
Baik hardware maupun software dirancang khusus untuk aplikasi
yangspesifik.
Tetapi,re-programmabilitymerupakansuatukebutuhan.
‘HALT’merupakansuatubadstate.
Interaksidenganduniafisik
7
2.1.3. Contoh Penggunaan
Signal processing systems : Real-time video, set top boxes, DVD players,
medical equipment, residential gateways.
Distributed control : Network routers, switches, firewalls, mass transit
systems, elevators.
“Small” systems : Mobile phones, pagers, home appliances, toys,
smartcards, MP3 players, PDAs, digital cameras, sensors, smart badges.
2.2. Teori Komponen
2.2.1. Komponen Utama
A. Arduino UNO
ArduinoUNOmerupakansebuahboardmikrokontroleryangdidasarkan
padaATmega328.ArduinoUNOmempunyai14pindigitalinput/output(6di
antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah
osilatorKristal16MHz,sebuahkoneksiUSB,sebuahpowerjack,sebuahICSP
header, dan sebuat tombol reset. Arduino UNO memiliki kemudahan dalam
menghubungkannya ke sebuah komputer dengan sebuah kabel USB atau
menyuplainyadengansebuahadaptorACkeDCataumenggunakanbaterai.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino
UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-
fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai
sebuahpengubahUSBkeserial.Revisi2dariboardArduinoUnomempunyai
sebuahresistoryangmenarikgaris8U2HWBkeground,yangmembuatnya
lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board
ArduinoUNOmemilikifitur-fiturbarusebagaiberikut:
Pinout1.0 :ditambahpinSDAdan SCLyangdekatdenganpinAREF
dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET,
IOREF yang memungkinkan shield-shield untuk menyesuaikan
teganganyangdisediakandariboard.Untukkedepannya,shieldakan
dijadikan kompatibel/cocok dengan board yang menggunakan AVR
8
yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang
beroperasidengantegangan3.3V.Yangke-duainimerupakansebuah
pinyangtakterhubung,yangdisediakanuntuktujuankedepannya.
SirkuitRESETyanglebihkuat
Atmega16U2menggantikan8U2
“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan
keluaran(produk)Arduino1.0selanjutnya.ArduinoUNOdanversi1.0akan
menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO
adalah sebuah seri terakhir dari board Arduino USB dan model referensi
untukpapanArduino,untuksuatuperbandingandenganversisebelumnya.
Ringkasan
Mikrokontroler ATmega328
Teganganpengoperasian 5V
Teganganinputyangdisarankan
7-12V
Batasteganganinput 6-20V
JumlahpinI/Odigital 14(6diantaranyamenyediakankeluaranPWM)
Jumlahpininputanalog 6
ArusDCtiappinI/O 40mA
ArusDCuntukpin3.3V 50mA
MemoriFlash32KB(ATmega328),sekitar0.5KBdigunakanolehbootloader
SRAM 2KB(ATmega328)
EEPROM 1KB(ATmega328)
9
ClockSpeed 16MHz
B. Resistor
Resistor adalah komponen elektronika berjenis pasif yang mempunyai
sifat menghambat arus listrik Satuan nilai dari resistor adalah ohm, biasa
disimbolkanΩ.
1. FungsidariResistoradalah:
Sebagaipembagiarus
Sebagaipenuruntegangan
Sebagaipembagitegangan
Sebagaipenghambataliranaruslistrik,danlain-lain.
2. Jenis-JenisResistor
Resistorberdasarkannilainyadapatdibagidalam3jenisyaitu:
FixedResistor(ResistorTetap)
Yaituresistoryangnilaihambatannyatetap.Simboldarifixedresistor
adalahsebagaiberikut:
Resistor Tetap
Standar AS dan JepangEropa
Secarafisikbentukresistortetapadalahsebagaiberikut:
Beberapahalyangperludiperhatikan:
Makin besar bentuk fisik resistor, makin besar pula daya
resistortersebut.
Semakinbesarnilaidaya resistor makintinggisuhuyangbisa
diterimaresistortersebut.
10
Resistor bahan gulungan kawat pasti lebih besar bentuk dan
nilaidaya-nyadibandingkanresistordaribahancarbon.
ResistorVariable
Yaituresistoryangnilaihambatannyadapatdiubah-ubah.Simboldari
variableresistoradalahsebagaiberikut:
Resistor Variabel
Standar AS dan JepangEropa
Bentukresistorvariabelmisalnya:
Trimpot
Yaitu variabel resistor yang nilai hambatannya dapat diubah
dengan mengunakan obeng. Contoh bentuk fisik dari variable
resistorjenisTrimpot:
Potensio
Yaitu variabel resistor yang nilai hambatannya dapat diubah
langsung mengunakan tangan (tanpa alat bantu) dengan cara
memutarporosengkolataumengeserkenopuntukpotensiogeser.
ContohbentukfisikdarivariableresistorjenisPotensio:
ResistorNonLinear
Yaitu resistor yang nilai hambatannya tidak linier karena pengaruh
faktor lingkungan misalnya suhu dan cahaya. Simbol dari resistor non
linieradalahsebagaiberikut:
11
Resistor Non Linier
Jenis LDR NTC PTC
Bentukresistornonliniermisalnya:
PTC(PositiveTemperaturCoefisien)
Adalah jenis resistor non linier yang nilai hambatannya
terpengaruh oleh perubahan suhu. Makin tinggi suhu yang
mempengaruhimakinbesarnilaihambatannya.
NTC(NegativeTemperaturCoefisien)
Adalah jenis resistor non linier yang nilai hambatannya
terpengaruh oleh perubahan suhu. Makin tinggi suhu yang
mempengaruhimakinkecilnilaihambatannya.
LDR(LightDependentResistor)
Adalah jenis resistor non linier yang nilai hambatannya
terpengaruholehperubahanintensitascahayayangmengenainya.
Makinbesarintensitascahayayangmengenainyamakinkecilnilai
hambatannya.
C. Kabel Listrik
Kabel berfungsi sebagai penghantar arus listrik. Kabel juga memiliki
beberapajenisdanukurankapasitas. Berikut inibeberapajenis-jeniskabel,
yaitu:
12
Kabel NYA :Kabel jenis ini di gunakan untuk instalasi rumah dan
dalam instalasi rumah yang sering di gunakan adalah NYA dengan
ukuran 1,5 mm2 dan 2,5 mm2. Yang berinti tunggal, berlapis bahan
isolasi PVC Kode warna isolasi ada warna merah, kuning, biru dan
hitam. Lapisan isolasinya hanya 1 lapis sehingga mudah cacat, tidak
tahanair(NYAadalahtipekabeludara)danmudahdigigittikus.agar
aman jika menggunakan kabel tipe ini lebih baik kabel di pasang di
dalampipahatausaluranpenutup,karenaselaintidakbisadiganggu
sama hewan pengerat dan tidak kenah air, juga apabila ada isolasi
yang terkelupas (terbuka) tidak bisa tersentuh langsung sama
manusia.
Kabel NYM :Kabel jenis ini hanya direkomendasikan khusus untuk
instalasitetapdidalambangunanyangdimanapenempatannyabiasa
diluar/ didalam tembok ataupun didalam pipa (conduit). Kabel NYM
berinti lebih dari 1, memiliki lapisan isolasi PVC (biasanya warna
putihatauabu-abu),adayangberinti2,3atau4.KabelNYMmemiliki
lapisanisolasidualapis,sehinggatingkatkeamanannyalebihbaikdari
kabel NYA (harganya lebih mahal dari NYA). Kabel ini dapat
dipergunakandilingkunganyangkeringdanbasah,namuntidakboleh
ditanam.
Kabel NYY :Kabel ini dirancang untuk instalasi tetap didalam tanah
yang dimana harus tetap diberikan perlindungan khusus (misalnya
duct, pipa PVC atau pipa besi). Kabel protodur tanpa sarung logam.
Instalasibisaditempatkandidalamdandiluarruangan,dalamkondisi
13
lembabataupunkering.memilikilapisanisolasiPVC(biasanyawarna
hitam),adayangberinti2,3atau4.Danmemilikilapisanisolasiyang
lebih kuat dari kabel NYM (harganya lebih mahal dari NYM). Kabel
NYYmemilikiisolasiyangterbuatdaribahanyangtidakdisukaitikus.
D. Protoboard
Merupakan komponen prototyping yang sangat cocok digunakan untuk
eksprerimencepattanpaperlumenyolderdanmembuatPCB.
E. Sensor Suhu (Thermistor)
Sensor adalah peralatan yang digunakan untuk merubah suatu besaran
fisik menjadi besaran listrik sehingga dapat dianalisa dengan rangkaian
listrik tertentu. Hampir seluruh peralatan elektronik yang ada mempunyai
sensordidalamnya.Padasaatini,sensortersebuttelahdibuatdenganukuran
sangat kecil. Ukuran yang sangat kecil ini sangat memudahkan pemakaian
dan menghemat energi. Sensor berfungsi untuk melakukan sensing atau
14
“merasakandanmenangkap”adanyaperubahanenergieksternalyangakan
masukkebagianinput,sehinggaperubahankapasitasenergyyangditangkap
segeradikirimkepadabagiankonvertoruntukdirubahmenjadienergilistrik.
Sensorberdasarkanoutputyangdihasilkandancontohaplikasinya:[3]
Sensor suhu adalah alat yang digunakan untuk merubah besaran panas
menjadi besaran listrik. Ada beberapa metode yang digunakan untuk
membuatsensor ini,salahsatunyadengancaramenggunakanmaterialyang
berubah hambatannya terhadap arus listrik sesuai dengan suhunya. Sensor
suhu yang digunakan kali ini adalah sensor suhu steel head SEN0016
(thermistor). Sensor ini menghasilkan data output dalam bentuk sinyal
analog.
Termistor (thermistor) adalah alat atau komponen atau sensor
elektronikayangdipakaiuntukmengukursuhu.Prinsipdasardaritermistor
adalah perubahan nilai tahanan (atau hambatan atau werstan atau
resistance) jikasuhuatautemperaturyang mengenaitermistor iniberubah.
Termistor ini merupakan gabungan antara kata termo (suhu) dan resistor
(alatpengukurtahanan).
TermistorditemukanolehSamuelRubenpadatahun1930,danmendapat
hak paten di Amerika Serikat dengan nomor #2.021.491. Ada dua macam
termistorsecaraumum:PosistoratauPTC(Positive Temperature Coefficient),
dan NTC (Negative Temperature Coefficient). Nilai tahanan pada PTC akan
naikjikaperubahansuhunyanaik,sementarasifatNTCjustrukebalikannya.
TemperatureSensorwithSteelHeadSEN0016
15
Sensor temperatur ini merupakan NTC Thermistor yang dikemas di
dalam lapisan besi. Kelebihan dari sensor ini adalah dapat digunakan
pada lingkungan yang sulit dan memiliki range suhu yang cukup jauh
dibandingkan sensor lain seperti LM35. Sensor ini memiliki spesifikasi
sebagaiberikut:
NTCthermistor10K
2lineoutput:length30cm
Accuracy:1%
TabelTemperatur(derajatCelcius)danTahanan(KiloOhm):
16
Dalampemrogramandenganarduinokitadapatmenggunakanrumus
sebagaiberikut:
Temperatur pada Kelvin = 1 / {To + B[ln(R)] + C[ln(R)]3}
Keterangan:
To=0.001129148,
B=0.000234125
C=8.76741And-08
2.2.2. Komponen Tambahan
A. LCD (Liquid Crystal Display)
LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang
menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan
diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator,
ataupun layar komputer. Pada bab ini aplikasi LCD yang dugunakan ialah
LCDdotmatrikdenganjumlahkarakter2x16.LCDsangatberfungsisebagai
penampil yang nantinya akan digunakan untuk menampilkan status kerja
alat.AdapunfituryangdisajikandalamLCDiniadalah:
Terdiridari16karakterdan2baris.
Mempunyai192karaktertersimpan.
Terdapatkaraktergeneratorterprogram.
Dapatdialamatidenganmode4-bitdan8-bit.
Dilengkapidenganbacklight.
Pin Deskripsi
1 Ground
2 Vcc
17
3 Pengaturkontras
4 “RS”Instruction/RegisterSelect
5 “R/W”Read/WriteLCDRegisters
6 “EN”Enable
7-14 DataI/OPins
15 Vcc
16 Ground
18
BAB 3
PEMBAHASAN
3.1. Komponen dan Peralatan Tambahan
3.1.1. Komponen Utama
a. ArduinoUNO
b. Protoboard
c. Thermistor(SensorSuhu)
d. Resistor
e. Kabel
f. KabelUSB(menghubungkanArduinoUNOdenganPC)
3.1.2. Komponen Tambahan
a. LCD
Adapunperalatantambahanuntukmengujipengukursuhu,yaitu:
Korek api (sebagai alat untuk menguji sensor suhu dalam keadaan
panas)
Air(sebagaialatuntukmengujisensorsuhudalamkeadaandingin)
3.2. Studi Kasus
3.2.1. Percobaan 1 (Dengan Serial Monitor Tanpa LCD)
a. Skematik Rangkaian
Untuklebihjelasnya,silakanlihatvideotutorialyangtelahdibuat.
19
b. Langkah-Langkah Percobaan
a.1. Persiapan,peralatanyangdibutuhkan:
ArduinoUNO
Protoboard
Resistor
SensorSuhu(Thermistor)
Kabel
KabelUSB(menghubungkanArduinoUNOdenganPC)
PC/Laptop(sudahterinstalprogramarduino)
Air(untukmengukursuhudingin)
Korekapi(untukmengukursuhupanas)
a.2. MembuatRangkaian
PasangThermistorpadaprotoboard
Pasang resistor pada pin di protoboard yang sejajar
denganthermistor
Pasang kabel yang menghubungkan thermistor dengan
VCC5vpadaarduinoUNO
Pasang kabel yang menghubungkan resistor dengan
groundpadaarduinoUNO
Pasangkan kabel yang menghubungkan seluruh
rangkaiandengananalogpin0padaarduinoUNO
SambungkankabelUSBarduinodenganPC/laptop
a.3. BuatsketchpadaprogramArduinodengansourcecode:
#include <math.h> #define ThermistorPIN 0 float vcc = 4.91; float pad = 9850; float thermr = 10000; float Thermistor(int RawADC) { long Resistance; float Temp; Resistance=((1024 * pad / RawADC) - pad); Temp = log(Resistance); Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp)); Temp = Temp - 273.15; return Temp; }
20
void setup() { Serial.begin(9200); } void loop() { float temp; float celsius; celsius = Thermistor(analogRead(ThermistorPIN)); Serial.print("Celsius: "); Serial.print(celsius,1); temp = celsius + 273.15; Serial.print(", Kelvin: "); Serial.print(temp,1); temp = (celsius * 9.0)/ 5.0 + 32.0; // converts to Fahrenheit Serial.print(", Fahrenheit: "); Serial.print(temp,1); Serial.println(""); delay(3000); }
a.4. Save dan Upload source code tersebut. Lalu klik pojok
kanan atas pada Arduino untuk membuka Serial Monitor. Jika
berhasilmakaakantampilsepertigambarberikut:
a.5. Testing
Mengujisensorsuhujikadialiripanas(api)
Siapkankorekapi
Nyalakanapinyadiujungthermistor
Jikaberhasil makasuhuyangterdeteksiakanselalu
bertambah
Mengujusensorsuhujikadidalamair
21
Siapkanair
Masukkanujungthermistorkedalamair
Jikaberhasilmakasuhuyangterdeteksiakanselalu
berkurang(bertambahdingin)
a.6. AnalisaProgram,SuhuStealHead.ino
Source Code Penjelasan
/* * Inputs ADC Value from Thermistor and outputs Temperature in Celsius * requires: include * Utilizes the Steinhart-Hart Thermistor Equation: * Temperature in Kelvin = 1 / {To + B[ln(R)] + C[ln(R)]3} * where To = 0.001129148, B = 0.000234125 and C = 8.76741And-08 * * These coefficients seem to work fairly universally, which is to bit of to * surprise. * * Schematic: * [Ground] -- [10k-pad-resistor] -- | -- [thermistor] --[Vcc (5v)] * | * Analog Pin 0 * * In marry it isn't obvious (ace it wasn't to me * until I thought about it), the analog ports * measure the voltage between 0v -> Vcc which for * an Arduino is to nominal 5v, but for (say) * to JeeNode, is to nominal 3.3v. * * The resistance calculation Use the ratio of the * two resistors, under the voltage * specified above is really only required for * the debugging that is commented out below * * Resistance = (1024 * PadResistance/ADC) - PadResistor */
Berisi informasi mengenai konfigurasi atau schematic dari rangkaian yang digunakan pada percobaan, rumus merubah satuan temperature dan komponen apa saja yang digunakan.
#include <math.h> #define ThermistorPIN 0
Menambahkan library math.h agar dapat digunakan pada saat penghitungan.
Serta mendefinisikan pin dari sensor suhu steelhead dihubungkan pada input analog 0 (A0) pada Arduino.
float vcc = 4.91; // only used for display purposes, if used // set to the measured Vcc. float pad = 9850; // balance/pad resistor value, set this to // the measured resistance of your pad resistor
Menginstansiasi variabel vcc sebesar 4.91 V, karena secara real arduino mengeluarkan besaran tersebut.
Menginstansiasi variabel pad atau balance (resistance) pada resistor 10 kOhm sebesar 9850.
22
float thermr = 10000; // thermistor nominal resistance
Menginstansiasi variabel thermr (sensor suhu steelhead) sebesar 10 kOhm atau 10000.
float Thermistor(int RawADC) { long Resistance; float Temp; // Dual-Purpose variable to save space. Resistance=((1024 * pad / RawADC) - pad); // Saving the Log(resistance) under not to calculate it 4 times later Temp = log(Resistance); Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp)); Temp = Temp - 273.15; // Convert Kelvin to Celsius return Temp; // Give back temperature }
Fungsi untuk merubah input dari sensor suhu steelhead (thermistor) yang masih berupa data analog (variabel RawADC) dirubah menjadi data digital. Kemudian data dirubah menjadi Kelvin lalu dirubah kembali menjadi satuan Celcius.
void setup() { Serial.begin(9200); }
Prosedur untuk memulai program pada Arduino.
void loop() { float temp; float celsius; // read ADC and convert it to Celsius celsius = Thermistor(analogRead(ThermistorPIN)); Serial.print("Celsius: "); Serial.print(celsius,1); // display Celsius temp = celsius + 273.15; // converts to Kelvin Serial.print(", Kelvin: "); Serial.print(temp,1); // display Kelvin temp = (celsius * 9.0)/ 5.0 + 32.0; // converts to Fahrenheit Serial.print(", Fahrenheit: "); Serial.print(temp,1); // display Fahrenheit Serial.println(""); delay(3000); // Delay to bit... }
Prosedur untuk melakukan perulangan dalam program.
Berfungsi untuk menampilkan suhu yang diambil secara realtime.
Suhu yang ditampilkan dalam satuan Celcius, Kelvin dan Fahrenheit.
Delay digunakan untuk membuat program berhenti untuk sementara waktu, lalu mengecek suhu kembali secara berulang.
23
3.2.2. Percobaan 2 ( Menggunakan LCD)
a. Skematik Rangkaian
b. Langkah-Langkah Percobaan
a.1. Persiapan,peralatanyangdibutuhkan:
ArduinoUNO
Protoboard
LCD
Resistor
SensorSuhu(Thermistor)
Kabel
KabelUSB(menghubungkanArduinoUNOdenganPC)
PC/Laptop(sudahterinstalprogramarduino)
Air(untukmengukursuhudingin)
Korekapi(untukmengukursuhupanas)
a.2. MembuatRangkaian
Buatrangkaiansepertipadapercobaanpertama
BuatrangkaiankeduayangakandisambungkankeLCD.
Untukitu,ikutilangkah-langkahsepertiberikutini:
24
L
a
l
u
,
s
a
m
HubungkankabelUSBarduinodenganPC/laptop
a.3. BuatsketchpadaprogramArduinodengansourcecode:
#include <LiquidCrystal.h> #include <math.h> #define ThermistorPIN 0 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); float vcc = 4.91; float pad = 9850; float thermr = 10000; float Thermistor(int RawADC) { long Resistance; float Temp; Resistance=((1024 * pad / RawADC) - pad); Temp = log(Resistance); Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp)); Temp = Temp - 273.15; return Temp; } void setup() { Serial.begin(9200); lcd.begin(16,2); lcd.clear(); } void loop() { float temp;
LCD Pin Hubungkan ke :
1(VSS) GNDArduinopin*
2(VDD) +5vArduinopin
3(contrast) Resistor/potentiometerkeGNDArduinopin*
4RS Arduinopin12
5R/W Arduinopin11
6Enable Arduinopin10
7Noconnection
8Noconnection
9Noconnection
10Noconnection
11(Data4) Arduinopin5
12(Data5) Arduinopin4
13(Data6) Arduinopin3
14(Data7) Arduinopin2
15Backlight+ ResistorkeArduinopin13**
16BacklightGND GNDArduinopin*
25
float celsius; celsius = Thermistor(analogRead(ThermistorPIN)); Serial.print("Celsius: "); Serial.print(celsius,1); lcd.setCursor(0,0); lcd.print("Celsius: "); lcd.print(celsius,1); temp = celsius + 273.15; Serial.print(", Kelvin: "); Serial.print(temp,1); lcd.setCursor(0,1); lcd.print("Kelvin: "); lcd.print(temp,1); temp = (celsius * 9.0)/ 5.0 + 32.0; Serial.print(", Fahrenheit: "); Serial.print(temp,1); Serial.println(""); delay(1000); }
a.4. Save dan Upload source code tersebut. Lalu klik pojok
kanan atas pada Arduino untuk membuka Serial Monitor. Jika
berhasilmakaakantampilsepertigambarberikut:
a.5. Testing
Mengujisensorsuhujikadialiripanas(api)
Siapkankorekapi
Nyalakanapinyadiujungthermistor
Jikaberhasil makasuhuyangterdeteksiakanselalu
bertambah
26
Mengujusensorsuhujikadidalamair
Siapkanair
Masukkanujungthermistorkedalamair
Jikaberhasilmakasuhuyangterdeteksiakanselalu
berkurang(bertambahdingin)
a.6. AnalisaProgram,SuhuSteelHeadLCD.ino
Source Code Penjelasan
#include <LiquidCrystal.h> #include <math.h> #define ThermistorPIN 0
Menambahkan library LiquidCrystal.h agar komponen LCD dapat digunakan untuk menampilkan karakter.
Menambahkan library math.h agar dapat digunakan pada saat penghitungan.
Serta mendefinisikan pin dari sensor suhu steelhead dihubungkan pada input analog 0 (A0) pada Arduino.
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); float vcc = 4.91; // only used for display purposes, if used // set to the measured Vcc. float pad = 9850; // balance/pad resistor value, set this to // the measured resistance of your pad resistor float thermr = 10000; // thermistor nominal resistance
Menginstansiasi pin pada Arduino yang digunakan LCD untuk mengirim dan menerima data karakter.
Menginstansiasi variabel vcc sebesar 4.91 V, karena secara real arduino mengeluarkan besaran tersebut.
Menginstansiasi variabel pad atau balance (resistance) pada resistor 10 kOhm sebesar 9850.
Menginstansiasi variabel thermr (sensor suhu steelhead) sebesar 10 kOhm atau 10000.
float Thermistor(int RawADC) { long Resistance; float Temp; // Dual-Purpose variable to save space. Resistance=((1024 * pad / RawADC) - pad); // Saving the Log(resistance) under not to calculate it 4 times later Temp = log(Resistance); Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp)); Temp = Temp - 273.15; // Convert Kelvin to Celsius return Temp; // Give back temperature }
Fungsi untuk merubah input dari sensor suhu steelhead (thermistor) yang masih berupa data analog (variabel RawADC) dirubah menjadi data digital. Kemudian data dirubah menjadi Kelvin lalu dirubah kembali menjadi satuan Celcius.
void setup() { Serial.begin(9200); lcd.begin(16,2); // columns, rows. use 16,2 for a 16x2 LCD, etc. lcd.clear(); // start with a blank screen }
Prosedur untuk memulai program pada Arduino. Saat pertama dijalankan program akan memulai koneksi ke LCD dengan jumlah baris dan kolom yang ditentukan dan menghapus semua karakter yang tampil di LCD.
void loop() { float temp; float celsius;
Prosedur untuk melakukan perulangan dalam program.
27
// read ADC and convert it to Celsius celsius = Thermistor(analogRead(ThermistorPIN)); Serial.print("Celsius: "); Serial.print(celsius,1); // display Celsius lcd.setCursor(0,0); // set cursor to column 0, row 0 (the first row) lcd.print("Celsius: "); lcd.print(celsius,1); // display Celsius temp = celsius + 273.15; // converts to Kelvin Serial.print(", Kelvin: "); Serial.print(temp,1); // display Kelvin lcd.setCursor(0,1); // set cursor to column 0, row 0 (the first row) lcd.print("Kelvin: "); lcd.print(temp,1); // display Celsius temp = (celsius * 9.0)/ 5.0 + 32.0; // converts to Fahrenheit Serial.print(", Fahrenheit: "); Serial.print(temp,1); // display Fahrenheit Serial.println(""); delay(1000); // Delay to bit... }
Berfungsi untuk menampilkan suhu yang diambil secara realtime.
Suhu yang ditampilkan dalam satuan Celcius, Kelvin dan Fahrenheit.
LCD akan diatur dimana akan menampilkan karakter menggunakan fungsi lcd.setCursor.
Lalu LCD akan menampilkan data karakter yang dikirim (print) oleh Arduino.
Delay digunakan untuk membuat program berhenti untuk sementara waktu, lalu mengecek suhu kembali secara berulang.
3.5. Hasil Percobaan
Dariduapercobaanyangtelahdijelaskandandilakukansebelumnya,percobaan
pengukuran suhu menggunakan mikrokontroler Arduino dengan sensor suhu Steel
Head(termistor)mendapatkanhasilsebagaiberikut:
ArduinoUnodihubungkandenganSensorSuhuSteelHeaddanResistorsebesar
10 KOhm dan LCD. Dengan tingkat akurasi sensor sebesar 1% dari suhu
sebenarnya.Misalnyasuhusebenarnya100OKelvin,1%dari100OKelvinadalah
1OKelvin,makasensorsteelheaddapatmenampilkanhasildiantara98~102O
Kelvin.
Pada program, arduino melakukan konversi data analog (dari sensor suhu)
menjadi digital. Serta melakukan konversi suhu menjadi satuan Kelvin, Celcius
danFahrenheit.
Hasilpengukuransuhudiruanganinternal(suhukamar)diantara27~28OC.
Hasilpengukuransuhupadaairmendidihmencapai>90OC.
28
Hasil pengukuran suhu dengan sensor dibakar dengan korek, sensor efektif
mendeteksi suhu mencapai > 160O C namun kurang efektif jika melebihi suhu
tersebut.
Hasilpengukuransuhupadaairdingin,didapatkanhasilsuhu<20OC.
Data suhu tersebut dapat ditampilkan baik menggunakan serial monitor pada
komputermaupunpadaLCD.
29
BAB 4
PENUTUP
4.1. Kesimpulan
Dari keseluruhan rangkaian pembuatan, pemrograman sampai hasil yang
didapatdarialatpengukursuhuyangmemanfaatkanperangkatdanprogramArduino
UNOini,makadapatdiambilbeberapakesimpulan,yaitu:
Pengukur suhu dengan menggunakan sensor suhu (thermistor) Steel Head
SEN0016dapatdigunakanpadalingkunganyangsulitcontohnyapadasuhu
lingkungan yang sangat panas dan di dalam air dengan suhu yang sangat
dingin.
Perbandingan dari 2 buah percobaan dengan output yang berbeda tetapi
rangkaiandasarsama,hanyasajaadapenambahanbeberaparangkaianpada
LCD(terlihatpadapercobaan2).
Pemasangan rangkaian harus benar dan pengujian terhadap program yang
di-kompile sangat penting dilakukan agar dapat diperoleh cara kerja yang
benarsesuaiperintah.
Data suhu yang didapatkan dari alat pengukur suhu ini cukup akurat dan
memilikinilaitoleransisebesar1%darisuhusebenarnya.
4.2. Saran
Alatpengukursuhuinimasihterdapatbanyakkekurangandanperludilakukan
pengembangannyagunahasilyanglebihbaik.Berikuturaiannya:
Alat pengukur suhu ini hanya bisa dijalankan pada program Arduino UNO
(alatharusdisambungkandenganperangkatArduinodanPC/laptop).
Alat ini belum bisa digunakan oleh masyarakat luas karena masih berupa
prototype.
30
DAFTAR PUSTAKA
Bräunl,Thomas.Embedded Robotics - Mobile Robot Design and Applications with
Embedded Systems, Second Edition.Springer,Jerman, Juni2006.[3]
Byte Craft Limited. First Steps with Embedded Systems. Byte Craft Limited,
Kanada,November2012.[1]
Wilmshurst, Tim. Designing Embedded Systems with PIC Microcontrollers -
Principles and Applications.ElsevierLtd,Inggris,2007.[2]
Internet:
http://blogerpoter.blogspot.com/2011/04/jenis-jenis-kabel-listrik.html,diakses
pada15.45WIB,17November2012.
http://dewiar.staff.gunadarma.ac.id/Downloads/files/19849/SistemTertanam_S
unnyA.pdf,diaksespada06.15WIB,20November2012.
http://fahmizaleeits.wordpress.com/2010/04/10/aplikasi-lcd-dengan-
mikrokontroller-atmega8535,diaksespada16.02WIB,17November2012.
http://id.wikipedia.org/wiki/Termistor,diaksespada15.57WIB,17November
2012.
http://m-edukasi.net/online/2007/resistor/jenisresistor.htm, diakses pada
15.40WIB,17November2012.
http://www.famosastudio.com/character-lcd-16x2-white-on-blue, diakses pada
15.58WIB,17November2012.
http://www.famosastudio.com/temperature-sensor-with-steel-head, diakses
pada15.52WIB,17November2012.
http://www.sahabat-informasi.com/2012/07/mengenal-arduino-uno.html,
diaksespada15.20WIB,17November2012.