bab ii landasan teori - Perpustakaan Universitas Mercu Buana

advertisement
5|Page
BAB II
LANDASAN TEORI
2.1.
Mikrokontroller
Mikrokontroler adalah suatu terobosan dalam teknologi mikroprosesor dan
mikrokomputer.bedanya, mikrokontroler hanya bisa digunakan untuk menangani
suatu aplikasi tertentu. Perbedaan lain terletak pada perbandingan RAM dan
ROM. Komputer mempunyai RAM dan ROM yang besar, tetapi pada
mikrokontroler sangat terbatas. ROM digunakan oleh mikrokontroller untuk
menyimpan program sedangkan RAM digunakan untuk menyimpan data
sementara.Mikrokontroller terdiri dari ALU (Arithmetic and Logical Unit),CU
(Control Unit),PC (Program Counter),SP (Stack Pointer), register-register,sebuah
rangkaian pewaktu dan rangkaian penyela (interrupt).Mikrokontroler juga
dilengkapi dengan beberapa piranti pendukung lainseperti ROM (Read Only
Memory),RAM
(Random
Access
Memory),
dekoder,
port
komunikasi
input/output serial dan atau pararel, juga beberapa tambahan khusus seperti
interrupt handler dan timer/ counter.
AVR merupakan seri mikrokontroller CMOS 8-bit buatan Atmel,
berbasis arsitektur RISC (Reduced Instruction Set Computer).
6|Page
Gambar 2.1. Konfigurasi pin ATmega328
Hampir
semua
instruksi dieksekusi dalam satu siklus clock. AVR
mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode
compare, interupt internal dan eksternal,serial UART, programmable Watchdog
Timer, dan mode power saving. Beberapa diantaranya mempunyai ADC dan
PWM internal.AVR juga mempunyai In-System Programmable Flash on-chip
yang mengijinkan memori program untuk diprogram ulang
dalam
sistem
menggunakan hubungan serial SPI. Chip AVR yang digunakan untuk tugas akhir
ini adalah ATmega328.
7|Page
Gambar 2.2. Blok Diagram Mikrokontroller ATmega328
2.2.
Arduino Board ATmega 328
Dalam beberapa tahun terakhir, mikrokontroler telah menjadi lebih murah
dan lebih mudah digunakan, hal ini memungkinkan terciptanya alat yang lebih
baik. Arduino adalah sebuah trobosan baru dalam dunia elektronika, khususnya
mikrokontroller. Kemajuan yang dibuat dengan Arduino membawa alat ini satu
langkah lebih dekat bagi pemula, memungkinkan orang untuk memulai sebuah
8|Page
perancangan sistem control dengan lebih mudah menggunakan Arduino. Arduino
adalah sebuah kit elektronik yang dirancang khusus untuk memudahkan setiap
orang dalam belajar atau mengembangkan perangkat elektronik yang dapat
berinteraksi dengan bermacam-macam sensor dan pengendali. Saat ini Arduino
sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal robotika
dan elektronika lewat Arduino karena mudah dipelajari. Bahasa yang dipakai
dalam Arduino adalah bahasa C yang disederhanakan dengan bantuan librarylibrary Arduino.
Gambar 2.3. Arduino Duemilanove
Gambar diatas merupakan salah satu gambar dari versi Arduino, yaitu
Arduino Duemilanove. Arduino Duemilanove ("2009") adalah board
berbasis mikrokontroler ATmega168 atau ATmega328. Ia memiliki 14 digital
input / output pin (dimana 6 dapat digunakan sebagai output PWM), 6 input
9|Page
analog, 16 MHz osilator kristal, koneksi USB, jack listrik, ICSP header, dan
tombol reset. Ini berisi semua yang diperlukan untuk mendukung mikrokontroler,
hanya terhubung ke komputer dengan kabel USB atau listrik dengan adaptor ACDC atau baterai untuk memulai. Duemilanove dibangun tahun 2009 di Italia dan
diberi nama setelah tahun peluncurannya.
2.2.1. Power
Arduino Duemilanove dapat diaktifkan melalui koneksi USB atau
dengan catu daya eksternal. Sumber daya dipilih secara otomatis.
Eksternal (non-USB) listrik dapat berasal baik dari AC-DC adaptor atau
baterai. Board ini dapat beroperasi pada pasokan eksternal dari 6 sampai
20 volt. Jika diberikan dengan kurang dari 7V, bagaimanapun, pin 5V
dapat menyediakan kurang dari lima volt dan board mungkin tidak stabil.
Jika menggunakan lebih dari 12V, regulator tegangan dapat terlalu panas
dan merusak board. Kisaran yang direkomendasikan adalah 7 sampai 12
volt.
Fungsi dari masing-masing pin power adalah sebagai berikut :
 VIN : Tegangan input ke papan Arduino ketika itu menggunakan
sumber daya eksternal (sebagai lawan 5 volt dari koneksi USB
atau sumber daya dari luar lainnya).
 5V: Catu daya digunakan untuk daya mikrokontroler dan
komponen lain pada board. Hal ini dapat berasal baik dari VIN
10 | P a g e
melalui on-board regulator, atau diberikan oleh USB atau power
suplay 5V lainnya.
 3v3 : Sebuah pasokan 3,3 volt yang dihasilkan oleh chip FTDI
on-board. Menarik arus maksimum 50 mA.
 GND.
2.2.2. Memori :
ATmega168 memiliki 16 KB dari memori flash untuk menyimpan
kode (2 KB digunakan untuk bootloader); ATmega328 memiliki 32 KB,
(juga dengan 2 KB digunakan untuk bootloader). ATmega168 memiliki 1
KB dari SRAM dan 512 byte EEPROM (yang dapat dibaca dan ditulis
dengan EEPROM library); ATmega328 memiliki 2 KB SRAM dan 1 KB
EEPROM.
2.2.3. Input dan output :
Setiap 14 pin digital pada Duemilanove dapat digunakan sebagai
input atau output, menggunakan fungsi pinMode , digitalWrite , dan
digitalRead. Mereka beroperasi di 5 volt. Setiap pin dapat memberikan
atau menerima maksimum 40 mA dan memiliki resistor internal pull-up
20-50 kΩ. 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 terhubung ke pin yang
sesuai dari FTDI USB-to- TTL Serial chip.
11 | P a g e
 Interupsi Eksternal 2 dan 3 : Pin ini dapat dikonfigurasi untuk
memicu interupsi pada nilai yang rendah.
 PWM: 3, 5, 6, 9, 10, dan 11 : Menyediakan 8-bit output PWM
dengan fungsi. analogWrite.
 SPI: 10 (SS), 11 (mosi), 12 (MISO), 13 (SCK) : Pin ini
mendukung komunikasi SPI menggunakan SPI library.
 LED: 13 : Disini membangun LED terhubung ke digital pin 13.
Ketika pin bernilai TINGGI, LED menyala, ketika pin
RENDAH,LED dimatikan.
Duemilanove memiliki 6 input analog, masing-masing yang
menyediakan 10 bit dari resolusi (yaitu 1024 nilai yang berbeda). Secara
default mereka mengukur dari tanah sampai 5 volt, meskipun adalah
mungkin untuk mengubah batas atas dari jangkauan mereka menggunakan
pin Aref dan fungsi analogReference.
Ada beberapa pin lainnya didalam board ini :
 Aref : Tegangan referensi untuk input analog. Digunakan dengan
analogReference.
 Reset : Bawa baris ini RENDAH untuk me-reset mikrokontroler.
Biasanya digunakan untuk menambahkan tombol reset untuk perisai yang
menahan salah satu pada board.
12 | P a g e
2.2.4. Komunikasi
Arduino
Duemilanove
memiliki
sejumlah
fasilitas
untuk
berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler
lainnya. Pada ATmega328 menyediakan (5V) komunikasi serial, yang
tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah FTDI FT232RL pada
saluran komunikasi serial board ini melalui USB dan driver FTDI
(disertakan dengan perangkat lunak Arduino) menyediakan port com
virtual untuk perangkat lunak pada komputer. Perangkat lunak Arduino
termasuk monitor serial yang memungkinkan data tekstual sederhana yang
harus dikirim ke dan dari board Arduino. RX dan TX LED pada board
arduino akan berkedip ketika data sedang dikirim melalui chip FTDI dan
koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0
dan 1). Sebuah perpustakaan Software Serial memungkinkan untuk
komunikasi serial pada setiap pin digital Duemilanove itu.ATmega168 dan
ATmega328 juga mendukung I2C (TWI) dan SPI komunikasi.
2.2.5.
Pemrograman :
Duemilanove Arduino dapat diprogram dengan perangkat lunak
Arduino (download). Pilih "Arduino Diecimila atau Duemilanove w atau
ATmega168" atau "Arduino Duemilanove w atau ATmega328" dari
Tools> menu board sesuai dengan mikrokontroler pada board sesuai tipe
arduino yang dipakai.ATmega168 atau ATmega328 pada Duemilanove
Arduino dilengkapi dengan bootloader yang memungkinkan Anda untuk
13 | P a g e
meng-upload kode baru tanpa menggunakan programmer hardware
eksternal. Ini berkomunikasi menggunakan protokol STK500 asli.
2.2.6. Perangkat Lunak (Software Reset)
Duemilanove Arduino dirancang dengan cara yang memungkinkan
untuk diatur ulang oleh perangkat lunak yang berjalan pada komputer yang
terhubung. Salah satu perangkat keras flow kontrol (DTR) dari FT232RL
terhubung ke line reset dari ATmega168 atau ATmega328 melalui
kapasitor 100 nanofarad. Perangkat lunak Arduino memungkinkan kita
untuk meng-upload kode dengan hanya menekan tombol upload pada
menu promt pada programmer Arduino. Ini berarti bahwa bootloader dapat
memiliki waktu lebih pendek, seperti penurunan DTR dapat terkoordinasi
dengan baik dengan dimulainya upload.
Pengaturan ini memiliki implikasi lain. Ketika Duemilanove
terhubung ke salah satu komputer yang menjalankan Mac OS X atau
Linux, setiap kali me-reset sambungan dibuat untuk perangkat lunak ini
(melalui USB). Untuk ini setengah detik atau lebih, bootloader berjalan
pada Duemilanove tersebut. Sementara itu diprogram untuk mengabaikan
data, itu akan mencegah beberapa byte pertama dari data yang dikirim ke
board arduino.
14 | P a g e
2.2.7. USB Perlindungan
Duemilanove Arduino memiliki polyfuse reset yang melindungi
port USB komputer Anda dari hubung singkat dan arus lebih. Meskipun
kebanyakan komputer memberikan perlindungan internal mereka sendiri,
sekering memberikan perlindungan tambahan. Jika lebih dari 500 mA
diterapkan ke port USB, sekering otomatis akan memutus sambungan
sampai hubung singkat atau arus lebih ditiadakan.
2.2.8. Karakteristik Fisik
Panjang maksimum dan lebar PCB Duemilanove adalah 2,7 dan
2,1 inci masing-masing dengan konektor USB dan jack power. Tiga
lubang sekrup memungkinkan board terpasang ke permukaan atau alas
dengan kuat. jarak antara pin digital 7 dan 8 adalah 160 mil (0,16 "), bukan
kelipatan genap dari jarak mil 100 dari pin lain.
2.3.
Sensor Ultrasonik
Sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik yang disebut
transmitter dan rangkaian penerima ultrasonik yang disebut receiver. Sinyal
ultrasonik yang dibangkitkan akan dipancarkan dari transmitter ultrasonik. Ketika
sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima
oleh receiver ultrasonik. Sinyal yang diterima oleh rangkaian receiver dikirimkan
ke rangkaian mikrokontroler untuk selanjutnya diolah untuk menghitung jarak
terhadap benda di depannya (bidang pantul). Untuk itu prinsip kerja dari sensor
ultrasonik dapat ditunjukkan dalam gambar dibawah ini :
15 | P a g e
Gambar 2.4. Prinsip kerja dari sensor ultrasonik
Prinsip kerja dari sensor ultrasonik adalah sebagai berikut :
1. Sinyal dipancarkan oleh pemancar ultrasonik. Sinyal tersebut
berfrekuensi diatas 20kHz, biasanya yang digunakan untuk mengukur
jarak benda adalah 40kHz. Sinyal tersebut di bangkitkan oleh
rangkaian pemancar ultrasonik.
2. Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai
sinyal / gelombang bunyi dengan kecepatan bunyi yang berkisar 340
m/s. Sinyal tersebut kemudian akan dipantulkan dan akan diterima
kembali oleh bagian penerima Ultrasonik.
3. Setelah sinyal tersebut sampai di penerima ultrasonik, kemudian sinyal
tersebut akan diproses untuk menghitung jaraknya. Jarak dihitung
berdasarkan rumus :
S = 340.t/2
Dimana S adalah jarak antara sensor ultrasonik dengan bidang
pantul, dan t adalah selisih waktu antara pemancaran gelombang ultrasonik
sampai diterima kembali oleh bagian penerima ultrasonik
16 | P a g e
2.4.
LCD ( Liquid Crystal Display )
LCD merupakan kepanjangan dari Liquid Crystal Display.penggunaan
LCD diperlukan sebagai sebuah output yang berupa tampilan yang menunjukan
suatu nilai atau besaran dari besaran yang diukur dari suatu system yang
dibuat.LCD yang umum digunakan yaitu LCD dengan ukuran 16 karakter x 2
baris dengan type HD44780 atau sejenisnya.
Gambar 2.5. LCD HD44780
Modul
LCD
ini
dapat
dikonfigurasi
untuk
interface
dengan
mikrokontroller 4 atau 8-bit. Karena semua fungsi seperti layar RAM, karakter
pembangkit, dan kristal driver, yang diperlukan untuk mengemudi LCD dotmatriks secara internal disediakan pada satu chip, sistem minimal dapat
dihubungkan dengan controller atau driver.
Features :

Dimungkinkan untuk LCD dot matrik 5 x 8 dan 5 x 10

Konsumsi daya rendah,yaitu antar 2.7 sampai 5.5V

Dapat digunakan 4 atau 8 bit antarmuka MPU

80 x 8 bit display RAM
17 | P a g e

Automatic reset sirkuit yang menginisialisasi controller / driver
setelah power on.

2.5.
osilator internal dengan resistor eksternal.
Catu Daya
Sebagian besar rangkaian elektronika membutuhkan tegangan DC untuk
dapat bekerja dengan baik. Karena tegangan jala-jala adalah tegangan AC, maka
yang harus dilakukan terlebih dahulu dalam setiap peralatan elektronika adalah
mengubah atau menyearahkan (rectifying) tegangan AC ke DC. Pada umumnya,
tegangan AC didekati dengan sinyal gelombang sinus, seperti tampak pada
Gambar 2.6. Secara matematika, gelombang sinus dinyatakan dengan :
v = Vp sin (t+θ)
dimana
v
= tegangan sesaat
Vp
θ
= tegangan puncak
= sudut dalam derajat atau radian
Gambar 2.6. Gelombang Sinus
18 | P a g e
2.6.
Bahasa C
Bahasa
C
merupakan
pengembangan
dari
bahasa
BCPL
yang
dikembangkan oleh Martin Richards pada tahun 1967.Selanjutnya bahasa ini
memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa
yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B
adalah bahasa C oleh Dennis Ricthie sekitar tahun 1970-an di Bell Telephone
Laboratories Inc. (sekarang adalah AT&T Bell Laboratories).Bahasa C pertama
kali digunakan dikomputer Digital Equipment Corporation PDP-11 yang
menggunakan system operasi UNIX. Beberapa alasan mengapa bahasa C banyak
digunakan, diantaranya adalah sebagai berikut :
 Bahasa C tersedia hampir di semua jenis komputer.
 Kode bahasa C sifatnya portabel.
 Bahasa C hanya menyediakan sedikit kata – kata kunci.
 Proses executable program bahasa C lebih cepat.
 Dukungan Pustaka yang banyak.
 C adalah bahasa yg terstruktur.
 Selain bahasa tingkat tinggi, C juga dianggap bahasa tingkat
menengah.
 Bahasa C adalah Kompiler.
Download