BAB II
LANDASAN TEORI
2.1.Sensor PIR ( Passive Infra Red )
Sensor PIR (Passive Infra Red) adalah sensor yang digunakan untuk mendeteksi adanya pancaran sinar infra merah. Sensor PIR bersifat pasif, artinya sensor ini tidak memancarkan sinar infra merah tetapi hanya menerima radiasi sinar infra merah dari luar.
Gambar 2.1 sensor PIR
dinding), maka sensor akan membandingkan pancaran infra merah yang diterima setiap satuan waktu, sehingga jika ada pergerakan maka akan terjadi perubahan pembacaan pada sensor.
Sensor PIR terdiri dari beberapa bagian yaitu : - Lensa Fresnel
- Penyaring Infra Merah - Sensor Pyroelektrik - Penguat Amplifier - Komparator
2.1.1.Cara Kerja Sensor PIR
dengan panjang gelombang antara 9-10 mikrometer (nilai standar 9,4 mikrometer), panjang gelombang tersebut dapat terdeteksi oleh sensor PIR.
2.1.2 Jarak pancar sensor PIR
Sensor PIR memiliki jangkauan jarak yang bervariasi, tergantung karakteristik sensor. Pada umumnya sensor PIR memiliki jangkauan pembacaan efektif hingga 5 meter, dan sensor ini sangat efektif digunakan sebagai human detector.
Sensor gerak PIR (Passive Infra Red) adalah sensor yang berfungsi untuk pendeteksi gerakan yang bekerja dengan cara mendeteksi adanya perbedaan/perubahan suhu sekarang dan sebelumnya. Sensor gerak menggunakan modul pir sangat simpel dan mudah diaplikasikan karena Modul PIR hanya membutuhkan tegangan input DC 5V cukup efektif untuk mendeteksi gerakan hingga jarak 5 meter. Ketika tidak mendeteksi gerakan, keluaran modul adalah LOW. Dan ketika mendeteksi adanya gerakan, maka keluaran akan berubah menjadi HIGH. Adapun lebar pulsa HIGH adalah ±0,5 detik.
di hubungkan dengan komponen digital TTL atau CMOS dan juga dapat lansung dihubungkan ke mikrokontroler.
Efektifitas pendeteksian gerakan menggunakan sensor gerak ini dipengaruhi oleh faktor penempatan sensor gerak PIR tersebut. Posisi sensor gerak harus diletakan pada lokasi yang dapat membaca semua gerakan yang ada dalam ruangan atau daerah yang dimonitor oleh sensor gerak PIR.
2.1.3 Bagian-bagian dari Sensor PIR 1. Fresnel Lens
Lensa Fresnel pertama kali digunakan pada tahun 1980an. Digunakan sebagai lensa yang memfokuskan sinar pada lampu mercusuar. Penggunaan paling luas pada lensa Fresnel adalah pada lampu depan mobil, di mana mereka membiarkan berkas parallel secara kasar dari pemantul parabola dibentuk untuk memenuhi persyaratan pola sorotan utama. Namun
kini, lensa Fresnel pada mobil telah ditiadakan diganti dengan lensa plain polikarbonat. Lensa Fresnel juga berguna dalam pembuatan film, tidak hanya karena kemampuannya untuk memfokuskan sinar terang, tetapi juga karena intensitas cahaya yang relative konstan diseluruh lebar berkas cahaya.
2. IR Filter
saja yang dapat dideteksi oleh sensor. Sehingga Sensor PIR hanya bereaksi pada tubuh manusia saja.
3. Pyroelectric sensor
Seperti tubuh manusia yang memiliki suhu tubuh kira-kira 32 derajat celcius, yang merupakan suhu panas yang khas yang terdapat pada lingkungan. Pancaran sinar inframerah inilah yang kemudian ditangkap oleh Pyroelectric sensor yang merupakan inti dari sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari galium nitrida, caesium
nitrat dan litium tantalate menghasilkan arus listrik. Mengapa bisa menghasilkan arus listrik? Karena pancaran sinar inframerah pasif ini membawa energi panas. Material pyroelectric bereaksi menghasilkan arus listrik karena adanya energy panas yang dibawa oleh infrared pasif tersebut. Prosesnya hampir sama seperti arus listrik yang terbentuk ketika sinar matahari mengenai solar cell.
4. Amplifier
Sebuah sirkuit amplifier yang ada menguatkan arus yang masuk pada material pyroelectric.
5. Comparator
2.2.Sensor Suhu LM35
Sensor suhu LM35 bentuknya semacam transistor dengan tiga kaki dan masing-masing kaki berfungsi sebagai input dan output. Berdasarkan gambar, dari kiri ke kanan, kaki-kaki tersebut berfungsi sebagai VCC – OUPUT – GND.
Gambar 2.2 Bentuk fisik LM35
2.2.1.Cara Kerja Sensor LM35
Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan
100°C setara dengan 1 volt.
Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka (interface) rangkaian control yang sangat mudah. IC LM35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk Integrated Circuit (IC), dimana output tegangan keluaran sangat linear terhadap perubahan suhu. Sensor ini berfungsi sebagai pegubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mV /°C yang berarti bahwa kenaikan suhu 1° C maka akan terjadi kenaikan tegangan sebesar 10 mV.
IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 μ A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan. Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature sensor.
Adapun keistimewaan dari IC LM 35 adalah : 1. Kalibrasi dalam satuan derajat celcius.
3.Akurasi 0,5 º C pada suhu ruang. 4.Range +2 º C – 150 º C.
5.Dioperasikan pada catu daya 4 V – 30 V. 6.Arus yang mengalir kurang dari 60 Μa
2.2.2.Kelebihan dan Kelemahan Sensors LM35 •Kelebihan:
a.Rentang suhu yang jauh, antara -55 sampai +150oC b.Low self-heating, sebesar 0.08oC
c.Beroperasi pada tegangan 4 sampai 30 V d.Rangkaian tidak rumit
e.Tidak memerlukan pengkondisian sinyal •Kekurangan:
Membutuhkan sumber tegangan untuk beroperasi
2.3 Mikrokontroler Atmega8535
Mikrokontroler adalah IC yang dapat diprogram berulang kali, baik ditulis atau dihapus. Biasanya digunakan untuk pengontrolan otomatis dan manual pada perangkat elektronika.
Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama dalam pengontrolan robot. Seiring perkembangan elektronika, mikrokontroler dibuat semakin kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya adalah mikrokontroler AVR (Alf and Vegard’s Risc
processor) ATmega8535 yang menggunakan teknologi RISC (Reduce Instruction Set Computing) dimana program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk mengeksekusi satu instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu kelas ATtiny, keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.
Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal,
EEPROM internal, Timer/Counter, PWM, analog comparator, dll. Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat mengembangkan kreativitas penggunaan mikrokontroler ATmega8535.
Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai berikut:
2. ADC internal sebanyak 8 saluran.
3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register.
5. SRAM sebesar 512 byte.
6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 7. Port antarmuka SPI
8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 9. Antarmuka komparator analog.
10. Port USART untuk komunikasi serial.
11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
12. Dan lain-lainnya.
2.3.1.Konstruksi ATmega8535
Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.
a. Memori program
b. Memori data
ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM.
c. Memori EEPROM
ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM
Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.
ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC ATmega8535 dapat dikonfigurasi, baik secara single ended input maupun
ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer/counter 8 bit dan 1 buah timer/counter 16 bit. Ketiga modul timer/counter ini dapat diatur dalam mode yang berbeda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu, semua timer/counter juga dapat difungsikan sebagai sumber interupsi. Masing-masing timer/counter ini memiliki register tertentu yang digunakan untuk mengatur mode dan cara kerjanya.
Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi serial syncrhronous kecepatan tinggi yang dimiliki oleh ATmega8535. Universal Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535. USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara syncrhronous maupun
asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun
asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja. Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode
2.3.2.Port I/O ATMega8535
Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output perlu dilakukan setting pada DDR dan Port. Berikut tabel pengaturan port I/O.
Dari tabel di atas, menyeting input/output adalah : 1. Input ; DDr bit 0 dan Port bit 1
2. Output High ; DDR bit 1 dan Port bit 1 3. Output Low ; DDR bit 1 dan Port bit 0
Logika port I/O dapat berubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.
Port I/O sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau kendali alat elektronis yang lain, perlu diberikan penguat tambahan atau dapat juga dengan konfigurasi port sebagai
sinking current, seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala saat port diberikan logika low dan mati saat port logika high.
2.3.3 Konfigurasi Pin ATMega8535
Mikrokontroler ATMega memiliki 40 pin dengan 32 pin diantaranya digunakan sebagai port paralel. Satu port paralel terdiri dari 8 pin, sehingga jumlah port
Sebagai contoh adalah port A memiliki pin antara port A.0 sampai dengan port
A.7, demikian selanjutnya untuk port B, port C, port D.
Gambar 2.3 Konfigurasi Pin Mikrokontroler ATMega8535
a. Port A
Pin 33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor
(dapat diatur per bit). Output buffer port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus di-setting terlebih dahulu sebelum port A digunakan. Bit-bit
DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang disesuaikan sebagai
Tabel 2.1 Tabel Pin Pada Port A
Pin Keterangan
PA7 ADC7 (ADC Input Channel 7) PA6 ADC6 (ADC Input Channel 6) PA5 ADC7 (ADC Input Channel 5) PA5 ADC4 (ADC Input Channel 4) PA3 ADC3 (ADC Input Channel 3) PA2 ADC2 (ADC Input Channel 2) PA1 ADC1 (ADC Input Channel 1) PA0 ADC0 (ADC Input Channel 0)
b. Port B
Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor
(dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B digunakan. Bit-bit
Tabel 2.2 Tabel Pin Pada Port B
Pin Keterangan
PB7 SCK (SPI Bus Serial Clock)
PB6 VISO (SPI Bus Master Input/Slave Output) PB5 VOSI (SPI Bus Master Output/Slave Input) PB4 SS (SPI SlaveSelect Input)
PB3 AIN1 (Analog Comparator Negative Input) OCC (Timer/Counter0 Output Compare Match Output)
PB2 ‘AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt2 Input)
PB1 T1 (Timer/Counter1 External Counter Input)
PB0 T0 (Timer/Counter0 External Counter Input) XCK (JSART External Clock Input/Output)
c. Port C
D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel 2.3 berikut ini:
Tabel 2.3 Tabel Pin Pada Port C
Pin Keterangan
PC7 TOSC2 (Timer Oscillator Pin 2) PC6 TOSC1 (Timer Oscillator Pin 1)
PC1 SDA (Two-Wire Serial Bus Data Input/OutputLine) PC0 SCL (Two-Wire Serial Bus Clock Line)
d. Port D
Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor
(dapat diatur per bit). Output buffer port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus di-setting terlebih dahulu sebelum port D digunakan. Bit-bit
DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang disesuaikan sebagai
Tabel 2.4 Tabel Pin Pada Port D
Pin Keterangan
PD0 RDX (UART input line) PD1 TDX (UART output line)
PD2 INT0 (external interrupt 0 input) PD3 INT1 (external interrupt 1 input)
PD4 OC1B (Timer/Counter1 output compareB match output) PD5 OC1A (Timer/Counter1 output compareA match output) PD6 ICP (Timer/Counter1 input capture pin)
PD7 OC2 (Timer/Counter2 output compare match output)
Pemrograman mikrokontroler ATmega8535 dapat menggunakan low level language (assembly) dan high level language (C, Basic, Pascal, JAVA,dll) tergantung compiler yang digunakan. Bahasa Assembler mikrokontroler AVR memiliki kesamaan instruksi, sehingga jika pemrograman satu jenis mikrokontroler AVR sudah dikuasai, maka akan dengan mudah menguasai pemrograman keseluruhan mikrokontroler jenis mikrokontroler AVR.
C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C terletak diantara bahasa pemrograman tingkat tinggi dan assembly .
2.4.LCD (Liquid Cristal Display)
Display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit.
LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik. Material LCD (Liquid Cristal Display) LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor.
Memori yang digunakan microcontroler internal LCD adalah :
a.DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada.
b. CGRAM (Character Generator Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.
c.CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM.
Register control yang terdapat dalam suatu LCD diantaranya adalah: 1.Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data.
2. Register data yaitu register untuk menuliskan atau membaca data dari atau keDDRAM. Penulisan data pada register akan menempatkan data tersebut keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.
a.Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.
b.Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.
c.Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.
d.Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
e.Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.
2.4.1 Cara Kerja LCD Secara Umum
4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-8-bit MSB lalu 4-8-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.
Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.
kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.