BAB II TINJAUAN PUSTAKA
2.1 Sensor LDR
Sensor LDR Light Dependent Resistor adalah sensor cahaya yang berfungsi
untuk mendeteksi cahaya yang ada di sekitar kita. Sensor ini akan berubah nilai hambatannya apabila ada perubahan tingkat kecerahan cahaya. LDR Light
Dependent Resistor mempunyai hambatan yang bervariasi dengan jumlah cahaya yang jatuh di atasnya. Perlawanan menjadi lebih rendah sebagai cahaya yang jatuh
pada LDR meningkat. Bentuk sensor LDR dapat dilihat pada Gambar 2.1 dan untuk rangkaiannya dapt dilihat pada Gambar 2.2.
Resistansi LDR berubah seiring dengan perubahan intensitas cahaya yang mengenainya. Dalam keadaan gelap resistansi LDR sekitar 10M
Ω dan dalam keadaan terang sebesar 1K
Ω atau kurang. LDR terbuat dari bahan semikonduktor seperti kadmium sulfida. Dengan bahan ini energi dari cahaya yang jatuh menyebabkan lebih
banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan telah mengalami penurunan.
Prinsip inilah yang akan kita gunakan untuk mengaktifkan transistor untuk dapat menggerakkan motor DC mirip dengan dinamo pada mainan mobil-mobilan
anak-anak. Perubahan nilai hambatan pada LDR tersebut akan menyebabkan perubahan beda tegangan pada input basis transistor, sehingga akan
mengaktifnonaktifkan transistor diambil dari pustaka no.5 .
Gambar 2.1 Sensor Cahaya LDR Gambar 2.1 diatas merupakan bentuk dari sensor LDR Light Dependent
Resistor yang berfungsi sebagai penerima cahaya. Sedangkan pada pada Gambar 2.2 dibawah ini merupakan rangkaian pada saat sensor bekerja.
Gambar 2.2 Rangkaian Sensor Cahaya
2.2 Mikrokontroler AT89S52
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer
pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output spesifik
berdasarkan inputan yang diterima dan program yang dikerjakan. Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang
diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer.
Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan
oleh programmer. Mikrokontroller yang digunakan didalam proyek akhir ini adalah AT89S52
dari ATMEL yang merupakan keluarga MCS 51 yang banyak berada di pasaran. Mikrokontroller ini merupakan mikrokontroller 8 bit yang merupakan single chip
microcontroller, dimana semua rangkaian termasuk memori dan IO tergabung dalam satu pak IC diambil dari pustaka no.1 .
Mikrokontroller AT89S51 memiliki fasilitas antara lain: a.
4K Bytes In-System Programmable ISP Flash Memori b.
Range operasi 4.0V ke 5.5V. c.
Operasi Secara penuh Statis: 0 Hz ke 33 MHZ. d.
Tiga Level Program Memori Lock. e.
256 x 8-bit RAM Internal.
f. 32 jalur IO Programmable.
g. Dua 16-bit TimerCounters.
h. Enam Sumber Interrupt.
i. UART Full Duplex Saluran Serial.
j. Low-Power Idle dan Power-Down Modes.
k. Interrupt Recovery dari Power-Down Modes.
l. Tahan hapus isi sampai 1000 kali
AT89S52 adalah 8 bit CMOS mikrokomputer yang dilengkapi dengan 4 Kb Flash Memory, yang bekerja pada tegangan rendah dengan kemampuan tinggi.
IC ini diproduksi oleh Atmel dengan teknologi kepadatan tinggi high density, dengan non-valatile memori yang dapat diisi dengan program yang
intruksinya kompatibel dengan keluarga MCS-51. Mengombinasikan CPU 8 bit serbaguna dengan Flash Memory pada sebuah
chip monolitik, Atmel 89S51 adalah sebuah mikrokomputer handal yang menghasilkan banyak aplikasi kontrol menjadi lebih fleksibel dan berbiaya rendah.
AT89S52 menyediakan fitur standar: 4 Kb Flash Memory, 256 Byte RAM, 32 jalur IO yang full duplex dapat mengirim dan menerima secara bersamaan,
komparator tegangan analog yang presisi, oscilator, dan generator clock yang On Chip sudah tersedia di dalam chip.
Dengan tambahan AT89S52 yang didesain secara Static-Logic untuk beroperasi hingga ke frekuensi nol dan mendukung dua software penghemat daya
yang dapat dipilih.
Idle Mode mode dimana sistem tidak sedang bekerja akan menghentikan CPU, namun RAM, timercounter, serial port dan interupsi tetap dibiarkan
berfungsi. Power Down Mode menyimpan isi RAM, namun menghentikan oscilator dan menonaktifkan seluruh fungsi chip sampai sistem direset secara hardware
berikut blok diagram mikrokontroler pada Gambar 2.3.
Gambar 2.3 Blok Diagram Mikrokontroller
2.2.1 Konfigurasi Pin
Berikut akan dijelaskan tentang konfigurasi pin dari mikrokontroler AT89S52.
Gambar 2.4 Konfigurasi Pin
Berikut adalah penjelasan dari konfigurasi pin di atas: a.
VCC Tegangan
sumber b.
GND Groundnol
c. Port 0
Sebuah port 8-bit yang dapat dipakai untuk akses IO 2 arah, sebagai port output tiap pinnya dapat menurunkan delapan TTL input dan pin-pinnya dapat
digunakan untuk inputan dengan impedansi tinggi d.
Port 1 Port 8-bit yang dapat dipakai untuk akses 2 arah IO, buffer output port 1
dapat menurunkan empat TTL input. Jika 1s dituliskan maka dapat dinaikkan internal pull-upsnya dan dapat dipakai sebagai inputan. Sebagai inputan, port 1 akan secara
eksternal menurunkan arus sumber dikarenakan ada internal pull-ups.
Tabel 2.1 Fungsi Alternatif Port 1
Port Fungsi alternatif
P1.5 MOSI digunakan untuk ISP
P1.6 MISO digunakan untuk ISP
P1.7 SCK digunakan untuk ISP
e. Port 2
Sama dengan port 1, port 2 dapat mengeluarkan pengalamatan byte sampai high-order selama akses pengalamatan dari eksternal program memori dan akses ke
eksternal data memori yang panjang serta menggunakan alamat 16-bit MOVX DPTR. Pada akses ke eksternal data memori yang menggunakan alamat 8-bit
MOVX R1, port 2 mengeluarkan isi dari P2 Special Function Register.
f. Port 3
Adalah sebuah port yang dapat dipakai sebagai input atau outputan dengan internal pull-ups. Dapat menurunkan empat TTL input, sebagai input pin pada port 3
akan dapat secara eksternal diturunkan oleh arus sumber atau sebagai peredam sinyal yang disebabkan oleh pull-ups.
Port 3 menerima beberapa sinyal kontrol untuk pemrograman dan verifikasi. Juga dapat melayani fungsi dari macam-macam fitur spesial dari AT89S51 seperti
yang ditunjukkan pada tabel.
Tabel 2.2 Fungsi Alternatif Port 3
Port Pin Fungsi Alternatif
P3.0 RXD serial input port
P3.1 TXD serial output port
P3.2 INT0 eksternal interrupt 0
P3.3 INT1 eksternal interrupt 1
P3.4 T0 timer 0 eksternal input
P3.5 T1 timer 1 eksternal input
P3.6 WR eksternal data memori write
strobe P3.7
RD eksternal data memori read strobe
g. RST
Reset input. Pin membutuhkan keadaan high untuk 2 siklus mesin sampai oscilator mengerjakan reset pada alat. Sesudah Watchdog timer, pin membutuhkan
keadaan high selama 98 periode oscilator. Bit DISRTO dalam SFR AUXR alamat
8EH dapat digunakan untuk menonaktifkan reset. Dalam kondisi default state bit DISRTO, reset akan berada dalam keadaan high jika telah diaktifkan.
h. ALE
PROG
Address Latch Enable adalah pulsa output untuk mengunci low byte pada alamat selama akses ke eksternal memori. Pin ini juga berfungsi sebagai inputan
pulsa program selama Flash Programming. Dalam operasi normal ALE dikeluarkan secara konstan pada 16 frekwensi oscilator dan dimungkinkan digunakan untuk
pewaktuan sacara eksternal atau dengan tujuan pewaktuan. Bagaimanapun bahwa satu dari pulsa ALE akan diloncati selama tiap akses ke eksternal data memori.
Operasi pada ALE dapat dinonaktifkan dengan menyetting bit 0 pada SFR dengan alamat 8EH. Dengan penyettingan bit, ALE hanya akan aktif selama perintah
MOVX atau MOVC. Dengan cara lain pin dengan bit rendah akan di pull-high. Penonaktifan setting bit pada ALE tidak akan ada hasilnya jika dieksekusi secara
eksternal mode pada mikrokontroller. i.
PSEN
Program Store Enable berfungsi untuk membaca strobe yang menuju memori eksternal program. Jika chip AT89S51 melakukan eksekusi kode dari eksternal
program memori, PSEN hanya dapat aktif dua kali tiap siklus mesin, kecuali pengaktifa 2 PSEN dilompati selama tiap akses ke eksternal data memori.
j. EA VPP
External Access Enable harus terhubung ke GND untuk mengaktifkan perintah yang dimaksud dan mengambil kode dari lokasi eksternal program memori
yang dimulai dari 0000H sampai FFFFH. Bagaimanapun bila bit 1 telah dikunci lewat program, EA akan secara internal terhubung ke reset. EA seharusnya
tersambung juga ke VCC untuk mengeksekusi internal program. Pin ini juga menerima tegangan 12 volt untuk program pengaktifan tegangan VPP selama Flash
Programming. k.
XTAL1 Yaitu inputan oscilator pembalik dan inputan ke pengoperasian clock internal
pada sirkuit. l.
XTAL2 Outputan dari oscilator pembalik.
m. SFR
Sebuah peta pada chip memori area
2.2.2 Dasar Mikrokontroler
Sebuah mikrokontroler memiliki beberapa perlengkapan dasar, antara lain adalah CPU, Alamat, Data, Pengendali, Memori, RAM, ROM, Input Output.
a. Central Processing Unit CPU
Unit pengelola pusat CPU terdiri atas dua bagian yaiu unit pengendali CU serta unit aritmatika dan logika ALU. Fungsi utama unit pengendali adalah untuk
mengambil, mengkode, dan melaksanakan urutan instruksi pada sebuah program yang tersimpan dalam memori. Sedangkan unit aritmatika atau perhitungan bertugas
untuk menangani operasi perhitungan maupun boolean dalam program.
b. Alamat
Sistem berbasis mikroprosesor atau mikrokontroler pada umumnya mempunyai lebih dari satu device peripheral seperti memori, input output, Analog to
Digital Converter ADC, dan lain-lain. Masing-masing device ini perlu diberi alamat, sama seperti rumah kita yang mempunyai alamat unik untuk tiap-tiap rumah.
Bayangkan apa yang terjadi kalau rumah-rumah itu tidak diberi alamat, pasti kita
akan kebingungan untuk menuju ke rumah tertentu. Demikian pula dengan mikrokontroler, supaya dapat mengakses suatu device maka mikrokontroler tersebut
harus mengetahui alamat device yang akan diakses. Address decoder akan memberikan alamat untuk tiap device.
c. Data
CPU mikrokontroler AT89S52 mempunyai lebar bus 8 bit. Pena data 8 bit pada AT89S52 D0, …..D7 ini terletak didalam chip karena jumlah pena luar pada
mikrokontroler terbatas. Pena untuk bus data di multipleks dengan alamat A0, …..A7 pada port 0, sehingga sering juga disebut AD0, …..AD7.
d. Pengendali
Selain bus alamat dan bus data mikroprosesor atau mikrokontroler dilengkapi juga dengan bus pengendali control bus, yang fungsinya untuk menyerempakkan
operasi mikroprosesor atau mikrokontroler dengan operasi rangkaian luar. Contoh pena pengendali ini antara lain ALE, PSEN, WR, RD, interupsi dan lain-lain.
e. Memori
“Kecanggihan” sebuah komputer atau kontroller ditentukan oleh program yang kita buat. Memori digunakan sebagai tempat untuk menimpan program, data
dan stack. Program adalah kumpulan instruksi untuk mengerjakan suatu pekerjaan. Data adalah variabel-variabel yang dapat di ubah saat program berjalan. Stack
digunakan untuk menyimpan alamat kembali return address dan juga dapat dipakai untuk menyimpan data. Umumnya didalam mikrokontroller tersedia 2 jenis memori
yaitu ROM dan RAM Read Only Memory bersifat hanya dibaca dan isinya tidak hilang bila catu daya dimatikan, digunakan untuk menyimpan program. Sedangkan
RAM Random-Access Memory bersifat bisa dibaca dan ditulis tetapi isinya bisa hilang bila catu daya dimatikan, digunakan untuk menyimpan data stack. Dengan
berkembangannya teknologi batas antara ROM dan RAM kini agak kabur. ROM sekarang bisa ditulisi untuk tipe flash atau EEROM. RAM sekarang juga tidak
kehilangaan isinya saat catu daya dimatikan yaitu pada tipe NVRAM Non-Volatile RAM.
Memori di dalam Mikrokontroller berukuran terbatas. Untuk itu dan harus tahu persis berapa kebutuhan memori yang digunakan. Kekurangan memori menyebabkan
program anda tidak berjalan dengan benar, terlalu banyak memori yang tidak dipakai juga menyebabkan cost yang sia-sia.
f. RAM
RAM Random Access Memory pada mikrokomputer bisa mencapai ukuran
sekian megabyte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di luar chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip
mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128 byte, 256 byte dan seterusnya dan ukuran yang relatif kecil inipun dirasa cukup untuk
aplikasi-aplikasi mikrokontroler.
Pada 256 byte bagian bawah, perhatikan Gambar 2.5. 32 byte pertama 00h-
1Fh dikelompokkan menjadi 4 bank dari 8 register. Instruksi pada program mengenalnya dengan sebutan R0 sampai R7. Dua bit pada Program Status Word
PSW digunakan untuk memilih bank register yang digunakan. Penggunaan instruksi yang mengakses register akan menghemat kode mesin dibandingkan dengan instruksi
yang mengakses lokasi secara langsung direct addressing. 16 byte diatas bank register yaitu pada alamat 20h sampai 2Fh merupakan
daerah yang dapat dialamati secara bit. Alamat bit-bit pada daerah ini adalah 00h sampai 7Fh.
Pendek kata, untuk RAM internal 256 byte bagian bawah, 32 byte pertama dapar digunakan sebagai bank register, 16 byte berikutnya dapat dialamati perbit, dan
sisanya 80 byte dapat digunakan seperti biasa.
SFR User
Area
Bank 1 Bank 0
Bank 3 Bank 2
8 Bytes 78
7F 70
77 68
6F 60
67 58
5F 50
57 48
4F 40
47 38
3F 30
37 28
2F 20
27 18
1F 10
17 08
0F 00
07 SCRATCHPAD
AREA
BIT ADDRESSABLE SEMENT
REGISTER BANKS
SP FF
80 7F
00
Gambar 2.5 256 byte RAM Internal Bagian Bawah Lower
RAM internal 256 byte atas merupakan tempat register fungsi khusus SFR.
Gambar 2.6. menunjukan SFR untuk Mikrokontroller seri 89S52. SFR ini meliputi
alamat port, bit status dan kontrol, timer, register, stack pointer, akumularor dan lainnya. Bagian-bagian yang kosong digunakan untuk pengembangan divais
Mikrokontroller selanjutnya.
SFR User
Area 8 Bytes
F8 FF
F0 F7
E8 EF
E0 E7
D8 DF
D0 D7
C8 CF
C0 C7
B8 BF
B0 B7
A8 AF
A0 A7
98 9F
90 97
88 8F
80 87
FF 80
7F 00
SP IMOD
SBUF DPL
IL0 B
AOC PSW
P E
P3
P0 ICON
P2 SCON
P1 DPH
IL1 IHU
IH1 PCON
BIT ADDRESSABLE
Gambar 2.6 256 byte RAM Bagian Atas
g. ROM
ROM Read Only Memory diisi saat proses produksinya. Informasi yang
dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah. ROM
adalah memori yang paling sederhana, kecil, dan murah. Sifat memori program ini non volatile, artinya tetap akan tersimpan walaupun tidak diberi catu daya.
h. Input Output
Diagram latch dan IO buffer tiap bit dari Port 0 - Port 3. Port 1,2, dan 3 mempunyai pull-up internal. Sedangkan Port 0, konfigurasi outputnya adalah open
drain. Setiap bit IO ini berdiri sendiri, jadi dapat berfungsi sebagai input atau output tanpa tergantung satu sama lain. Port 0 dan 2 tidak dapat dipakai sebagai IO bila
digunakan sebagai jalur alamat data. Bila port-port tersebut ingin difungsikan sebagai input, maka bit latch harus berisi 1, yang akan mematikan output driver
FET. Sehingga pin-pin Port 1,2, dan 3 akan ditarik ke high oleh pull-up internal, tetapi bila diinginkan dapat juga ditarik ke low dengan sumber external. Port 0 agak
berbeda, karena tidak menggunakan pull-up internal. FET pull-up pada output driver P0 lihat gambar 6A hanya digunakan pada saat Port mengeluarkan 1 selama akses
memori external, selain keadaan ini FET pull-up tidak aktif. Akibatnya bila bit-bit P0 berfungsi sebagai output maka bersifat open drain. Penulisan logika 1 ke bit latch
menyebabkan kedua FET tidak bekerja, sehingga pin dalam keadaan mengambang floating. Pada kondisi ini pin dapat berfungsi sebagai high impedance input. Port
1,2, dan 3 sering disebut dengan quasibidirectional karena mempunyai pull-up internal. Saat berfungsi sebagai input maka mereka akan ditarik ke high dan akan
bersifat sebagai sumber arus bila ditarik ke low secara eksternal. Port 0 sering disebut sebagai true-bidirectional, karena bila dikonfigurasikan sebagai input maka
pinpinnya akan mengambang. Pada saat reset semua port latch akan berlogika ’1’ diambil dari pustaka no.1,2. Berikut adalah rangkaian bit latch dan IO buffer, dapat
dilihat pada Gambar 2.7.
Gambar 2.7 Bit Latch Dan IO Buffer
2.3 Motor DC
Motor DC adalah alat yang mengubah pulsa listrik menjadi gerak, mempunyai prinsip dasar yang sama dengan motor stepper namun gerakannya bersifat kontinyu
atau berkelanjutan. Motor DC dibagi menjadi 2 jenis yaitu : 1.
Motor DC dengan sikat mekanis komutasi, yaitu motor yang memiliki sifat karbon berfungsi sebagai pengubah arus pada kumparan sedemikian rupa sehingga
arah tenaga putaran motor akan selalu sama. 2.
Motor DC tanpa sikat, menggunakan semi konduktor untuk merubah maupum membalik arus sehingga layaknya pulsa yang menggerakkan motor tersebut. Biasa
digunakan pada sistem servo, karena mempunyai efisiensi tinggi, umur pemakaian lama, tingkat kebisingan suara listrik rendah, karena putarannya halus seperti stepper
namun putarannya terus menerus tanpa adanya step. Dalam aplikasinya seringkali sebuah motor digunakan untuk arah yang searah
dengan jarum jam maupun sebaliknya. Untuk mengubah putaran dari sebuah motor dapat dilakukan dengan mengubah arah arus yang mengalir melalui motor tersebut.
Secara sederhana seperti yang ada pada Gambar 2.8, hal ini dapat dilakukan hanya
dengan mengubah polaritas tegangan motor.
Gambar 2.8 Dasar Pengaturan Arah Putar Motor
Agar pengubahan polaritas tegangan motor dapat dilakukan dengan mudah,
maka hal ini dilakukan dengan menggunakan dua buah saklar seperti pada Gambar 2.9
. di mana kedua saklar tersebut harus berada pada posisi yang saling berlawanan. Apabila S1 berada di posisi kiri terhubung dengan positif maka S2 harus berada di
posisi kanan terhubung dengan negatif dan demikian pula sebaliknya dengan perubahan yang serempak.
Gambar 2.9 Pengaturan Arah Dengan Menggunakan Saklar
2.4 IC LM 358