Aplikasi sensor thermal array TPA81 pada robot pemadam api - USD Repository
TUGAS AKHIR
APLIKASI SENSOR THERMAL ARRAY TPA81 PADA
ROBOT PEMADAM API
Diajukan Untuk Memenuhi Syarat
Memperoleh Gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh:
ALDINOVA SAMUEL
NIM : 065114032
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
FINAL PROJECT
THERMAL ARRAY TPA81 SENSOR APPLICATION
ON THE FIRE FIGHTING ROBOT
Presented as a Partial Fulfillment of the Requirements for S1 Degree in Electrical
Engineering Department, Faculty of Science and Technology, Sanata Dharma University
by:
ALDINOVA SAMUEL
Student Number : 065114032
ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
“Kalau telah berusaha keras tetapi menemui kegagalan terus menerus, maka
jangan pernah berhenti mencoba. Karena kegagalan yang sebenarnya adalah
apabila berhenti untuk mencoba”
“Apabila di dalam diri seseorang masih ada rasa malu dan takut untuk berbuat
suatu kebaikan, maka jaminan bagi orang tersebut adalah tidak akan
bertemunya ia dengan kemajuan selangkah pun. ~ Bung Karno”
“Banyak kegagalan dalam hidup ini dikarenakan orang-orang tidak menyadari
betapa dekatnya mereka dengan keberhasilan saat mereka menyerah. ~
Thomas Alva Edison”
Tugas Akhir ini kupersembahkan untuk….
Bapa di Surga yang selalu membimbingku
INTISARI
Kontes Robot Cerdas Indonesia (KRCI) adalah suatu kontes robot tingkat nasionalyang diikuti oleh hampir seluruh perguruan tinggi di Indonesia. Pada KRCI 2011
dipertandingkan dua divisi yaitu divisi beroda dan divisi battle. Divisi beroda
mempertandingkan robot yang bertugas untuk memadamkan lilin dalam sebuah model
denah rumah. Robot bertugas untuk mencari lilin yang sudah ditempatkan pada salah satu
ruangan dalam model tersebut.Pada penelitian ini, penulis membahas tentang sensor Thermal Array TPA81
sebagai salah satu sensor yang umum digunakan dalam Kontes Robot Cerdas Indonesia
sebagai sensor pendeteksi api. Dengan pengujian pemindaian titik api dalam sebuah
ruangan melalui variasi dari jarak, sudut dan pemberian halangan akan menghasilkan
karakteristik dari sensor TPA81. Pengambilan dan pengolahan data menggunakan
mikrokontroller ATmega32,dan data ditampilkan menggunakan LCD 16×32. Setelah
diketahui keberadaan dari api lilin maka pemadaman api dilakukan dengan menggunakan
penyemprot air yang dibantu dengan Motor Servo agar area penyemprotan lebih luas.Sensor Thermal Array TPA81 telah diimplementasikan pada robot pemadam api
dan telah diuji. Sensor thermal array berhasil memindai api dalam ruangan dari jarak 3cm
sampai dengan 210cm dan sudut 6° sampai dengan 10°. Namun robot belum bisa
memadamkan api dengan baik.Kata Kunci : Thermal Array, Motor Servo, ATmega32
ABSTRACT
Indonesian smart robot contest is a robot contest in a national level which beenfollow by almost all of university in Indonesia. On KRCI 2011 being competed two
division, that is wheeled division and battle division. On wheeled division, two robot
compete to extinguish fire in a model house. The robot will be in charge to find out a
candle placed in a model house.In this research, writer discuss about Thermal Array TPA81 sensor as a one of a
sensor usually use in a robotic contest as a fire detector sensor. In a fire scanning test in a
room through a variation from a distance, angle and an obstacle will produce a
characteristics from the TPA81 sensor. Taking and processing the data using a Atmega 32
controller and the data shown using 16x32 LCD screen. After known the presence of the
fire from the candle, then the fire extinction do using a water sprayers helped by a servo
motor for a wider spraying area.The thermal array sensor has been implemented on the fire fighting robot and
tested. The thermal array sensor was able to scan fire in a room from distance 3cm to
210cm and from 6° until 10°. But the robot was not able to extinguish the fire.Keyword : Thermal array, Motor Servo, ATMega 32
KATA PENGANTAR
Ucapan syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala penyertaan
dan bimbingannya sehingga tugas akhir dengan judul “APLIKASI SENSOR THERMAL
ARRAY TPA81 PADA ROBOT PEMADAM API” ini dapat diselesaikan dengan baik.Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak pihak
yang telah memberikan bantuan dengan cara masing-masing, sehingga tugas akhir ini bisa
diselesaikan. Oleh karena itu penulis ingin mengucapkan terimakasih kepada : 1. Orangtua dan adik-adik ku tercinta atas doa dan kesabarannya.2. Bapak Martanto,S.T.,M.T., selaku pembimbing yang penuh kesabaran memberikan saran dan kritik yang membantu penulis menyelesaikan tulisan ini.
3. Ibu Prima Ari Setiyani selaku pembimbing akademik Teknik Elektro yang telah banyak memberikan saran dalam pembuatan tulisan ini.
4. Ibu Wuri Harini sebagai ketua jurusan Teknik Elektro yang telah banyak memberikan saran dalam pembuatan tulisan ini.
5. Bapak Tjendro selaku dosen Teknik Elektro yang telah banyak memberikan saran dalam pembuatan tulisan ini.
6. Teman-temanku sekalian, Christian Andi sebagai kakak pertama dan Yohanes Osie Handoyo sebagai kakak kedua yang banyak memberikan dorongan dan semangat juga memberikan pinjaman jas untuk ujian.
7. Seluruh dosen dan laboran teknik elektro yang memberikan ilmu dan pengetahuan selama kuliah, dan pihak-pihak lain yang tidak dapat disebutkan satu persatu yang telah membantu penulis. Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna,
oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat diharapkan.
Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima Kasih Yogyakarta, 18 Oktober 2011
DAFTAR ISI
HalamanHALAMAN JUDUL .................................................................................. i
HALAMAN PERSETUJUAN ................................................................... ii
HALAMAN PENGESAHAN .................................................................... iii
PERNYATAAN KEASLIAN KARYA ..................................................... iv
HALAMAN PERSEMBAHAN DAN MOTO HIDUP .............................. v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAHUNTUK KEPENTINGAN AKADEMIS ................................................... vi
INTISARI ............................................................................................. vii
ABSTRACT ............................................................................................. viii
KATA PENGANTAR ............................................................................... ix
DAFTAR ISI ............................................................................................. xi
DAFTAR GAMBAR .................................................................................. xiv
DAFTAR TABEL ...................................................................................... xvi
BAB I. PENDAHULUAN .............................................................1 1.1. Latar Belakang ...............................................................................
1 1.2. Tujuan dan Manfaat .......................................................................
2 1.3. Batasan Masalah .............................................................................
2 1.4. Metodologi Penelitian ....................................................................
2 1.5. Sistematika Penulisan ....................................................................
3 BAB II. DASAR TEORI ................................................................
4 2.1. Sensor Api Thermal Array TPA81 ..................................................
4
2.1.1 Karakteristik Thermal Array TPA81 [1] ............................
4
2.1.2 Field of View (FOV) ...........................................................
4
2.1.3 Jalur Komunikasi [1] ...........................................................
5
2.1.4 Register [1] ..........................................................................
5 2.2. Sistem Jalur Komunikasi I2C .........................................................
6
2.3. Mikrokontroller ATmega32 ............................................................
23 BAB III. RANCANGAN PENELITIAN .........................................
32
3.3.2. Flowchart Pengecekan Ruangan .........................................
32
3.2.1. Flowchart Robot FireFighter ..............................................
31 3.3. Perancangan Software ....................................................................
30
3.2.7. Aktuator ........................................................................
29
3.2.6. Driver Motor DC ................................................................
28
3.2.5. Regulator Tegangan ............................................................
28
3.2.4. Driver Motor Penyemprot Air DC ......................................
27
3.2.3. Jalur I2C ........................................................................
26
3.2.2. Sistem Minimum ................................................................
26
3.2.1. Spesifikasi Robot ...............................................................
25 3.2. Perancangan Hardware ...................................................................
25 3.1. Diagram Blok ..................................................................................
23 2.12. Furniture .........................................................................
11
2.3.1 Fitur ATmega32 ..................................................................
22 2.11. Dudukan lilin .........................................................................
21 2.10. Alas Lilin .........................................................................
20 2.9. Lilin .........................................................................
19 2.8. Denah Ruangan .........................................................................
18 2.7. Motor Servo Tower Pro SG-5010 [9]..............................................
17 2.6. Rangkaian LCD .........................................................................
16 2.5. Driver Motor DC .........................................................................
15
2.4.2 Driver Pompa Air DC .........................................................
15
2.4.1 Jalur I2C [15] ......................................................................
14 2.4. Regulator Tegangan dan Driver Motor Pompa ...............................
13
2.3.4 Jalur I2C [15] ......................................................................
12
2.3.3 Memori AVR ......................................................................
11
2.3.2 Arsitektur AVR [1] .............................................................
33
BAB IV. HASIL DAN PEMBAHASAN .........................................
37 4.1. Hasil Pengujian Plant ......................................................................
37 4.2. Hasil Pengujian Plant Terhadap Gangguan ....................................
43 4.3. Tampilan Pada LCD .......................................................................
45 4.4. Pengujian Pemadaman Api ............................................................
45
4.3.1. Kecepatan Pemindaian Sensor ............................................
46
4.3.2. Pengecekan Ruangan ..........................................................
46
4.3.3. Pemadaman Api ..................................................................
46 4.5. Pengujian Driver Motor DC ...........................................................
48 BAB V. KESIMPULAN DAN SARAN ........................................
49 DAFTAR PUSTAKA ...............................................................................
50 LAMPIRAN .......................................................................................
51
DAFTAR GAMBAR
Halaman Gambar 2.1 Sudut pandang TPA81 [1] ................................................19 Gambar 2.16 Denah Ruangan ................................................................
28 Gambar 3.6 Regulator dengan Eksternal pass transistor .....................
28 Gambar 3.5 Skematik driver motor penyemprot .................................
27 Gambar 3.4 Pengkabelan jalur I2C ......................................................
26 Gambar 3.3 Skematik minimum sistem ATmega32 ............................
25 Gambar 3.2 Gambar sketsa robot .........................................................
24 Gambar 3.1 Diagram blok ....................................................................
23 Gambar 2.21 Furniture ...........................................................................
22 Gambar 2.20 Bentuk dan Dudukan Lilin ...............................................
22 Gambar 2.19 Bentuk dan Ukuran Ketiga Alas Lilin ..............................
21 Gambar 2.18 Bentuk dan Ukuran Alas Lilin .........................................
20 Gambar 2.17 Bentuk dan Ukuran Lilin ..................................................
19 Gambar 2.15 Konfigurasi kabel motor servo [9] ...................................
4 Gambar 2.2 Konfigurasi pin TPA81 [1] ..............................................
17 Gambar 2.14 Rangkaian LCD ................................................................
16 Gambar 2.13 Rangkaian Driver Motor DC ...........................................
15 Gambar 2.12 Rangkaian Driver Pompa Air DC [8] ..............................
13 Gambar 2.11 Regulator dengan eksternal pass transistor [6] .................
12 Gambar 2.10 Peta memori ATmega32 [4] .............................................
11 Gambar 2.9 Blok diagram mikrokontroller AVR [4] ..........................
10 Gambar 2.8 ATmega32 [4] ..................................................................
9 Gambar 2.7 Sinyal alamat dan data [3] .................................................
9 Gambar 2.6 Data transfer pada jalur I2C [3] .......................................
8 Gambar 2.5 Transfer bit pada jalur I2C [3] .........................................
7 Gambar 2.4 Gambar untuk sinyal start dan stop [3] ............................
5 Gambar 2.3 Implementasi jalur I2C [3] ...............................................
29
Gambar 3.8 Rancangan Penggerak robot ............................................31 Gambar 3.9 Flowchart Robot Fire Fighter .........................................
32 Gambar 3.10 Flowchart Pengecekan Ruangan ......................................
34 Gambar 3.11 Flowchart Sub Sistem TPA81[1] .....................................
36 Gambar 4.1 Bentuk Robot yang Digunakan ........................................
37 Gambar 4.2 Grafik Pengujian dengan sudut titik api 0˚ terhadap robot
38 Gambar 4.3 Grafik Pengujian dengan sudut titik api 10˚ terhadap robot
39 Gambar 4.4 Grafik Pengujian dengan sudut titik api 20˚ terhadap robot
40 Gambar 4.5 Grafik Pengujian dengan sudut titik api -10˚ terhadap robot
40 Gambar 4.6 Grafik Pengujian dengan sudut titik api -20˚ terhadap robot
41 Gambar 4.7 Skema Pengujian Pemindaian Titik Api dengan Halangan
43 Gambar 4.8 Grafik Pengujian dengan halangan ...................................
44 Gambar 4.9 Hasil tampilan LCD ..........................................................
45 Gambar 4.10 Pola Penyemprot Air .........................................................
47
DAFTAR TABEL
Halaman Tabel 2.1 Register pada TPA81 [1] ...................................................5 Tabel 2.2 Deskripsi pin LCD ............................................................
18 Tabel 4.1 Pengujian dengan sudut titik api 0˚ terhadap robot ..........
38 Tabel 4.2 Pengujian dengan sudut titik api 10˚ terhadap robot ........
39 Tabel 4.3 Pengujian dengan sudut titik api 20˚ terhadap robot ........
39 Tabel 4.4 Pengujian dengan sudut titik api -10˚ terhadap robot ......
40 Tabel 4.5 Pengujian dengan sudut titik api -20˚ terhadap robot ......
41 Tabel 4.6 Sudut dan Pixel yang mendeteksi ....................................
42 Tabel 4.7 Pengujian dengan halangan ..............................................
44 Tabel 4.8 Pengujian terhadap driver motor DC ...............................
48
BAB I PENDAHULUAN
1.1 Latar Belakang
Kontes Robot Cerdas Indonesia (KRCI) adalah suatu kontes robot tingkat nasional
yang diikuti oleh hampir seluruh perguruan tinggi di Indonesia.Pada KRCI 2010
dipertandingkan dua divisi yaitu divisi beroda dan divisi battle.Divisi beroda
mempertandingkan robot yang bertugas untuk memadamkan lilin dalam sebuah model denah
rumah.Robot bertugas untuk mencari lilin yang sudah ditempatkan pada salah satu ruangan
dalam model tersebut.Sebagai pendeteksi keberadaan api, robot dilengkapi dengan sensor api. Pada robot
dapat digunakan satu atau lebih sensor api untuk mendapatkan pembacaan yang akurat. Sensor
yang umum dipakai adalah UVTron dan Thermal Array TPA81. Masing-masing sensor
memiliki karakteristik pembacaan api yang berbeda satu dengan yang lainnya.Pada penelitian ini penulis memilih sensor TPA81karena bila dibandingkan dengan
UVTron, sensor ini memiliki beberapa kelebihan, sebagai contoh adalah dari dimensi sensor
TPA81yang lebih kecil yang memberikan keuntungan dalam penempatannya pada robot.Salah satu kelebihanlain sensor jenis Thermal Array TPA81dengan sensor api jenis
lain, sebagai contoh UVTron adalah sensor Thermal Array TPA81dapat mendeteksi suhu pada
8 titik sekaligus.Hal ini dikarenakan didalam TPA81terdapat 8 buah sensor Thermopile yang
masing-masing memiliki sudut pandang (Field of View) tertentu[1].Kelebihan lain dari sensor
ini adalah sensor ini menggunakan jalur komunikasi data teknologi I2C (Inter Intergrated
Circuit) yang hanya menggunakan dua buah kabel saja yaitu SDA untuk jalur data dan
SCKuntuk jalur clock.Penggunaan jalur komunikasi I2C sangat menguntungkan apabila
sensor akandihubungkan ke microcontroller, TPA81dapat dipasang sebanyak 8 buah secara
paralel tanpa menambah jalur komunikasi.Selain dapat mengeluarkan data suhu,TPA81juga
dapat mengendalikan motor servo.Dalam proses pemadaman api, penyemprot menggunakan motor DC sebagai
penyemprot air. Pergerakan penyemprot air dibantu dengan motor servo. Hal ini dimaksudkan
agar area penyemprotan lebih luas, sehingga api padam.1.2 Tujuan dan Manfaat
Tujuan dilakukan penelitian ini adalah mendapatkan karakteristik dari sensor TPA81 dalam pembacaan api pada robot pemadam api.
Manfaat dari penelitian ini adalah a) Untuk melakukan pembacaan api yang akurat.
b) Dapat digunakan sebagai referensi oleh mahasiswa lain untuk mengembangkan kreatifitas yang berhubungan dengan sensor api.
1.3 Batasan Masalah
Batasan masalah pada penelitian ini adalah : a) Sensor api menggunakan Thermal Array TPA81.
b) Jalur penghubung antara sensor Thermal Array TPA81 menggunakan sistem jalur komunikasi I2C.
c) Mikrokontroller ATMega 32 d) MotorServoTower Pro SG-5010digunakan sebagai penggerak penyemprot.
e) Penyemprot air menggunakan pompa air DC.
1.4 Metodologi Penelitian
Metode yang digunakan dalam penelitian adalah mengumpulkan referensi dari
berbagai sumber, buku literatur, internet dan sebagainya. Kemudian menyusun perancangan
dan melakukan serangkaian percobaan untuk menguji hasil rancangan.Pengujian dilakukan dengan memberikan gangguan pada sistem dengan cara merubah
posisi letak api terhadap sensor, jarak, sudut, halangan, menguji kecepatan baca sensor
terhadap perubahan posisi letak api dan pengujian terhadap pompa dan driver motor.Hasil yang ingin dicapai adalah menghasilkan suatu data karakteristik pembacaan api oleh sensor TPA81 sehingga dapat digunakan sebagai referensi untuk penelitian selanjutnya.
1.5 Sistematika Penulisan
Tugas Akhir ini memiliki sistematika penulisan sebagai berikut:
BAB I : Pendahuluan BAB ini berisi latar belakang penelitian, tujuan dan manfaat penelitian, batasan masalah, metodologi penelitian dan sistematika penulisan. BAB II : DASAR TEORI BAB ini berisi tentang studi pustaka landasan teori penelitian Sensor api Thermal Array TPA81, Sistem jalur komunikasi I2C, Mikrokontroller ATMega 32, MotorServoTower Pro SG-5010, driver motor DC yang digunakan sebagai pompa penyemprot air. BAB III : RANCANGAN PENELITIAN BAB ini berisi tentang diagram blok perancangan, perancangan perangkat keras (Hardware) dan perancangan perangkat lunak (Software) dari peralatan yang akan dibuat. BAB IV : HASIL DAN PEMBAHASAN BAB ini berisi tentang hasil perancangan perangkat keras, data hasil pengujian, analisis data dan pembahasan. BAB V : KESIMPULAN DAN SARAN BAB ini berisi tentang kesimpulan akhir dan saran-saran penulis tentang alat yang dibuat.
BAB II DASAR TEORI
2.1 Sensor Api Thermal Array TPA81
2.1.1 Karakteristik Thermal ArrayTPA81 [1] TPA81 dapat mendeteksi sinar inframerah dengan panjang gelombang 2µm-22µm
(1mikrometer = sepersejuta meter)[1]. Panjang gelombang ini dihasilkan oleh benda-benda
yang panas.Oleh karena yang dideteksi adalah radiasi panasnya saja, maka TPA81 dapat
mengukur suhu panas tanpa harus menyentuh sumber panas. Sebagai gambaran, TPA81 dapat
mendeteksi suhu api lilin dalam jarak 2 meter tanpa terpengaruh cahaya ruangan.2.1.2 Field of View (FOV) TPA81dapat mendeteksi suhu pada 8 titik sekaligus. Karena didalam TPA81 terdapat 8
buah sensor thermophile yang masing-masing memiliki sudut pandang (Field of View) 5,12˚
terhadap sumbu horizontal dan 6˚ terhadap sumbu vertikal. Jadi dapat dilihat dari gambar 2.1
total sudut pandangnya adalah 41˚ pada posisi horizontal dengan 6˚ pada posisi vertical.Gambar 2.1 Sudut Pandang TPA81 [1]2.1.3 Jalur Komunikasi [1] Jalur komunikasi data TPA81 menggunakan teknologi I2C (Inter-Intergrated Circuit)
yang menggunakan 2 kabel saja yaitu SDA untuk jalur data dan SCK untuk jalur clock. Jika
dihubungkan dengan Mikrokontroller, TPA81 dapat dipasang paralel sebanyak 8 buah tanpa
menambahkan jalur komunikasi. Hanya perlu menambahkan resistor pull-up 1K8 pada jalur
SDA dan SCK. Selain dapat mengeluarkan data suhu, TPA81 dapat juga mengendalikan
sebuah motor servo.Gambar 2.2. Konfigurasi Pin TPA81 [1]2.1.4 Register [1] Didalam TPA81 terdapa 10 buah register yang dapat kit abaca maupun kita tulisi, yaitu
Tabel 2.1 Register pada TPA81 [1]Register Read Write Software Revision Command Register
1 Ambient Temperature Servo Range
2 Pixel 1 Temperature ˚C N/A
3 Pixel 2 Temperature ˚C N/A
4 Pixel 3 Temperature ˚C N/A
5 Pixel 4 Temperature ˚C N/A
Tabel 2.1 (Lanjutan) Register pada TPA81 [1]Register Read Write
6 Pixel 5 Temperature ˚C N/A
7 Pixel 6 Temperature ˚C N/A
8 Pixel 7 Temperature ˚C N/A
9 Pixel 8 Temperature ˚C N/A Hanya register 0 dan 1 yang dapat ditulisi. Register 0 adalah command register yang
digunakan untuk mengatur posisi servo dan untuk mengubah addressTPA81. Register ini tidak
bisa dibaca. Membaca register 0 akan menghasilkan pembacaan Software Revision. Menulisi
Register 1 akan mengatur range servo. Membaca register 1 akan membaca suhu ambient.Ada 9 suhu yang bisa dibaca, semuanya dalam derajat celcius (˚C). Register 1
menyimpan suhu ambient yang dibaca sensor. Register 2-9 adalah 8 pixel suhu. Pembacaan
suhu akan akurat setelah 40ms sensor mengarah pada posisi baru.2.2 Sistem jalur komunikasi I2C
2.2.1 Latar Belakang dan Konsep I2C
Tujuan dari pembuatan desain jalur komunikasi I2C adalah agar didapatkan desain
elektronikringkas dan fleksibelsehingga ukuran fisik IC diperkecil dan jumlah pin
diminimalkan[2].Perusahaan semikonduktor mengembangkan cara baru komunikasi antar IC yang lebih
akomodatif terhadap tuntutan diatas, maka sebagai alternatif dari hubungan antar IC secara
paralel (parallel bus). Salah satu metode adalah IIC (sering ditulis juga I2C) singkatan dari
Inter Integrated Circuit bus dikembangkan oleh Philips Semiconductor 1992. konsep dasar komunikasi 2 arah antar IC dan/atau antar sistem secara serialmenggunakan 2 kabel.Sistem bus Inter-IC, yang umumnya dikenal sebagai bus I2C, adalah
sebuah control bus yang menyediakan jalur komunikasi antara integrated circuits dalam
sebuah sistem dengan menggunakan pin yang sangat sedikit. Sistem ini dikembangkan oleh
Philips pada awal tahun 1980-an, bus dua kabel sederhana ini dengan bantuan sebuah protokol
software-defined telah menjadi standar di seluruh dunia untuk sistem kontrol mengenai
berbagai macam hal mulai sensor temperatur sampai dengan EEPROM, general-purpose I/O,
A/D and D/A converters, dan semua jenis microprocessors.Gambar 2.3 menunjukkan implementasi dari jalur I2C. Dengan I2C hanya membutuhkan dua jalur untuk berkomunikasi antar perangkat. Kita tidak memerlukan address
decoder untuk mengimplementasi jalur I2C. Dua jalur tersebut adalah SDA (Serial
Data) danSCL (Serial Clock). SCL merupakan jalur yang digunakan untuk mensinkronisasi
transfer data pada jalur I2C, sedangkan SDA merupakan jalur untuk data[3]. Beberapa
perangkat dapat terhubung ke dalam jalur I2C yang sama dimana SCL dan SDA terhubung ke
semua perangkat tersebut, hanya ada satu perangkat yang mengontrol SCL yaitu perangkat
master. Jalur dari SCL dan SDA ini terhubung dengan pull-up resistor yang besar
resistansinya tidak menjadi masalah (bisa 1K, 1.8K, 4.7K, 10K, 47K atau nilai diantara range
tersebut).Gambar 2.3 Implementasi Jalur I2C [3] Dengan adanya pull-up disini, jalur SCL dan SDA menjadi open drain, yang
maksudnya adalah perangkat hanya perlu memberikan output 0 (LOW) untuk membuat jalur
menjadi LOW, dan dengan membiarkannya pull-up resistor sudah membuatnya HIGH.
Umumnya dalam I2C ada satu perangkat yang berperan menjadi master (meskipun
dimungkinkan beberapa perangkat, dalam jalur I2C yang sama, menjadi master) dan satu atau
beberapa perangkat slave. Dalam jalur I2C, hanya perangkat master yang dapat mengontrol
jalur SCL yang berarti transfer data harus diinisialisasi terlebih dahulu oleh perangkat master
melalui serangkaian pulsa clock (slave tidak bisa, tapi ada satu kasus yang disebut
clockstreching). Tugas perangkat slave hanya merespon apa yang diminta master. Slave dapat
memberi data ke master dan menerima data dari master setelah server melakukan inisialisasi.
Misalkan mikrokontroler (uC) adalah perangkat master yang terhubung dalam satu I2C
dengan perangkat-perangkat slave seperti modul pengendali motor servo, modul kompas,
sensor TPA81 dan sensor lainnya.Gambar 2.4 menunjukkan sinyal untuk start dan stop. Sebagaimana telah dijelaskan sebelumnya, bahwa master terlebih dahulu menginisialisasi sebelum memulai transfer data
antara slave-nya. Inisialisasi diawali dengan sinyal START (transisi high ke low pada jalur
SDA dan kondisi high pada jalur SCL, lambang S pada gambar 2), lalu transfer data dan
sinyal STOP (transisi low ke high pada jalur SDA dan kondisi high pada jalur SCL, lambang P
pada gambar 2) untuk menandakan akhir transfer data.Gambar 2.4 Gambar untuk sinyal Start dan Stop [3]͘
Gambar 2.5 menunjukkan transfer bit pada jalur I2C Banyaknya byte yang dapat dikirimkan dalam satu transfer data itu tidak ada aturannya. Jika transfer data yang ingin
dilakukan sebesar 2 byte, maka pengiriman pertama adalah 1 byte dan setelah itu 1 byte. Setiap
byte yang di transfer harus diikuti dengan bit Acknowledge (ACK) dari si penerima,
menandakan data berhasil diterima. Byte yang dikirim dari pengirim diawali dari bit MSB.
Saat bit dikirim, pulsa clock (SCL) di set ke HIGH lalu ke LOW. Bit yang dikirim pada jalur
SDA tersebut harus stabil saat periode clock (SCL) HIGH. Kondisi HIGH atau LOW dari jalur
data (SDA) hanya dapat berubah saat kondisi sinyal SCL itu LOW.Gambar 2.5 Transfer Bit pada jalur I2C [3]Gambar 2.6 menunjukkan data transfer pada jalur I2C. Setiap pulsa clock itu dihasilkan (di jalur SCL) untuk setiap bit (di jalur SDA) yang ditransfer. Jadi untuk
pengiriman 8 bit akan ada 9 pulsa clock yang harus dihasilkan (1 lagi untuk bit ACK).
Kronologi sebelum perangkat penerima memberikan sinyal ACK adalah sebagai berikut: saat
pengirim selesai mengirimkan bit ke-8, pengirim melepaskan jalur SDA ke pull-up sehingga
menjadi HIGH. Saat kondisi tersebut terjadi, penerima harus memberikan kondisi LOW ke
SDA saat pulsa clock ke-9 berada dalam kondisi HIGH.Gambar 2.6 Data Transfer Pada Jalur I2C[3] Jika SDA tetap dalam kondisi HIGH saat pulsa clock ke-9, maka ini didefinisikan
sebagai sinyal Not Acknowledge (NACK). Master dapat menghasilkan sinyal STOP untuk
menyudahi transfer, atau mengulang sinyal START untuk memulai transfer data yang baru.
Ada 5 kondisi yang menyebabkan NACK:1. Tidak adanya penerima dengan alamat yang diminta pada jalur, sehingga tidak ada perangkat yang merespon ACK.
2. Penerima tidak dapat menerima atau mengirim karena sedang mengeksekusi fungsi lain dan tidak siap untuk memulai komunikasi dengan master.
3. Pada saat transfer data, penerima mendapatkan data atau perintah yang tidak dimengerti oleh penerima.
4. Pada saat transfer data, penerima tidak dapat menerima lagi byte data yang dikirimkan.
5. Penerima-master perlu memberi sinyal pengakhiran transfer data ke penerima- slave.
Gambar 2.7 menunjukkan sinyal alamat dan data. Pengalamatan dalam I2C bisa 7 bit atau 10 bit. Pengalamatan 10 bit jarang digunakan dan juga tidak dibahas di sini. Semua
perangkat (uC dan modul-modul) yang terhubung ke dalam jalur I2C yang sama dapat
dialamati sebanyak 7 bit. Ini berarti sebuah jalur I2C dengan pengalamatan 7 bit dapat
menampung 128 (2^7) perangkat. Saat mengirimkan data alamat (yang 7 bit itu), kita tetap
mengirim data 1 byte (8 bit). 1 bit lagi digunakan untuk menginformasikan perangkat slave
apakah master menulis (write) data ke slave atau membaca (read) data dari slave. Jika bit
tersebut 0, maka master menulis data ke slave. Jika bit tersebut 1, maka master membaca data
dari slave. Bit ini (untuk infomasi tulis/baca) merupakan LSB, sedangkan sisanya adalah data
alamat 7 bit. Berikut adalah contoh sinyal yang dimulai dengan data alamat lalu data yang
ingin ditransfer ke alamat tersebut:Gambar 2.7 Sinyal alamat dan data [3]2.3 Mikrokontroller ATMega 32
Mikrokontroler adalah sebuah sistem mikroprosesor dimana didalamnya sudah
terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang sudah saling
terhubung dan terorganisasi dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip
yang siap pakai. Gambar 2.2 menunjukkan konfigurasi dari port-port yang terdapat pada
ATmega 32.Gambar 2.8ATmega32 [4]
2.3.1 Fitur ATmega32
Berbagai macam fitur dihadirkan dalam sebuah IC ATmega32, yang terdapat
didalamnya adalah dua buah 8-bit Timer/counter dengan prescaler terpisah dan mode
pembanding, Satu buah 16-bit Timer/Counter dengan prescaler terpisah, mode pembanding,
dan mode penangkap, Real Time counter dengan oscillator terpisah, PWM 4-channel, 8-
channel, 10 bit ADC, Orientasi Byte untuk Two wire Serial Interface, Programmable Serial
USART, Master/slave SPI Serial Interface, Programmable watchdog timer dengan on-chip
oscillator terpisah[4].2.3.2 Arsitektur AVR [4]
Aritmetic Logic Unit (ALU) adalah processor yang bertugas mengeksekusi kode
program yang ditunjuk oleh program counter. Gambar 2.3 adalah gambaran blok diagram pada
ATmega32.Program memori adalah memori flash PEROM yang bertugas menyimpan program
(software) yang dibuat dalam bentuk kode-kode program (berisi alamat memori serta kode
program dalam ruangan memori alamat tersebut) yang telah di compile berupa bilangan
heksadesimal atau biner.
Gambar 2.9Blok diagram Mikrokontroler AVR [4]
Program Counter (PC)adalah komponen yang bertugas menunjukan ke ALU alamatmemori yang harus diterjemahkan kode programnya dan dieksekusi. Sifat dasar dari PC
adalah menghitung naik satu bilangan yang bergantung pada alamat awal.32 General Purphose Working Register (GPR) adalah register file atau register kerja
(R -R ) yang mempunyai ruangan 8-bit. Tugas GPR adalah sebagai tempat ALU
31 mengeksekusi kode-kode program, setiap instruksi pada ALU melibatkan GPR.Static Random Accses Memory (SRAM) adalah RAM yang bertugas untuk menyimpan data sementara sama seperti RAM pada umumnya mempunyai alamat dan ruangan data.
Internal Pheripheral adalah peralatan/modul internal yang ada dalam mikrokontroler
seperti saluran I/O, Interupsi eksternal, Timer/Counter, USART, EEPROM dan lain-lain. Tiap
peralatan internal mempunyai registerport (resister I/O) yang menggendalikan peralatan
internal tersebut.2.3.3 Memori AVR
Gambar 2.4 menunjukkan peta memori dari ATmega 32. Memori ATmega terbagi menjadi tiga,yaitu:Gambar 2.10 Peta Memori ATmega [4]1. Memori Flash Adalah memori ROM tempat kode-kode program berada. Kata flash menunjukan jenis ROM yang dapat ditulis dan dihapus secara elektrik. Memori flash terbagi dua bagian yaitu bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode program aplikasi berada. Bagian boot adalah bagian yang digunakan khusus untuk booting awal yang dapat deprogram untuk menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui USART.
2. Memori Data Adalah memori RAM yang digunakan untuk keperluan program. Memori data terbagi dalam empat bagian yaitu 32 General Purphose Working Register (GPR), 64 I/O register,
Additional I/O register dan internal RAM. 32 General Purphose Working Register (GPR) adalah register khusus yang bertugas untuk membantu mengeksekusi program oleh ALU. I/O register dab Additional I/O register adalah register yang difungsikan untuk mengendalikan berbagai pheripheral dalam mikrokontroler.
3. EEPROM Adalah memori data yang dapat mengendap ketika chip mati (off), digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan catu daya.
2.3.4 Jalur I2C [5]
1. SDA, Port C bit 1 SDA, Two Wire Data Interface, ketika bit TWEN dalam TWCR di set untuk
mengaktifkan Two Wire Serial Interface, pin PC1 menjadi tidak terkoneksi dari port dan
menjadi serial data I/O untuk Two Wire Serial Interface. Didalam mode ini, ada sebuah spike
filter pada pin untuk menahan spike yang lebih pendek dari 50nS dari sinyal input, dan pin
dikendalikan oleh sebuah open drain driver dengan batasan slew rate. Ketika pin ini
digunakan sebagai Two Wire Serial Interface, pull up tetap dapat dikendalikan oleh bit
PORTC1 [5].2. SCL, Port C bit 0 SCL, Two Wire Serial Interface Clock, , ketika bit TWEN dalam TWCR di set untuk
mengaktifkan Two Wire Serial Interface, pin PC0 menjadi tidak terkoneksi dari port dan
menjadi serial clock I/O untuk Two Wire Serial Interface. Didalam mode ini, ada sebuah spike
filter pada pin untuk menahan spike yang lebih pendek dari 50nS dari sinyal input, dan pin
dikendalikan oleh sebuah open drain driver dengan batasan slew rate. Ketika pin ini
digunakan sebagai Two Wire Serial Interface, pull up tetap dapat dikendalikan oleh bit
PORTC0.2.4 Regulator Tegan angan dan Driver Motor Pompa
2.4.1 Regulator Tegan angan
Perangkat elektronik nika rata-rata memerlukan tegangan 5VDC, se sedangkan sumber daya
yg digunakan memiliki nil nilai tegangan lebih dari 5VDC. Oleh karena a itu diperlukan sebuah
regulator tegangan agar r tidak merusak komponen elektronika a akibat tegangan yang
berlebihan. Untuk mereg egulasi tegangan digunakan sebuah IC 7 7805 yang berfungsi
menurunkan level teganga gan sampai dengan kurang lebih 5VDC. S . Selain berfungsi untk