Laporan Tugas UTS Menggunakan Sensor Suhu Steel Head (Thermistor) dengan Arduino Uno
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
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, dan semua pihak yang tidak disebutkan satu persatu. Dalam penyusunan makalah ini penyusun merasa masih banyak kekurangankekurangan, baik pada teknik penulisan maupun materi. Untuk itu kritik dan saran dari semua pihak sangat kami harapkan demi penyempurnaan pembuatan makalah ini. Semoga makalah ini dapat bermanfaat bagi kita semua. Ciputat, 29 November 2012 Penyusun
1
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. A.
Komponen Tambahan .................................................................................... 16 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. a.
Percobaan 1 (Dengan Serial Monitor Tanpa LCD) ........................................... 18 Skematik Rangkaian ..................................................................................................... 18 2
b.
Langkah-Langkah Percobaan ........................................................................................ 19
3.2.2.
3.5.
Percobaan 2 ( Menggunakan LCD) ................................................................. 23
a.
Skematik Rangkaian ..................................................................................................... 23
b.
Langkah-Langkah Percobaan ........................................................................................ 23
HASIL PERCOBAAN ..................................................................................................... 27
BAB 4 PENUTUP ..........................................................................................................29 4.1.
KESIMPULAN............................................................................................................. 29
4.2.
SARAN .................................................................................................................... 29
DAFTAR PUSTAKA .......................................................................................................30
3
BAB 1 PENDAHULUAN
1.1.
Latar Belakang Selain menggunakan termometer konvensional untuk melakukan pengukuran
suhu, kita dapat menggunakan mikrokontroler. Mikrokontroler merupakan sebuah chip atau IC (integrated circuit) yang dapat diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas sebagai ‘otak’ yang mengendalikan input, proses dan output sebuah rangkaian elektronik. Mikrokontroler tidak sama dengan mikroprosesor, mikroprosesor adalah sebuah chip CPU yang digunakan oleh sistem komputer, sedangkan mikrokontroler adalah merupakan sebuah chip sistem komputer itu sendiri. [1] Untuk membuat alat pengukur suhu ini kita membutuhkan perangkat diantaranya adalah arduino dan sensor suhu. Arduino adalah kit elektronik atau papan rangkaian elektronik open-source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Sedangkan sensor suhu kita dapat menggunakan sensor suhu steel head (thermistor) yang dibuat dari bahan semikonduktor. Cara kerja dari sensor suhu (thermistor) ini yaitu ketika suhu meningkat maka nilai resistansi dari thermistor akan terus menurun karena thermistor terbuat dari bahan semikonduktor yang mempunyai sifat menghantarkan elektron ketika suhu naik. 1.2.
Tujuan Adapun tujuan pembuatan alat pengukur suhu adalah sebagai berikut:
Membuat tampilan (display) suhu lingkungan seiring perubahan tiap detiknya yang ditampilkan pada LCD dan pada output program arduino UNO.
Membuat prototype sederhana dari sebuah termometer
4
1.3.
Rumusan Masalah
Komponen apa saja yang dibutuhkan dalam pembuatan pengukur suhu sederhana?
1.4.
Bagaimana langkah-langkah pembuatannya?
Bagaimana outputnya?
Batasan Masalah
Alat ini memanfaatkan program dan teknologi dari perangkat Arduino UNO
Membandingkan dua buah percobaan dengan output dari program Arduino UNO dan media LCD.
5
BAB 2 LANDASAN TEORI
2.1
Embedded System 2.1.1. Pengertian Merupakan sebuah sistem yang memiliki fungsi utama bukan hanya untuk komputasi, melainkan juga dikontrol oleh komputer. [2] Embedded within 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. Contoh sistem atau aplikasinya antara lain adalah instrumentasi medik (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). Berikut ini contoh penggunaan embedded system :
2.1.2. Karakteristik
Menjadi bagian dari system yang lebih besar : Periferal terbatas.
Application-specific : Baik hardware maupun software dirancang khusus untuk aplikasi yang spesifik. Tetapi, re-programmability merupakan suatu kebutuhan. ‘HALT’ merupakan suatu badstate.
Interaksi dengan dunia fisik
6
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 Arduino UNO merupakan sebuah board mikrokontroler yang didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memiliki kemudahan dalam menghubungkannya ke sebuah komputer dengan sebuah kabel USB atau menyuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai. Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fiturfitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut:
Pinout 1.0 : ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR 7
yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya.
Sirkuit RESET yang lebih kuat
Atmega 16U2 menggantikan 8U2
“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan Arduino, untuk suatu perbandingan dengan versi sebelumnya. Ringkasan
Mikrokontroler
ATmega328
Tegangan pengoperasian
5V
Tegangan input yang disarankan
7-12V
Batas tegangan input
6-20V
Jumlah pin I/O digital
14 (6 di antaranya menyediakan keluaran PWM)
Jumlah pin input analog
6
Arus DC tiap pin I/O
40 mA
Arus DC untuk pin 3.3V
50 mA
Memori Flash
32 KB (ATmega328), sekitar 0.5 KB digunakan oleh bootloader
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328) 8
Clock Speed
16 MHz
B. Resistor Resistor adalah komponen elektronika berjenis pasif yang mempunyai sifat menghambat arus listrik Satuan nilai dari resistor adalah ohm, biasa disimbolkan Ω. 1. Fungsi dari Resistor adalah :
Sebagai pembagi arus
Sebagai penurun tegangan
Sebagai pembagi tegangan
Sebagai penghambat aliran arus listrik,dan lain-lain.
2. Jenis-Jenis Resistor Resistor berdasarkan nilainya dapat dibagi dalam 3 jenis yaitu : Fixed Resistor (Resistor Tetap) Yaitu resistor yang nilai hambatannya tetap. Simbol dari fixed resistor adalah sebagai berikut :
Resistor Tetap
Standar
AS dan Jepang Eropa
Secara fisik bentuk resistor tetap adalah sebagai berikut :
Beberapa hal yang perlu diperhatikan :
Makin besar bentuk fisik resistor, makin besar pula daya resistor tersebut.
Semakin besar nilai daya resistor makin tinggi suhu yang bisa diterima resistor tersebut. 9
Resistor bahan gulungan kawat pasti lebih besar bentuk dan nilai daya-nya dibandingkan resistor dari bahan carbon.
Resistor Variable Yaitu resistor yang nilai hambatannya dapat diubah-ubah. Simbol dari variable resistor adalah sebagai berikut :
Resistor Variabel
Standar
AS dan Jepang Eropa
Bentuk resistor variabel misalnya:
Trimpot Yaitu variabel resistor yang nilai hambatannya dapat diubah
dengan mengunakan obeng. Contoh bentuk fisik dari variable resistor jenis Trimpot :
Potensio Yaitu variabel resistor yang nilai hambatannya dapat diubah
langsung mengunakan tangan (tanpa alat bantu) dengan cara memutar poros engkol atau mengeser kenop untuk potensio geser. Contoh bentuk fisik dari variable resistor jenis Potensio :
Resistor Non Linear Yaitu resistor yang nilai hambatannya tidak linier karena pengaruh faktor lingkungan misalnya suhu dan cahaya. Simbol dari resistor non linier adalah sebagai berikut :
10
Resistor Non Linier
Jenis
LDR
NTC
PTC
Bentuk resistor non linier misalnya:
PTC (Positive Temperatur Coefisien)
Adalah jenis resistor non linier yang nilai hambatannya terpengaruh oleh perubahan suhu. Makin tinggi suhu yang mempengaruhi makin besar nilai hambatannya.
NTC (Negative Temperatur Coefisien)
Adalah jenis resistor non linier yang nilai hambatannya terpengaruh oleh perubahan suhu. Makin tinggi suhu yang mempengaruhi makin kecil nilai hambatannya.
LDR (Light Dependent Resistor)
Adalah jenis resistor non linier yang nilai hambatannya terpengaruh oleh perubahan intensitas cahaya yang mengenainya. Makin besar intensitas cahaya yang mengenainya makin kecil nilai hambatannya. C. Kabel Listrik Kabel berfungsi sebagai penghantar arus listrik. Kabel juga memiliki beberapa jenis dan ukuran kapasitas. Berikut ini beberapa jenis-jenis kabel, yaitu : 11
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 tahan air (NYA adalah tipe kabel udara) dan mudah digigit tikus. agar aman jika menggunakan kabel tipe ini lebih baik kabel di pasang di dalam pipah atau saluran penutup, karena selain tidak bisa di ganggu 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 instalasi tetap di dalam bangunan yang dimana penempatannya biasa diluar/ didalam tembok ataupun didalam pipa (conduit). Kabel NYM berinti lebih dari 1, memiliki lapisan isolasi PVC (biasanya warna putih atau abu-abu), ada yang berinti 2, 3 atau 4. Kabel NYM memiliki lapisan isolasi dua lapis, sehingga tingkat keamanannya lebih baik dari kabel NYA (harganya lebih mahal dari NYA). Kabel ini dapat dipergunakan dilingkungan yang kering dan basah, namun tidak boleh 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. Instalasi bisa ditempatkan didalam dan diluar ruangan, dalam kondisi 12
lembab ataupun kering. memiliki lapisan isolasi PVC (biasanya warna hitam), ada yang berinti 2, 3 atau 4. Dan memiliki lapisan isolasi yang lebih kuat dari kabel NYM (harganya lebih mahal dari NYM). Kabel NYY memiliki isolasi yang terbuat dari bahan yang tidak disukai tikus.
D. Protoboard
Merupakan komponen prototyping yang sangat cocok digunakan untuk eksprerimen cepat tanpa perlu menyolder dan membuat PCB. 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 sensor didalamnya. Pada saat ini, sensor tersebut telah dibuat dengan ukuran sangat kecil. Ukuran yang sangat kecil ini sangat memudahkan pemakaian dan menghemat energi. Sensor berfungsi untuk melakukan sensing atau 13
“merasakan dan menangkap” adanya perubahan energi eksternal yang akan masuk ke bagian input, sehingga perubahan kapasitas energy yang ditangkap segera dikirim kepada bagian konvertor untuk dirubah menjadi energi listrik. Sensor berdasarkan output yang dihasilkan dan contoh aplikasinya : [3]
Sensor suhu adalah alat yang digunakan untuk merubah besaran panas menjadi besaran listrik. Ada beberapa metode yang digunakan untuk membuat sensor ini, salah satunya dengan cara menggunakan material yang 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 elektronika yang dipakai untuk mengukur suhu. Prinsip dasar dari termistor adalah perubahan nilai tahanan (atau hambatan atau werstan atau resistance) jika suhu atau temperatur yang mengenai termistor ini berubah. Termistor ini merupakan gabungan antara kata termo (suhu) dan resistor (alat pengukur tahanan). Termistor ditemukan oleh Samuel Ruben pada tahun 1930, dan mendapat hak paten di Amerika Serikat dengan nomor #2.021.491. Ada dua macam termistor secara umum: Posistor atau PTC (Positive Temperature Coefficient), dan NTC (Negative Temperature Coefficient). Nilai tahanan pada PTC akan naik jika perubahan suhunya naik, sementara sifat NTC justru kebalikannya. Temperature Sensor with Steel Head SEN0016
14
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 sebagai berikut :
NTC thermistor 10K
2 line output: length 30cm
Accuracy: 1%
Tabel Temperatur (derajat Celcius) dan Tahanan (Kilo Ohm) :
15
Dalam pemrograman dengan arduino kita dapat menggunakan rumus sebagai berikut : 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 LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah :
Terdiri dari 16 karakter dan 2 baris.
Mempunyai 192 karakter tersimpan.
Terdapat karakter generator terprogram.
Dapat dialamati dengan mode 4-bit dan 8-bit.
Dilengkapi dengan back light.
Pin Deskripsi 1
Ground
2
Vcc 16
3
Pengatur kontras
4
“RS” Instruction/Register Select
5
“R/W” Read/Write LCD Registers
6
“EN” Enable
7-14 Data I/O Pins 15
Vcc
16
Ground
17
BAB 3 PEMBAHASAN
3.1.
Komponen dan Peralatan Tambahan 3.1.1. Komponen Utama a. Arduino UNO b. Protoboard c. Thermistor ( Sensor Suhu) d. Resistor e. Kabel f. Kabel USB ( menghubungkan Arduino UNO dengan PC) 3.1.2. Komponen Tambahan a. LCD Adapun peralatan tambahan untuk menguji pengukur suhu, yaitu :
Korek api (sebagai alat untuk menguji sensor suhu dalam keadaan panas)
3.2.
Air (sebagai alat untuk menguji sensor suhu dalam keadaan dingin)
Studi Kasus 3.2.1. Percobaan 1 (Dengan Serial Monitor Tanpa LCD) a.
Skematik Rangkaian
Untuk lebih jelasnya, silakan lihat video tutorial yang telah dibuat. 18
b.
Langkah-Langkah Percobaan a.1.
a.2.
Persiapan, peralatan yang dibutuhkan :
Arduino UNO
Protoboard
Resistor
Sensor Suhu (Thermistor)
Kabel
Kabel USB ( menghubungkan Arduino UNO dengan PC)
PC / Laptop (sudah terinstal program arduino)
Air (untuk mengukur suhu dingin)
Korek api ( untuk mengukur suhu panas)
Membuat Rangkaian
Pasang Thermistor pada protoboard
Pasang resistor pada pin di protoboard yang sejajar dengan thermistor
Pasang kabel yang menghubungkan thermistor dengan VCC 5v pada arduino UNO
Pasang kabel yang menghubungkan resistor dengan ground pada arduino UNO
Pasangkan kabel yang menghubungkan seluruh rangkaian dengan analog pin 0 pada arduino UNO
a.3.
Sambungkan kabel USB arduino dengan PC / laptop
Buat sketch pada program Arduino dengan source code :
#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; }
19
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; Serial.print(", Fahrenheit: "); Serial.print(temp,1); Serial.println(""); delay(3000);
// converts to
Fahrenheit
}
a.4.
Save dan Upload source code tersebut. Lalu klik pojok
kanan atas pada Arduino untuk membuka Serial Monitor. Jika berhasil maka akan tampil seperti gambar berikut :
a.5.
Testing Menguji sensor suhu jika dialiri panas (api)
Siapkan korek api
Nyalakan apinya di ujung thermistor
Jika berhasil maka suhu yang terdeteksi akan selalu bertambah
Menguju sensor suhu jika didalam air 20
Siapkan air
Masukkan ujung thermistor ke dalam air
Jika berhasil maka suhu yang terdeteksi akan selalu berkurang (bertambah dingin)
a.6.
Analisa Program, SuhuStealHead.ino
Source Code /* * 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 */
#include <math.h> #define ThermistorPIN 0
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
21
Penjelasan
Berisi informasi mengenai konfigurasi atau schematic dari rangkaian yang digunakan pada percobaan, rumus merubah satuan temperature dan komponen apa saja yang digunakan.
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. 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.
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 } void setup() { Serial.begin(9200); } 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... }
22
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.
Prosedur untuk memulai program pada Arduino.
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.
3.2.2. Percobaan 2 ( Menggunakan LCD) a.
Skematik Rangkaian
b.
Langkah-Langkah Percobaan a.1.
a.2.
Persiapan, peralatan yang dibutuhkan :
Arduino UNO
Protoboard
LCD
Resistor
Sensor Suhu (Thermistor)
Kabel
Kabel USB ( menghubungkan Arduino UNO dengan PC)
PC / Laptop (sudah terinstal program arduino)
Air (untuk mengukur suhu dingin)
Korek api ( untuk mengukur suhu panas)
Membuat Rangkaian
Buat rangkaian seperti pada percobaan pertama
Buat rangkaian kedua yang akan disambungkan ke LCD. Untuk itu, ikuti langkah-langkah seperti berikut ini :
23
LCD Pin
Hubungkan ke :
1 (VSS)
GND Arduino pin*
2 (VDD)
+ 5v Arduino pin
3 (contrast)
Resistor / potentiometer ke GND Arduino pin*
4 RS
Arduino pin 12
5 R/W
Arduino pin 11
6 Enable
Arduino pin 10
7 No connection 8 No connection L 9 No connection a 10 No connection l 11 (Data 4) u 12 (Data 5) , 13 (Data 6) 14 (Data 7)
Arduino pin 5 Arduino pin 4 Arduino pin 3 Arduino pin 2
s 15 Backlight + Resistor ke Arduino pin 13** a 16 Backlight GND GND Arduino pin* m Hubungkan kabel USB arduino dengan PC / laptop a.3.
Buat sketch pada program Arduino dengan source code :
#include
#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;
24
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 berhasil maka akan tampil seperti gambar berikut :
a.5.
Testing Menguji sensor suhu jika dialiri panas (api)
Siapkan korek api
Nyalakan apinya di ujung thermistor
Jika berhasil maka suhu yang terdeteksi akan selalu bertambah 25
Menguju sensor suhu jika didalam air
Siapkan air
Masukkan ujung thermistor ke dalam air
Jika berhasil maka suhu yang terdeteksi akan selalu berkurang (bertambah dingin)
a.6.
Analisa Program, SuhuSteelHeadLCD.ino
Source Code
#include #include <math.h> #define ThermistorPIN 0
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
Penjelasan 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. 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 } 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 } void loop() { float temp; float celsius;
//
//
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.
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. Prosedur untuk melakukan perulangan dalam program.
26
// read ADC and convert it to Celsius celsius = Thermistor(analogRead(ThermistorPI N)); 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
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.
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... }
3.5.
Hasil Percobaan
Dari dua percobaan yang telah dijelaskan dan dilakukan sebelumnya, percobaan
pengukuran suhu menggunakan mikrokontroler Arduino dengan sensor suhu Steel Head (termistor) mendapatkan hasil sebagai berikut :
Arduino Uno dihubungkan dengan Sensor Suhu Steel Head dan Resistor sebesar 10 KOhm dan LCD. Dengan tingkat akurasi sensor sebesar 1% dari suhu sebenarnya. Misalnya suhu sebenarnya 100O Kelvin, 1% dari 100O Kelvin adalah 1O Kelvin, maka sensor steel head dapat menampilkan hasil diantara 98 ~ 102 O Kelvin.
Pada program, arduino melakukan konversi data analog (dari sensor suhu) menjadi digital. Serta melakukan konversi suhu menjadi satuan Kelvin, Celcius dan Fahrenheit.
Hasil pengukuran suhu di ruangan internal (suhu kamar) diantara 27 ~ 28 O C.
Hasil pengukuran suhu pada air mendidih mencapai > 90O C.
27
Hasil pengukuran suhu dengan sensor dibakar dengan korek, sensor efektif mendeteksi suhu mencapai > 160O C namun kurang efektif jika melebihi suhu tersebut.
Hasil pengukuran suhu pada air dingin, didapatkan hasil suhu < 20O C.
Data suhu tersebut dapat ditampilkan baik menggunakan serial monitor pada komputer maupun pada LCD.
28
BAB 4 PENUTUP
4.1.
Kesimpulan Dari keseluruhan rangkaian pembuatan, pemrograman sampai hasil yang
didapat dari alat pengukur suhu yang memanfaatkan perangkat dan program Arduino UNO ini, maka dapat diambil beberapa kesimpulan, yaitu :
Pengukur suhu dengan menggunakan sensor suhu (thermistor) Steel Head SEN0016 dapat digunakan pada lingkungan yang sulit contohnya pada suhu lingkungan yang sangat panas dan di dalam air dengan suhu yang sangat dingin.
Perbandingan dari 2 buah percobaan dengan output yang berbeda tetapi rangkaian dasar sama, hanya saja ada penambahan beberapa rangkaian pada LCD (terlihat pada percobaan 2).
Pemasangan rangkaian harus benar dan pengujian terhadap program yang di-kompile sangat penting dilakukan agar dapat diperoleh cara kerja yang benar sesuai perintah.
Data suhu yang didapatkan dari alat pengukur suhu ini cukup akurat dan memiliki nilai toleransi sebesar 1% dari suhu sebenarnya.
4.2.
Saran Alat pengukur suhu ini masih terdapat banyak kekurangan dan perlu dilakukan
pengembangannya guna hasil yang lebih baik. Berikut uraiannya :
Alat pengukur suhu ini hanya bisa dijalankan pada program Arduino UNO (alat harus disambungkan dengan perangkat Arduino dan PC/laptop).
Alat ini belum bisa digunakan oleh masyarakat luas karena masih berupa prototype.
29
DAFTAR PUSTAKA
Bräunl, Thomas. Embedded Robotics - Mobile Robot Design and Applications with Embedded Systems, Second Edition. Springer, Jerman, Juni 2006. [3] Byte Craft Limited. First Steps with Embedded Systems. Byte Craft Limited, Kanada, November 2012. [1] Wilmshurst, Tim. Designing Embedded Systems with PIC Microcontrollers Principles and Applications. Elsevier Ltd, Inggris, 2007. [2] Internet : http://blogerpoter.blogspot.com/2011/04/jenis-jenis-kabel-listrik.html, diakses pada 15.45 WIB, 17 November 2012. http://dewiar.staff.gunadarma.ac.id/Downloads/files/19849/SistemTertanam_S unnyA.pdf, diakses pada 06.15 WIB, 20 November 2012. http://fahmizaleeits.wordpress.com/2010/04/10/aplikasi-lcd-denganmikrokontroller-atmega8535, diakses pada 16.02 WIB, 17 November 2012. http://id.wikipedia.org/wiki/Termistor, diakses pada 15.57 WIB, 17 November 2012. http://m-edukasi.net/online/2007/resistor/jenisresistor.htm,
diakses
pada
15.40 WIB, 17 November 2012. http://www.famosastudio.com/character-lcd-16x2-white-on-blue, diakses pada 15.58 WIB, 17 November 2012. http://www.famosastudio.com/temperature-sensor-with-steel-head,
diakses
pada 15.52 WIB, 17 November 2012. http://www.sahabat-informasi.com/2012/07/mengenal-arduino-uno.html, diakses pada 15.20 WIB, 17 November 2012.
30