bab ii landasan teori - Perpustakaan Universitas Mercu Buana

advertisement
BAB II
LANDASAN TEORI
2.1. MIKROKONTROLER
2.1.1. Definisi Mikrokontroler
Perkembangan lebih lanjut dari teknologi IC adalah mikrokontroler,
dimana teknologi ini menggabungkan memori I/O dan prossesor dalam satu chip
tunggal berupa silikon yang bersifat dapat deprogram (programmable).
Mikrokontroler adalah suatu keping IC dimana terdapat mikroprosesor dan
memori program (ROM) serta memori serbaguna (RAM), bahkan ada
beberapa jenis mikrokontroler yang memiliki fasilitas ADC, TLL, EEPROM
dalam satu kemasan.
Ada perbedaan yang cukup penting antara Mikroprosesor dan
Mikrokontroler. Jika Mikroprosesor merupakan CPU (Central Processing Unit)
tanpa memori dan I/O pendukung dari sebuah komputer, maka Mikrokontroler
umumnya terdiri dari CPU, Memori, I/O tertentu dan unit pendukung, misalnya
Analog to Digital Converter (ADC) yang sudah terintegrasi di dalam
mikrokontroler tersebut. Dengan kata lain, mikrokontroler adalah versi mini atau
mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa
periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial,
komparator, konversi digital ke analog (DAC), konversi analog ke digital dan
sebagainya hanya menggunakan sistem minimum yang tidak rumit atau
kompleks.
Mikrokontroler dimanfaatkan sebagai otak dari sistem kontrol dan
banyak digunakan dalam industri karena keunggulannya, antara lain :
6
http://digilib.mercubuana.ac.id/
7
a) Ukuran fisik yang relatif kecil.
b) Kecepatan pengoperasiannya tinggi.
c) Keandalan dalam mempermudah otomatisasi peralatan.
d) Kemampuan dan fleksibilitasnya lebih baik.
Dengan keunggulan
tersebut
menyebabkan
mikrokontroler dapat
diaplikasikan secara luas untuk pemrograman dalam suatu sistem pengontrolan.
2.1.2. Arduino Uno R3
Gambar 2.1 Arduino Board
Berasal dari bahasa italia ardui = sulit dan no = tidak. Arduino adalah
platform prototyping berbasis open-source elektronik yang mudah digunakan
(fleksibel) baik dari perangkat keras (hardware) maupun perangkat lunaknya
(software). Hardwarenya memiliki prosesor Atmel AVR ATmega328. Arduino
mempunyai input yang dapat menerima dari berbagai sensor dan outputnya
sebagai pengendali seperti lampu, motor, dan aktuator lainnya. Arduino board
mikrokontroler
diprogram
menggunakan
http://digilib.mercubuana.ac.id/
bahasa
pemrograman
Arduino
8
(berdasarkan Wiring) berbasis bahasa C yang disederhanakan dengan bantuan
pustaka - pustaka (libraries) dan dalam lingkup pengembang berdasarkan
Processing. Arduino dapat bekerja mandiri atau dapat juga berkomunikasi
dengan perangkat keras yang lain seperti komputer. Berikut adalah beberapa
kelebihan dari Arduino :
 Hardware dan Softwarenya Open Source
Dari sini kita bisa membuat tiruan board yang kompatibel dengan board
Arduino tanpa harus membeli board asli buatan Itali dan kita juga tidak akan
dianggap membajak selama kita tidak menggunakan trademark “Arduino”.
 Fasilitas chip yang cukup lengkap
Arduino menggunakan chip AVR ATmega 168/328 yang memiliki fasilitas PWM,
komunikasi serial, ADC, timer, interupt, SPI dan I2C. Dengan fasilitas chip
yang demikian, Arduino bisa digabungkan dengan modul atau alat lain
walaupun protokol yang digunakan berbeda-beda.
 Proses Upload tidak memerlukan chip programmer
Chip pada Arduino sudah dilengkapi dengan bootloader yang akan menangani proses
upload dari komputer. Dengan begitu kita tidak memerlukan chip programmer
kecuali untuk menanamkan bootloader pada chip yang masih blank.
 Ukuran board kecil
Ukuran board Arduino yang kecil ini mudah di bawah kemana-mana atau
dimasukan ke dalam saku atau tas yang kecil.
 Koneksi menggunakan Port USB
Ini akan memudahkan kita jika menghubungkan Arduino ke PC atau laptop
yang tidak memiliki port serial/paralel.
http://digilib.mercubuana.ac.id/
9
 Bahasa pemrograman yang mudah
Bahasa pemrograman Arduino adalah bahasa C yang sudah dipermudah
menggunakan fungsi-fungsi yang sederhana sehingga dapat dipelajari dengan
mudah.

Library gratis
Library-library ini dapat di download gratis di website Arduino.

Pengembangan aplikasi lebih mudah
Pengembangan aplikasi ini menjadi lebih mudah karena didukung oleh bahasa
yang mudah dipelajari serta adanya library dasar yang lengkap.

Komunitas open source yang saling mendukung
Pengembangan hardware dan software Arduino didukung oleh komunitas
pencinta elektronika dan pemrograman di seluruh dunia. Tidak usah malu
untuk bergabung (terkhusus bagi pemula), karena dalam komunitas ini kita
akan saling berbagi dan membantu satu sama lain.
2.1.3. Komponen Arduino
Gambar 2.2 Komponen Arduino
http://digilib.mercubuana.ac.id/
10
a) Daya
Arduino uno dapat diaktifkan melalui koneksi USB atau dengan catu daya
eksternal (otomatis). Eksternal (non-USB) daya dapat berasal baik dari AC-ke
adaptor-DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan
plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari
baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor
POWER. Kisaran kebutuhan daya yang disarankan untuk board Uno adalah 7
sampai dengan 12 volt, jika diberi daya kurang dari 7 volt kemungkinan pin
5v Uno dapat beroperasi tetapi tidak stabil kemudian jika diberi daya lebih
dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno.
b) Memori
ATmega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk bootloader), 2
KB dari SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan
EEPROM library).
Gambar 2.3
Diagram Pin ATMega 328 dan Fungsinya Pada Board Arduino
http://digilib.mercubuana.ac.id/
11
c) Input dan Output
Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau
output, dengan menggunakan fungsi pinMode (), digitalWrite (),dan
digitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan
atau menerima maksimum 40 mA dan memiliki internal pull-up resistor
(secara default terputus) dari 20-50 kOhm. Selain itu, beberapa pin memiliki
fungsi khusus:

Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan
mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang
berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.

Eksternal interrupts: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu
interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun,atau
perubahan nilai.

PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan
fungsi analogWrite ().

SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung
komunikasi SPI menggunakan SPI library.

LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin
bernilai nilai HIGH, LED on, ketika pin bernilai LOW, LED off.
Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang
masing masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang
berbeda). Selain itu, beberapa pin memiliki fungsi khusus:

I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi
menggunakan perpustakaan Wire.
http://digilib.mercubuana.ac.id/
12

Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog.
Digunakan dengan fungsi analog Reference ().

Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.
d) Komunikasi
Arduino uno memiliki sejumlah fasilitas untuk berkomunikasi dengan
komputer,
Arduino
lain,
atau
mikrokontroler
lainnya.
ATmega328
menyediakan UART TTL (5V) untuk komunika siserial, yang tersedia dipin
digital 0 (RX) dan 1 (TX). Sebuah ATmega8U2 sebagai saluran komunikasi
serial melalui USB dan sebagai port virtual com untuk perangkat lunak pada
komputer. Firmware ‟8 U2 menggunakan driver USB standar COM, dan tidak
ada driver eksternal yang diperlukan. Namun pada Windows diperlukan,
sebuah file inf. Perangkat lunak Arduino terdapat monitor serial yang
memungkinkan digunakan memonitor data tekstual sederhana yang akan
dikirim ke atau dari boardArduino. LED RX dan TX di papan tulis akan
berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan
koneksi USB kekomputer (tetapi tidak untuk komunikasi serial pada pin 0 dan
1).ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI.
e) Pemrograman
Arduino memiliki bahasa pemrograman tersendiri yaitu bahasa arduino,
merupakan pengembangan dari bahasa C yang disederhanakan dan
dipermudah dengan libraries. Untuk mengcompile dan mengupload program
ke board arduino dapat menggunakan software Arduino IDE ( Integrated
Development Environment ).
http://digilib.mercubuana.ac.id/
13
Gambar 2.4
Tampilan Software Arduino IDE
2.2. LCD (LIQUID CRISTAL DISPLAY)
Lcd adalah suatu layar, bagian dari modul peraga yang menampilkan
karakter yang diinginkan. Layar lcd menggunakan dua buah lembaran bahan
yang dapat mempolarisasikan dan Kristal cair diantara kedua lembaran tersebut.
http://digilib.mercubuana.ac.id/
14
Arus listrik yang melewati cairan menyebabkan Kristal merata sehingga cahaya
tidak dapat melalui setiap Kristal, karenanya seperti pengaturan cahaya
menentukan apakah cahaya dapat melewati atau tidak. Sehingga dapat mengubah
bentuk Kristal cairannya membentuk tampilan angka atau huruf pada layar.
Kegunaan lcd banyak sekali dalam perancangan suatu sistem dengan menggunakan
mikrokontroler. Lcd dapat berfungsi untuk menampilkan suatu nilai hasil skor,
menampilkan tweks, atau menampilkan menu pada aplikasi mikrokontroler. Pada
alat ini ukuran tipe lcd yang digunakan adalah lcd 2 x 16 seperti gambar dibawah
ini.
Gambar 2.5 LCD 16x2 Character
Klasifikasi LED Display 16x2 Character
a. 16 karakter x 2 baris
b. 5x7 titik Matrix karakter + kursor
c. HD44780 Equivalent LCD kontroller/driver Built-In
d. 4-bit atau 8-bit MPU Interface
e. Tipe standar
f. Bekerja hampir dengan semua Mikrokontroler.
http://digilib.mercubuana.ac.id/
15
2.2.1. Deskripsi Pin LCD
Untuk keperluan antar muka suatu komponen elektronika dengan
mikrokontroler, perlu diketahui fungsi dari setiap kaki yang ada pada komponen
tersebut.
a. Kaki 1 (GND) : Kaki ini berhubungan dengan tegangan +5 Volt yang
merupakan tegangan untuk sumber daya.
b. Kaki 2 (VCC) : Kaki ini berhubungan dengan tegangan 0 volt (Ground).
c. Kaki 3 (VEE/VLCD) : Tegangan pengatur kontras LCD, kaki ini terhubung
pada cermet. Kontras mencapai nilai maksimum pada saat kondisi kaki ini
pada tegangan 0 volt.
d. Kaki 4 (RS) : Register Select, kaki pemilih register yang akan diakses. Untuk
akses ke Register Data, logika dari kaki ini adalah 1 dan untuk akses ke
Register Perintah, logika dari kaki ini adalah 0.
e. Kaki 5 (R/W) : Logika 1 pada kaki ini menunjukan bahwa modul LCD sedang
pada mode pembacaan dan logika 0 menunjukan bahwa modul LCD sedang
pada mode penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data
pada modul LCD, kaki ini dapat dihubungkan langsung ke Ground.
f. Kaki 6 (E) : Enable Clock LCD, kaki mengaktifkan clock LCD. Logika 1 pada
kaki ini diberikan pada saat penulisan atau membacaan data.
g. Kaki 7 – 14 (D0 – D7) : Data bus, kedelapan kaki LCD ini adalah bagian di
mana aliran data sebanyak 4 bit ataupun 8 bit mengalir saat proses penulisan
maupun pembacaan data.
http://digilib.mercubuana.ac.id/
16
h. Kaki 15 (Anoda) : Berfungsi untuk tegangan positif dari backlight LCD sekitar
4,5 volt (hanya terdapat untuk LCD yang memiliki backlight)
i. Kaki 16 (Katoda) : Tegangan negatif backlight LCD sebesar 0 volt (hanya
terdapat pada LCD yang memiliki backlight).
2.3. KEYPAD
Keypad sering digunakan sebagi suatu input pada beberapa peralatan
yang berbasis mikroprosessor atau mikrokontroller. Keypad terdiri dari sejumlah
saklar, yang terhubung sebagai baris dan kolom dengan susuan seperti yang
ditunjukkan pada gambar 2.6. Agar mikrokontroller dapat melakukan scan
keypad, maka port mengeluarkan salah satu bit dari 4 bit yang terhubung pada
kolom dengan logika low “0” dan selanjutnya membaca 3 bit pada baris untuk
menguji jika ada tombol yang ditekan pada kolom tersebut. Sebagai konsekuensi,
selama tidak ada tombol yang ditekan, maka mikrokontroller akan melihat
sebagai logika high “1” pada setiap pin yang terhubung ke baris.
Gambar 2.6 Bentuk Fisik Keypad
http://digilib.mercubuana.ac.id/
17
2.4. MOTOR SERVO
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang
dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga
dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari
poros output motor. Motor servo merupakan perangkat yang terdiri dari motor
DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear
yang melekat pada poros motor DC akan memperlambat putaran poros dan
meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan
resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran
poros motor servo.
Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk
mengontrol gerakan dan posisi akhir dari poros motor servo. Penjelasan
sederhananya begini, posisi poros output akan di sensor untuk mengetahui posisi
poros sudah tepat seperti yang di inginkan atau belum, dan jika belum, maka
kontrol input akan mengirim sinyal kendali untuk membuat posisi poros tersebut
tepat pada posisi yang diinginkan. Untuk lebih jelasnya mengenai sistem kontrol
loop tertutup, perhatikan contoh sederhana beberapa aplikasi lain dari sistem
kontrol loop tertutup, seperti penyetelan suhu pada AC, kulkas, setrika dan lain
sebagainya.
Gambar 2.7 Motor Servo
http://digilib.mercubuana.ac.id/
18
Motor servo biasa digunakan dalam aplikasi-aplikasi di industri, selain itu
juga digunakan dalam berbagai aplikasi lain seperti pada mobil mainan radio
kontrol, robot, pesawat, dan lain sebagainya.
2.4.1. Prinsip kerja motor servo
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar
pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal
kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor
servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan
memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5
ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah
jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka
poros motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum
jam). Lebih jelasnya perhatikan gambar dibawah ini.
Gambar 2.8 PWM Kontrol Motor Servo
Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan
bergerak atau berputar ke posisi yang telah diperintahkan, dan berhenti pada
posisi tersebut dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan
http://digilib.mercubuana.ac.id/
19
eksternal yang mencoba memutar atau mengubah posisi tersebut, maka motor
servo akan mencoba menahan atau melawan dengan besarnya kekuatan torsi
yang dimilikinya (rating torsi servo). Namun motor servo tidak akan
mempertahankan posisinya untuk selamanya, sinyal lebar pulsa kendali harus
diulang setiap 20 ms (mili detik) untuk menginstruksikan agar posisi poros motor
servo tetap bertahan pada posisinya.
2.5. SENSOR OPTOCOUPLER
Optocoupler adalah suatu piranti yang terdiri dari 2 bagian yaitu
transmitter dan receiver, yaitu antara bagian cahaya dengan bagian deteksi
sumber cahaya terpisah. Biasanya optocoupler digunakan sebagai saklar elektrik,
yang bekerja secara otomatis.
Pada dasarnya optocoupler adalah suatu komponen penghubung
(coupling) yang bekerja berdasarkan picu cahaya optic. Optocoupler terdiri dari
dua bagian yaitu:
1. Pada transmitter dibangun dari sebuah LED infra merah. Jika dibandingkan
dengan menggunakan LED biasa, LED infra merah memiliki ketahanan yang
lebih baik terhadap sinyal tampak. Cahaya yang dipancarkan oleh LED infra
merah tidak terlihat oleh mata telanjang.
2. Pada bagian receiver dibangun dengan dasar komponen photodiode.
Photodiode merupakan suatu transistor yang peka terhadap tenaga cahaya.
Suatu sumber cahaya menghasilkan energi panas, begitu pula dengan
spektrum infra merah. Karena spekrum inframerah mempunyai efek panas
yang lebih besar dari cahaya tampak, maka photodiode lebih peka untuk
menangkap radiasi dari sinar infra merah.
Oleh karena itu optocoupler dapat dikatakan sebagai gabungan dari LED
infra merah dengan fototransistor yang terbungkus menjadi satu chips. Cahaya
http://digilib.mercubuana.ac.id/
20
infra merah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh
mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang
gelombang, berkas cahaya yang terlalu panjang bagi tanggapan mata manusia.
Sinar infra merah mempunyai daerah frekuensi 1 x 1012 Hz sampai dengan 1 x
1014 GHz atau daerah frekuensi dengan panjang gelombang 1μm – 1mm.
LED
infra
merah
ini
merupakan
komponen
elektronika
yang
memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Jika diberi
bias maju, LED infra merah yang terdapat pada optocoupler akan mengeluarkan
panjang gelombang sekitar 0,9 mikrometer.
Proses terjadinya pancaran cahaya pada LED infra merah dalam
optocoupler adalah sebagai berikut. Saat dioda menghantarkan arus, elektron
lepas dari ikatannya karena memerlukan tenaga dari catu daya listrik. Setelah
elektron lepas, banyak elektron yang bergabung dengan lubang yang ada di
sekitarnya (memasuki lubang lain yang kosong). Pada saat masuk lubang yang
lain, elektron melepaskan tenaga yang akan diradiasikan dalam bentuk cahaya,
sehingga dioda akan menyala atau memancarkan cahaya pada saat dilewati arus.
Cahaya infra merah yang terdapat pada optocoupler tidak perlu lensa untuk
memfokuskan cahaya karena dalam satu chip mempunyai jarak yang dekat
dengan penerimanya. Pada optocoupler yang bertugas sebagai penerima cahaya
infra merah adalah fototransistor. Fototransistor merupakan komponen
elektronika yang berfungsi sebagai detektor cahaya infra merah. Detektor cahaya
ini mengubah efek cahaya menjadi sinyal listrik, oleh sebab itu fototransistor
termasuk dalam golongan detektor optik.
Fototransistor memiliki sambungan kolektor–basis yang besar dengan
cahaya infra merah, karena cahaya ini dapat membangkitkan pasangan lubang
elektron. Dengan diberi bias maju, cahaya yang masuk akan menimbulkan arus
pada kolektor.
http://digilib.mercubuana.ac.id/
21
Fototransistor memiliki bahan utama yaitu germanium atau silikon yang
sama dengan bahan pembuat transistor. Tipe fototransistor juga sama dengan
transistor pada umumnya yaitu PNP dan NPN. Perbedaan transistor dengan
fototransistor hanya terletak pada dindingnya yang memungkinkan cahaya infra
merah mengaktifkan daerah basis, sedangkan transistor biasa ditempatkan pada
dinding logam yang tertutup.
Gambar 2.9 Bentuk Fisik Optocoupler
Ditinjau
dari
penggunaanya,
fisik
optocoupler
dapat
berbentuk
bermacam-macam. Bila hanya digunakan untuk mengisolasi level tegangan atau
data pada sisi transmitter dan sisi receiver, maka optocoupler ini biasanya dibuat
dalam bentuk solid (tidak ada ruang antara LED dan Photodiode). Sehingga
sinyal listrik yang ada pada input dan output akan terisolasi. Dengan kata lain
optocoupler ini digunakan sebagai optoisolator jenis IC.
Prinsip kerja dari optocoupler adalah :
a. Jika antara photodiode dan LED terhalang maka photodiode tersebut akan off
sehingga output dari kolektor akan berlogika high.
b. Sebaliknya jika antara photodiode dan LED tidak terhalang maka photodiode
dan LED tidak terhalang maka photodiode tersebut akan on sehingga
outputnya akan berlogika low.
http://digilib.mercubuana.ac.id/
22
Sebagai piranti elektronika yang berfungsi sebagai pemisah antara
rangkaian power dengan rangkaian kontrol. Komponen ini merupakan salah satu
jenis komponen yang memanfaatkan sinar sebagai pemicu on/off-nya. Opto
berarti optic dan coupler berarti pemicu. Sehingga bisa diartikan bahwa
optocoupler merupakan suatu komponen yang bekerja berdasarkan picu cahaya
optic opto-coupler termasuk dalam sensor, dimana terdiri dari dua bagian yaitu
transmitter dan receiver. Dasar rangkaian dapat ditunjukkan seperti pada gambar
dibawah ini:
Gambar 2.10 Rangkaian Optocoupler
Sebagai pemancar atau transmitter dibangun dari sebuah led infra merah
untuk mendapatkan ketahanan yang lebih baik daripada menggunakan led biasa.
Sensor ini bisa digunakan sebagai isolator dari rangkaian tegangan rendah ke
rangkaian tegangan tinggi. Selain itu juga bisa dipakai sebagai pendeteksi adanya
penghalang antara transmitter dan receiver dengan memberi ruang uji dibagian
tengah antara led dengan phototransistor. Penggunaan ini bisa diterapkan untuk
mendeteksi putaran motor atau mendeteksi lubang penanda disket pada disk drive
komputer. Tapi pada alat yang penulis buat optocoupler untuk mendeteksi
jumlah benih ikan.
http://digilib.mercubuana.ac.id/
Download