Chapter II PDF
Chapter II PDF
LANDASAN TEORI
2.1
Mikrokontroler, sesuai namanya adalah suatu alat atau komponen pengontrol atau
pengendali yang berukuran mikro atau kecil. Sebelum ada mikrokontroler, telah ada
terlebih dahulu muncul mikroprosesor. Bila dibandingkan dengan mikroprosesor,
mikrokontroler jauh lebih unggul karena terdapat berbagai alasan, diantaranya :
1. Tersedianya I/O
I/O dalam mikrokontroler sudah tersedia sementara pada mikroprosesor
dibutuhkan IC tambahan untuk menangani I/O tersebut. IC I/O yang dimaksud adalah
PPI 8255.
2. Memori Internal
Memori merupakan media untuk menyimpan program dan data sehingga mutlak harus
ada. Mikroprosesor belum memiliki memori internal sehingga memerlukan IC
memori eksternal. Dengan kelebihan-kelebihan di atas, ditambah dengan harganya
yang relatif murah sehingga banyak penggemar elektronika yang kemudian beralih
kemikrokontroler.
Namun
demikian,
meski
memiliki
berbagai
kelemahan,
yaitu ATTiny, AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dan I/O
yang tersedia serta fasilitas lain seperti ADC, EEPROM, dan lain sebagainya. Salah satu
contohnya adalah ATMega 8535. Memiliki teknologi RISC dengan kecepatan maksimal 16
MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS51. Dengan
fasilitas yang lengkap tersebut menjadikan ATMega 8535 sebagai mikrokontroler yang
powerfull. Adapun blok diagramnya sebagai berikut :
Dari gambar tersebut dapat dilihat bahwa ATMega 8535 memiliki bagian
sebagai berikut :
1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D.
2. ADC 10 bit sebanyak 8 saluran.
3. Tiga buah Timer/Counter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. Watchdog Timer dengan osilator internal.
6. SRAM sebesar 512 byte.
7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
8. Unit interupsi internal dan eksternal.
9. Port antarmuka SPI.
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
11. Antarmuka komparator analog..
12. Port USART untuk komunikasi serial.
Kapabilitas detail dari ATMega8535 adalah sebagai berikut :
1. Sistem mikroprosesor 8 bit bebrbasis RISC dengan kecepatan maksimal 16 MHz.
2. Kapabiltas memori flash 8 Kb, SRAM sebesar 512 byte, dan EEPROM (Electrically
Erasable Programmable Read Only Memory) sebesar 512 byte.
3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
2.1.1
pin digunakan untuk keperluan port I/O yang dapat menjadi pin input/output sesuai
konfigurasi. Pada 32 pin tersebut terbagi atas 4 bagian (port), yang masing-masingnya terdiri
atas 8 pin. Pin-pin lainnya digunakan untuk keperluan rangkaian osilator, supply tegangan,
reset, serta tegangan referensi untuk ADC. Untuk lebih jelasnya, konfigurasi pin
ATMega8535 dapat dilihat pada gambar 2.9..
VCC merupakan pin yang berfungsi sebagai pin masukkan catu daya
Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC
Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu
Timer/Counter, Komparator Analog, dan SPI
Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI,
Komparator Analog, dan Timer Oscilator
Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu
Komparator Analog, Interupsi Iksternal dan komunikasi serial USART
XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal (osilator menggunakan
kristal, biasanya dengan frekuensi 11,0592 MHz)
2.1.2
ditambah satu fitur tambahan yaitu EEPROM Memory untuk penyimpan data.
2.1.3
Program Memory
ATMEGA8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk
menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian,
yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk
menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset
atau pertama kali diaktifkan.
Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat
user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan program Boot
Loader. Besarnya memori Boot Flash Section dapat deprogram dari 128 word sampai 1024
word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader
diproteksi, maka program pada Application Flash Section juga sudah aman.
2.1.4
Data Memory
Gambar berikut menunjukkan peta memori SRAM pada ATMEGA8535. Terdapat
608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O
Memory sementara 512 likasi address lainnya digunakan untuk internal data SRAM. Register
file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.
2.1.5
Loaksinya terpisah dengan system address register, data register dan control register yang
dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF.
Adapun konfigurasi dan deskripsi dari pin-pin LCD M1632 antara lain:
1. Pin 1 dihubungkan ke Gnd
2. Pin 2 dihubungkan ke Vcc +5V
3. Pin 3 dihubungkan ke bagian tengan potensiometer 10KOhm sebagai pengatur
kontras.
4. Pin 4 untuk membritahukan LCD bahwa sinyal yang dikirim adalah data, jika Pin 4
ini diset ke logika 1 (high, +5V), atau memberitahukan bahwa sinyal yang dikirim
adalah perintah jika pin ini di set ke logika 0 (low, 0V).
5. Pin 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high, +5V)
maka LCD berfungsi untuk menerima data (membaca data). Dan fungsi untuk
mengeluarkan data, jika pin ini di set ke logika 0 (low, 0V). Namun kebanyakan
aplikasi hanya digunakan untuk menerima data, sehingga pin 5 ini selalu dihubungkan
ke Gnd.
6. Pin 6 adalah terminal enable. Berlogika 1 setiap kali pengiriman atau pembaca data.
7. Pin 7 Pin 14 adalah data 8 bit data bus (Aplikasi ini menggunakan 4 bit MSB saja,
sehingga pin data yang digunkan hanya Pin 11 Pin 14).
8. Pin 15 dan Pin 16 adalah tegangan untuk menyalakan lampu LCD.
Modul LCD M1632 memilki beberapa jenis memori yang digunakan untuk menyimpan
atau memproses data-data yang ditampilkan pada layar LCD. Setiap memori mempunyai
fungsi-fungsi tersendiri
a. DDRAM
DDRAM merupakan memori tempat karakter yang ditampilkan berada. Contohnya karakter
A atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama dan kolom pertama
dari LCD. Apabila karakter tersebut di alamat 40h, karakter tersebut akan tampil pada baris
kedua kolom pertama darai LCD.
b. CGRAM
CGRAM merupakan memori untuk menggambarkan pola seluruh karakter dan bentuk
karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat power
supplay tidak aktif sehingga pola karakter akan hilang.
c. CGROM
Adalah memori untuk menggambarkan pola sebuah karakter dan pola tersebut ditentukan
secara permanen dari HD44780 sehingga pengguna tidak dapat menubah lagi. Oleh karena
ROM bersifat permanen, pola karakter tersebut akan hilang walaupun power supplay tidak
aktif.
2.3
2.3.1
Pendahuluan
C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat
rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang
berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai
kompatibilitas antara platform. Karena itu, amat mudah untuk membuat program pada
berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin, sebab setiap
perintahnya sangat bergantung pada jenis mesin.
Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun
1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk blok.
Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang
ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program
lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI ( American
National Standar Institut) yang dijadikan acuan oleh para pembuat kompiler.
2.3.2
lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program
ke IC mikrokontroler AVR. Sedangkan CodeVisionAVR merupakan
Compiler,
software C-cross
2.3.3
menunjukkan sebuah konstanta, variabel, fungsi, label, atau tipe data khusus. Pemberian
pengenal pada program harus memenuhi syarat-syarat di bawah ini:
1. Karakter pertama tidak menggunakan angka;
2. Karakter kedua berupa huruf, angka, garis bawah,;
3. Tidak menggunakan spasi;
4. Bersifat case sensitive, yaitu huruf kapital dan huruf kecil dianggap berbeda;
5. Tidak boleh menggunakan kata-kata yang merupakan sintaks atau operator dari
bahasa C.
2.3.4
Tipe Data
Pemberian signed dan unsigned pada tipe data menyebabkan jangkauan dari tipe
berubah. Pada unsigned menyebabkan tipe data akan selalu bernilai positif sedangkan signed
menyebabkan nilai tipe data bernilai negatif dan memungkinkan data bernilai positif.
Perbedaan nilai tipe data dapat kita lihat pada tabel di bawah ini,
Persamaan
Jangkauan Nilai
Signed char
Char
Signed int
Int
-2.147.483.648 s/d
2.147.483.647
Unsigned char
Tidak ada
0 s/d 255
Unsigned int
Unsigned
0 s/d 65.535
Unsigned short
0 s/d 65.535
Unsigned long
0 s/d 4.294.967.295
Contoh program yang menunjukkan pengaruh signed dan unsigned pada hasil
program,
#include <mega.8535>
#include <delay.h>
Void main (void)
{
int a, b;
// pengenal
unsigned d, e;
a = 50;
b = 40;
d = 50;
e = 40;
PORTC = 0x00;
DDRC = 0Xff; //set PORTC sebagai output
PORTB = 0x00;
DDRB = 0Xff; // set PORTB sebagai output
While(1)
{
PORTB = a b;
PORTC = d e;
delay_ms(100);
};
}
2.3.5
Statement
Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [
} ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih
dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga
comments / komentar.
2.3.6
Fungsi
Function adalah bagian program yang dapat dipanggil oleh program utama.
Penulisan :
[tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2])
{
[statement] ;
}
2.3.7
pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar maka
akan di jalankan instruksi pada blok-nya, sedangkan jika pernyataan tidak benar maka
instruksi yang pada blok lain yang dijalankan ( sesuai dengan arah programnya).
Contoh:
if ( [pernyaratan] ) {
[statement1];
[statement2];
}
else {
[statement3];
[statement4];
}
b. Pernyataan for
Pernyataan for juga digunakan untuk melakukan pengulangan sebuah pernyataan atau
blok pernyataan, tetapi berapa kali jumah pengulangannya dapat ditentukan secara lebih
spesifik. Bentuk pernyataan for adalah sebagai berikut :
for
Nilai_awal adalah nilai inisial awal sebuah variabel yang didefenisikan terebih dahulu
untuk menentukan niai variabel pertama kali sebelum penguangan.
Kondisi merupakan pernyataan pengetesan untuk mengontrol pengulangan, jika
pernyataan kondisi terpenuhi (benar) maka blok pernyataan akan diulang terus sampai
pernyataan kondisi tidak terpenuhi (salah).
Perubahan adalah pernyataan yang digunakan untuk melakukan perubahan niai
variabel baik naik maupun turun setiap kali pengulangan dilakukan.
c. Pernyataan While
Pernyataan while digunakan untuk menguangi sebuah pernyataan atau blok kenyataan
secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while
adalah sebagai berikut :
while (kondisi)
{
// sebuah pernyataan atau blok pernyataan
}
Pernyataan di atas akan mengeluarkan data a ke port C secara berulang-ulang. Setiap
kali pengulangan nilai a akan bertambah 1 dan setelah niai a mencapai 10 maka pengulangan
selesai.
d. Pernyataan Do While
Pernyataan do while hampir sama dengan pernyataan while, yaitu pernyataan yang
digunakan untuk menguangi sebuah pernyataan atau blok pernyataan secara terus menerus
selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut :
do
{
// sebuah pernyataan atau blok pernyataan
} while (kondisi).
Yang membedakan antara pernyataan while dengan do..while adalah bahwa pada
pernyataan while pengetesan kondisi dilakukan terlebih dahulu, jika kondisi terpenuhi maka
barulah blok pernyataan dikerjakan. Sebaliknya pada pernyataan dowhile blok pernyataan
dikerjakan terebih dahulu setelah itu baru diakukan pengetesan kondisi, jika kondisi terpenuhi
maka dilakukan pengulangan pernyataan atau blok pernyataan lagi. Sehingga dengan
demikian pada pernyataaan do..while blop pernyataan pasti akan dikerjakan minimal satu kali
sedangkan pada pernyataan whilebok pernyataan beum tentu dikerjakan.
e. Pernyataan Switch
Pernyataan switch digunakan untuk melakukan pengambilan keputusan terhadap
banyak kemungkinana. Bentuk pernyataan switch adalah sebagai berikut :
Switch (ekspresi)
{
case nilai_1
case nilai_2
case niai_3
Defaut
}
: pernyataa_1;break;
: pernyataan_2;break;
: pernyataan_3;break;
: pernyataan_default;break;
: PORT=0x00;break;
: PORT=0xFF;break;
Pernyataan di atas berarti membaca port A, kemudian datanya (PINA) akan dicocokan
dengan nilai case. Jika PINA bernilai 0xFE maka data 0x00 akan dikeluarkan ke port C
kemudian program keluar dari pernyataan switch tetapi jika PINA bernilai 0xFD maka data
0xFF akan dikeluarkan ke port C kemudian program keluar dari pernyataan switch.
2.4.1
2.4.3
Nilai Kapasitor
Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode
yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang mudah,
karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya. Sedangkan untuk
kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan. Biasanya kode tersebut
terdiri dari 4 digit, dimana 3 digit pertama merupakan angka dan digit terakhir berupa huruf
yang menyatakan toleransinya. Untuk 3 digit pertama angka yang terakhir berfungsi untuk
menentukan 10n, nilai n dapat dilihat pada tabel dibawah.
Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai kapasitansinya
adalah 47 + 104 = 470.000 pF = 0.47F sedangkan toleransinya 5%. Yang harus diingat
didalam mencari nilai kapasitor adalah satuannya dalam pF (Pico Farad).
2.4.4
Resistor
Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang
mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable
R esistor Dan umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup
kemungkinan untuk dibuat dari material yang lain.
Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan tembaga
perak emas dan bahan metal umumnya memiliki resistansi yang sangat kecil. Bahan
bahan tersebut menghantar arus listrik dengan baik, sehingga dinamakan konduktor.
Kebalikan dari bahan yang konduktif, bahan material seperti karet, gelas, karbon
memiliki resistansi yang lebih besar menahan aliran elektron dan disebut sebagai
insulator seperti ditunjukkan pada gambar 2.5 berikut :
2.5.1
Pendahuluan
Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk
mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35
yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi
oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan
perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai
keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah
dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.
Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan ke
sensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan
ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 A hal ini berarti LM35
mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat
menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 C pada suhu 25 C
2.5.2
Gambar diatas menunjukan bentuk dari LM35 tampak depan dan tampak bawah. 3
pin LM35 menujukan fungsi masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber
tegangan kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau Vout
dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan operasi sensor
LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt. Keluaran sensor ini akan naik
sebesar 10 mV setiap derajat celcius sehingga diperoleh persamaan sebagai berikut :
VLM35 = Suhu* 10 mV
Gambar diatas kanan adalah gambar skematik rangkaian dasar sensor suhu LM35-DZ.
Rangkaian ini sangat sedeCrhana dan praktis. Vout adalah tegangan keluaran sensor yang
terskala linear terhadap suhu terukur, yakni 10 milivolt per 1 derajad celcius. Jadi jika Vout =
530mV, maka suhu terukur adalah 53 derajat Celcius.Dan jika Vout = 320mV, maka suhu
terukur adalah 32 derajad Celcius. Tegangan keluaran ini bisa langsung diumpankan sebagai
masukan ke rangkaian pengkondisi sinyal seperti rangkaian penguat operasional dan
rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan dan rangkaian
Analog-to-Digital Converter.
Rangkaian dasar tersebut cukup untuk sekedar bereksperimen atau untuk aplikasi
yang tidak memerlukan akurasi pengukuran yang sempurna. Akan tetapi tidak untuk aplikasi
yang sesungguhnya. Terbukti dari eksperimen yang telah saya lakukan, tegangan keluaran
sensor belumlah stabil. Pada kondisi suhu yang relatif sama, jika tegangan suplai saya ubahubah (saya naikkan atau turunkan), maka Vout juga ikut berubah. Memang secara logika hal
ini sepertinya benar, tapi untuk instrumentasi hal ini tidaklah diperkenankan. Dibandingkan
dengan tingkat kepresisian, maka tingkat akurasi alat ukur lebih utama karena alat ukur
seyogyanya dapat dijadikan patokan bagi penggunanya. Jika nilainya berubah-ubah untuk
kondisi yang relatif tidak ada perubahan, maka alat ukur yang demikian ini tidak dapat
digunakan.
2.5.3
1. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10
mVolt/C, sehingga dapat dikalibrasi langsung dalam celcius.
2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5C pada suhu 25 C seperti terlihat pada
gambar 2.2.
3. Memiliki jangkauan maksimal operasi suhu antara -55 C sampai +150 C.
4. Bekerja pada tegangan 4 sampai 30 volt.
5. Memiliki arus rendah yaitu kurang dari 60 A.
6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 C pada
udara diam.
7. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.
8. Memiliki ketidaklinieran hanya sekitar C.
Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan.
Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 100C setara dengan 1
volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1C, dapat
dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka
(interface) rangkaian control yang sangat mudah.
IC LM 35 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.
Range +2 C 150 C.
2.5.4
operasional dan rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan
dan rangkaian Analog-to-Digital Converter.
2.5.5
suhu 1 C akan menunjukan tegangan sebesar 10 mV. Pada penempatannya LM35 dapat
ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi suhunya
akan sedikit berkurang sekitar 0,01 C karena terserap pada suhu permukaan tersebut. Dengan
cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh
sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi
atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan
suhu udara disekitarnya .
Jarak yang jauh diperlukan penghubung yang tidak terpengaruh oleh interferensi dari
luar, dengan demikian digunakan kabel selubung yang ditanahkan sehingga dapat bertindak
sebagai suatu antenna penerima dan simpangan didalamnya, juga dapat bertindak sebagai
perata arus yang mengkoreksi pada kasus yang sedemikian, dengan mengunakan metode
bypass kapasitor dari Vin untuk ditanahkan.
Maka dapat disimpulkan prinsip kerja sensor LM35 sebagai berikut:
Suhu lingkungan ini diubah menjadi tegangan listrik oleh rangkaian di dalam IC,
dimana perubahan suhu berbanding lurus dengan perubahan tegangan output.
2.5.6
Kelebihan:
a. Rentang suhu yang jauh, antara -55 sampai +150 oC
b. Low self-heating, sebesar 0.08 oC
c. Beroperasi pada tegangan 4 sampai 30 V
d. Rangkaian tidak rumit
e. Tidak memerlukan pengkondisian sinyal
Kekurangan:
Membutuhkan sumber tegangan untuk beroperasi