BAB II
LANDASAN TEORI
2.1 SENSOR GARIS (TCRT5000)
Sensor garis TCRT5000 menggunakan prinsip pantulan
cahaya inframerah untuk menentukan nilai outputnya. Ketika
pantulan cahaya infrared dinilai kurang atau tidak ada (pada objek
berwarna gelap atau hitam), phototransistor akan dalam kondisi of
dan terminal output dari modul akan memberikan nilai HIGH. Jika
terdapat pantulan cahaya yang dinilai memadai (pada permukaan
terang atau putih) maka intensitas cahaya yang dipantulkan dan
diterima oleh phototransistor akan cukup besar untuk berada dalam
kondisi on dan modul akan memberikan output LOW (indikator led
akan menyala).
Menggunakan sensor infra merah TCRT5000 dengan
LM393 sebagai wide voltage comparator
Jarak deteksi : 1 mm ~ 8 mm, jarak focal 2.5 mm
Tegangan kerja : 3.3V ~ 5V
Output format : Digital Switching Outputs (0 dan 1)
Ukuran 3.2 cm x 1.4 cm
Gambar 2.1 modul sensor garis TCRT5000
5
Modul sensor IR ini biasa digunakan dalam robot line
follower sebagai pendeteksi garis hitam-putih, atau sebagai sensor
halang-rintang dalam robot penghindar halangan untuk jarak sensor
dekat.
2.1.1 Mekanisme Perancangan Sensor Garis
LED superbright berfungsi sebagai pengirim cahaya ke
garis untuk dipantulkan lalu dibaca oleh sensor photodiode. Sifat dari
warna putih (permukaan terang) yang memantulkan cahaya dan
warna hitam (permukaan gelap) yang tidak memantulkan cahaya
digunakan dalam aplikasi ini. Gambar dibawah ini adalah ilustrasi
mekanisme sensor garis.
Gambar 2.2 Ilustrasi mekanisme sensor garis
2.1.2 Prinsip Kerja Sensor
Pada rancangan sensor photodiode dibawah ini, nilai
resistansinya akan berkurang bila terkena cahaya dan bekerja pada
kondisi riverse bias. Untuk pemberi pantulan cahayanya digunakan
LEDsuperbright, komponen ini mempunyai cahaya yang sangat
terang, sehingga cukup untuk mensuplai pantulan cahaya
ke photodiode. Berikut ini prinsip dan gambaran kerja dari
sensorphotodiode.
6
Gambar 2.3 Sensor photodiode tidak terkena cahaya
Saat photodiode tidak terkena cahaya, maka nilai resistansinya akan
besar atau dapat diasumsikan tak hingga. Sehingga tidak ada arus
bocor yang mengalir menuju komparator.
7
Gambar 2.4 Sensor photodiode terkena cahaya
Saat photodiode terkena cahaya, maka photodiode akan bersifat
sebagai sumber tegangan dan nilai resistansinya akan menjadi kecil,
sehingga akan ada arus bocor yang mengalir ke komparator.
8
2.2 MODULE RELAY
Modul relay ini dapat digunakan sebagai switch untuk
menjalankan berbagai peralatan elektronik. Relay adalah Saklar
(Switch) yang dioperasikan secara listrik dan merupakan komponen
Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian
utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat
Kontak Saklar/Switch). Relay menggunakan Prinsip
Elektromagnetik untuk menggerakkan Kontak Saklar sehingga
dengan arus listrik yang kecil (low power) dapat menghantarkan
listrik yang bertegangan lebih tinggi.
Gambar 2.5 modul relay 2 chanel
Pada dasarnya, Relay terdiri dari 4 komponen dasar yaitu:
1. Electromagnet (Coil)
2. Armature
3. Switch Contact Point (Saklar)
4. Spring
9
Berikut ini merupakan gambar dari bagian-bagian Relay :
Gambar 2.6 struktur sederhana relay
Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :
Normally Close (NC) yaitu kondisi awal sebelum diaktifkan
akan selalu berada di posisi CLOSE (tertutup)
Normally Open (NO) yaitu kondisi awal sebelum diaktifkan
akan selalu berada di posisi OPEN (terbuka)
Berdasarkan gambar diatas, sebuah Besi (Iron Core) yang dililit
oleh sebuah kumparan Coil yang berfungsi untuk mengendalikan
Besi tersebut. Apabila Kumparan Coil diberikan arus listrik, maka
akan timbul gaya Elektromagnet yang kemudian menarik Armature
untuk berpindah dari Posisi sebelumnya (NC) ke posisi baru (NO)
sehingga menjadi Saklar yang dapat menghantarkan arus listrik di
posisi barunya (NO). Posisi dimana Armature tersebut berada
sebelumnya (NC) akan menjadi OPEN atau tidak terhubung. Pada
saat tidak dialiri arus listrik, Armature akan kembali lagi ke posisi
Awal (NC). Coil yang digunakan oleh Relay untuk menarik Contact
Poin ke Posisi Close pada umumnya hanya membutuhkan arus listrik
yang relatif kecil.
10
Gambar 2.7 struktur sederhana modul relay 2 chanel
Fungsi-fungsi dan Aplikasi Relay
Beberapa fungsi Relay yang telah umum diaplikasikan kedalam
peralatan Elektronika diantaranya adalah :
1. Relay digunakan untuk menjalankan Fungsi Logika (Logic
Function)
2. Relay digunakan untuk memberikan Fungsi penundaan
waktu (Time Delay Function)
3. Relay digunakan untuk mengendalikan Sirkuit Tegangan
tinggi dengan bantuan dari Signal Tegangan rendah.
4. Ada juga Relay yang berfungsi untuk melindungi Motor
ataupun komponen lainnya dari kelebihan Tegangan
ataupun hubung singkat (Short).
11
2.3 ARDUINO UNO
Arduino UNO adalah sebuah board mikrokontroler yang
didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin
digital input/output (6 di antaranya dapat digunakan sebagai output
PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah
koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat
tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk
menunjang mikrokontroler, mudah menghubungkannya ke sebuah
computer dengan sebuah kabel USB atau mensuplainya dengan
sebuah adaptor AC ke DC atau menggunakan baterai untuk
memulainya.
Gambar 2.8 board arduino uno R3
Arduino Uno berbeda dari semua board Arduino
sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI
USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2
sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke
serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor
yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih
mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board
Arduino UNO memiliki fitur-fitur baru sebagai berikut:
Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan
pin AREF dan dua pin baru lainnya yang diletakkan dekat
dengan pin RESET, IOREF yang memungkinkan shield-
shield untuk menyesuaikan tegangan yang disediakan dari
12
board. Untuk ke depannya, shield akan dijadikan
kompatibel/cocok dengan board yang menggunakan AVR
yang beroperasi dengan tegangan 5V dan dengan Arduino
Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua
ini merupakan sebuah pin yang tak terhubung, yang
disediakan untuk tujuan kedepannya
Sirkit RESET yang lebih kuat
Atmega 16U2 menggantikan 8U2
“Uno” berarti satu dalam bahasa Italia dan dinamai untuk
menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino
UNO dan versi 1.0 akan menjadi referensi untuk versi-versi Arduino
selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board
Arduino USB dan model referensi untuk papan Arduino, untuk suatu
perbandingan dengan versi sebelumnya,
Tabel 2.1 Ringkasan
Mikrokontroler ATmega 328
Tegangan pengoprasian 5V
Tegangan input yang disarankan 7-5V
Batas tegangan input 6-20V
Jumlah pin I/O digital 14 (6 diantaranya menyediakan
keluaran PWM
Jumlah pin analog 6
Arus DC tiap pin I/O 40mA
Arus DC untuk pin 3,3V 50mA
Memori flash 32 KB (ATmega328), sekitar 0,5
KB digunakan oleh bootloader.
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock speed 16 MHz
1. Daya (Power)
Arduino UNO dapat disuplai melalui koneksi USB atau
dengan sebuah power suplai eksternal. Sumber daya dipilih secara
otomatis.
Suplai eksternal (non-USB) dapat diperoleh dari sebuah
adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan
13
mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm
ke power jack dari board. Kabel lead dari sebuah battery dapat
dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari
konektor POWER.
Board Arduino UNO dapat beroperasi pada sebuah suplai
eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil
dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan
board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan
suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan
panas dan membahayakan board Arduino UNO. Range yang
direkomendasikan adalah 7 sampai 12 Volt.
Pin-pin dayanya adalah sebagai berikut:
VIN. Tegangan input ke Arduino board ketika board sedang
menggunakan sumber suplai eksternal (seperti 5 Volt dari
koneksi USB atau sumber tenaga lainnya yang diatur). Kita
dapat menyuplai tegangan melalui pin ini, atau jika
penyuplaian tegangan melalui power jack, aksesnya melalui
pin ini.
5V. Pin output ini merupakan tegangan 5 Volt yang diatur
dari regulator pada board. Board dapat disuplai dengan
salah satu suplai dari DC power jack (7-12V), USB
connector (5V), atau pin VIN dari board (7-12).
Penyuplaian tegangan melalui pin 5V atau 3,3V membypass
regulator, dan dapat membahayakan board. Hal itu tidak
dianjurkan.
3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada
board. Arus maksimum yang dapat dilalui adalah 50 mA.
GND. Pin ground.
2. Memori
ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan
untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1
KB EEPROM (yang dapat dibaca dan ditulis (RW/read and written)
dengan EEPROM library).
14
3. Input dan Output
Setiap 14 pin digital pada Arduino Uno dapat digunakan
sebagai input dan output, menggunakan fungsi pinMode(),
digitalWrite(), dan digitalRead(). Fungsi-fungsi tersebut beroperasi
di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima
suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up
(terputus secara default) 20-50 kOhm. Selain itu, beberapa pin
mempunyai fungsi-fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima
(RX) dan memancarkan (TX) serial data TTL (Transistor-
Transistor Logic). Kedua pin ini dihubungkan ke pin-pin
yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat
dikonfigurasikan untuk dipicu sebuah interrupt (gangguan)
pada sebuah nilai rendah, suatu kenaikan atau penurunan
yang besar, atau suatu perubahan nilai. Lihat fungsi
attachInterrupt() untuk lebih jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM
output dengan fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini
mensupport komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke
pin digital 13. Ketika pin bernilai HIGH LED menyala,
ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0
sampai A5, setiapnya memberikan 10 bit resolusi (contohnya 1024
nilai yang berbeda). Secara default, 6 input analog tersebut
mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin
untuk mengganti batas atas dari rangenya dengan menggunakan pin
AREF dan fungsi analogReference(). Di sisi lain, beberapa pin
mempunyai fungsi spesial:
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport
komunikasi TWI dengan menggunakan Wire library.
15
Ada sepasang pin lainnya pada board:
AREF. Referensi tegangan untuk input analog. Digunakan
dengan analogReference().
Reset. Membawa saluran ini LOW untuk mereset
mikrokontroler. Secara khusus, digunakan untuk
menambahkan sebuah tombol reset untuk melindungi yang
memblock sesuatu pada board.
Lihat juga pemetaan antara pin Arduino dengan port Atmega328.
Pemetaan untuk Atmega8, 168, dan 328 adalah identik.
4. Komunikasi
Arduino UNO mempunyai sejumlah fasilitas untuk
komunikasi dengan sebuah komputer, Arduino lainnya atau
mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi
UART TTL (5V), yang tersedia pada pin digital 0 (RX) dan 1 (TX).
Sebuah Atmega 16U2 pada channel board serial komunikasinya
melalui USB dan muncul sebagai sebuah port virtual ke software
pada komputer. Firmware 16U2 menggunakan driver USB COM
standar, dan tidak ada driver eksternal yang dibutuhkan.
Bagaimanapun, pada Windows, sebuah file inf pasti dibutuhkan.
Software Arduino mencakup sebuah serial monitor yang
memungkinkan data tekstual terkirim ke dan dari board Arduino.
LED RX dan TX pada board akan menyala ketika data sedang
ditransmit melalui chip USB-to-serial dan koneksi USB pada
komputer (tapi tidak untuk komunikasi serial pada pin 0 dan 1).
Sebuah SoftwareSerial library memungkinkan untuk
komunikasi serial pada beberapa pin digital UNO.
Atmega328 juga mensupport komunikasi I2C (TWI) dan
SPI. Software Arduino mencakup sebuah Wire library untuk
memudahkan menggunakan bus I2C, lihat dokumentasi untuk lebih
jelas. Untuk komunikasi SPI, gunakanSPI library.
5. Programming
Arduino UNO dapat diprogram dengan software Arduino
(download). Pilih “Arduino Uno dari menu Tools > Board(termasuk
mikrokontroler pada board). Untuk lebih jelas, lihat referensi dan
tutorial.
16
ATmega328 pada Arduino Uno hadir dengan sebuah
bootloader yang memungkinkan kita untuk mengupload kode baru
ke ATmega328 tanpa menggunakan pemrogram hardware eksternal.
ATmega328 berkomunikasi menggunakan protokol STK500 asli
(referensi, file C header)
Kita juga dapat membypass bootloader dan program
mikrokontroler melalui kepala/header ICSP (In-Circuit Serial
Programming)
Sumber kode firmware ATmega16U2 (atau 8U2 pada board
revisi 1 dan revisi 2) tersedia. ATmega16U2/8U2 diload dengan
sebuah bootloader DFU, yang dapat diaktifkan dengan:
Pada board Revisi 1: Dengan menghubungkan jumper
solder pada belakang board (dekat peta Italy) dan kemudian
mereset 8U2
Pada board Revisi 2 atau setelahnya: Ada sebuah resistor
yang menarik garis HWB 8U2/16U2 ke ground, dengan itu
dapat lebih mudah untuk meletakkan ke dalam mode DFU.
Kita dapat menggunakan software Atmel’s FLIP
(Windows) atau pemrogram DFU (Mac OS X dan Linux)
untuk meload sebuah firmware baru. Atau kita dapat
menggunakan header ISP dengan sebuah pemrogram
eksternal (mengoverwrite bootloader DFU).
6. Reset Otomatis (Software)
Arduino Uno didesain dengan sebuah cara yang
memungkinkannya untuk direset dengan software yang sedang
berjalan pada pada komputer yang sedang terhubung. Salah satu
garis kontrol aliran hardware (DTR) dari ATmega8U2/16U2
sihubungkan ke garis reset dari ATmega328 melalui sebuah
kapasitor 100 nanofarad. Ketika saluran ini dipaksakan (diambil
rendah), garis reset jatuh cukup panjang untuk mereset chip.
Software Arduino menggunakan kemampuan ini untuk
memungkinkan kita untuk mengupload kode dengan mudah
menekan tombol upload di software Arduino. Ini berarti bahwa
bootloader dapat mempunyai sebuah batas waktu yang lebih singkat,
sebagai penurunan dari DTR yang dapat menjadi koordinasi yang
baik dengan memulai penguploadan.
17
Pengaturan ini mempunyai implikasi. Ketika Arduino Uno
dihubungkan ke sebuah komputer lain yang sedang running
menggunakan OS Mac X atau Linux, Arduino Uno mereset setiap
kali sebuah koneksi dibuat dari software (melalui USB). Untuk
berikutnya, setengah-detik atau lebih, bootloader sedang berjalan
pada Arduino UNO. Ketika Arduino UNO diprogram untuk
mengabaikan data yang cacat/salah (contohnya apa saja selain
sebuah penguploadan kode baru) untuk menahan beberapa bit
pertama dari data yang dikirim ke board setelah sebuah koneksi
dibuka. Jika sebuah sketch sedang berjalan pada board menerima
satu kali konfigurasi atau data lain ketika sketch pertama mulai,
memastikan bahwa software yang berkomunikasi menunggu satu
detik setelah membuka koneksi dan sebelum mengirim data ini.
Arduino Uno berisikan sebuah jejak yang dapat dihapus
untuk mencegah reset otomatis. Pad pada salah satu sisi dari jejak
dapat disolder bersama untuk mengaktifkan kembali. Pad itu diberi
label “RESET-RN” Kita juga dapat menonaktifkan reset otomatis
dengan menghubungkan sebuah resistor 110 ohm dari tegangan 5V
ke garis reset
7. Proteksi Aruslebih USB
Arduino UNO mempunyai sebuah sebuah sekring reset
yang memproteksi port USB komputer dari hubungan pendek dan
arus lebih. Walaupun sebagian besar komputer menyediakan proteksi
internal sendiri, sekring menyediakan sebuah proteksi tambahan.
Jika lebih dari 500 mA diterima port USB, sekring secara otomatis
akan memutuskan koneksi sampai hubungan pendek atau kelebihan
beban hilang.
8. Karakteristik FIsik
Panjang dan lebar maksimum dari PCB Arduino UNO
masing-masingnya adalah 2.7 dan 2.1 inci, dengan konektor USB
dan power jack yang memperluas dimensinya. Empat lubang sekrup
memungkinkan board untuk dipasangkan ke sebuah permukaan atau
kotak. Sebagai catatan, bahwa jarak antara pin digital 7 dan 8 adalah
160 mil. (0.16"), bukan sebuah kelipatan genap dari jarak 100 mil
dari pin lainnya.
18