5
BAB II DASAR TEORI
2.1. Mikrokontroler Arduino
Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus[2].
Sederhananya, cara kerja mikrokontroler sebenarnya hanya membaca dan menulis data. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan
elektronik yang menekankan efisiensi dan efektifitas biaya. Dengan kata lain, mikrokontroler adalah alat yang mengerjakan intruksi-intruksi yang
diberikan. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programer.Program ini mengintruksikan komputer
untuk melakukan tugas yang lebih kompleks sesuai dengan yang diinginkan. Mikrokontroler digunakan untuk mengolah perintah berupa program yang telah dibuat
sebelumnya dari sebuah masukan input menjadi keluaran output yang diingkan. Mikrokontroler saat ini mengalami perkembanagan yang cukup pesat baik dari bentuk, fungsi,
dan kemampuannya sebagai kontroler.Perintah-perintah yang diberikan pada mikrokontroler untuk mengontrol sebuah sistem ditulis dalam Bahasa pemograman.Bahasa pemograman yang
sering digunakan pada mikrokontroler antara lain Bahasa C, C++, basic, dan assembly
.Penggunaan Bahasa pemograman disesuaikan dengan mikrokontroler yang digunakan.
Arduino adalah sebuah platform elektronik yang open source.Nama Arduino tidak hanya digunakan untuk menamai board rangkaian saja, tetapi juga untuk menamai Bahasa dan
software pemogramannya, serta lingkungan pemogramannya atau yang dikenal dengan sebutan
Integrated Development Environment IDE.Arduino memiliki beberapa keunggulan
dibandingkan dengan platform elektronik lainnya[3]. Beberapa keunggulan tersebut antara lain: 1.
Modul Arduino adalah sebuah platform elektronik yang open source yang berbasis pada kemudahan dan fleksibilitas penggunaan hardware dan software. Artinya pembaca
dapat mengunduh software dan gambar rangkaian Arduino tanpa harus membayar kepada pembuat Arduino.
2. Integrated Development Environment IDE Arduino merupakan multiplatform yang
dapat dijalankan di berbagai sistem operasi seperti Windows, Macintosh, dan Linux. 3.
Modul Arduino mudah digunakan sebagai sebuah platform komputasi fisik yang sederhana serta menerapkan bahasa pemograman processing.
4. Arduino merupakan platform interraktif karena dapat mengambil masukan dari berbagai
tombola tau sensor, mampu mengendalikan berbagai lampu, motor, dan output fisik lainnya.
5. Modul Arduino dapat berdiri sendiri, atau dapat melakukan komunikasi dengan software
yang berjalan dikomputer seperti Flash, Processing, dan MaxMSP. 6.
Biaya yang dibutuhkan untuk membeli modul Arduino cukup murah, sehingga tidak terlalu menakutkan untuk membuat kesalahan.
7. Proyek Arduino ini dikembangkan dalam dunia pendidikan, sehingga bagi pemula akan
lebih cepat dan mudah untuk mempelajarinya. 8.
Memiliki begitu banyak pengguna dan komunitas di internet yang dapat membantu setiap kesulitan yang dihadapi.
Dalam penelitian yang dikerjakan oleh penulis, akan digunakan salah satu produk Arduino yang dikenal dengan nama Arduino Uno R3. Gambar 2.1 merupakan tampilan Arduino Uno R3.
Gambar 2.1 Tampilan Arduino Uno R3 Arduino Uno R3 seperti gambar 2.1.adalah board berbasis mikrokontroler pada ATMega
328. Board Arduino Uno R3 seperti yang ditunjukkan Gambar 2.2. memiliki 14 digital input output
pin dimana 6 pin dapat digunakan sebagai output PWM, 6 inputanalog, 16 MHz osilator Kristal, koneksi USB, jack listrik dan tombol reset. Pin
– pin ini berisi semua yang diperluhkan untuk mendukung mikrokontroler, hanya terhubung ke computer dengan kabel
USB atau sumber tekanan bias didapat dari adaptor AC – DC atau baterai untuk
menngunakannya Arduino, Inc, 2009[4]. Setiap digital pin pada board Arduino Uno R3 beroperasi pada tegangan 5 volt. Pin
– pin digital tersebut juga memungkinkan dapat mengeluarkan atau menerima arus maksimal sebesar 40 mA dan memiliki internal pull-up
resistor yang terputus secara default antara 20
– 50 Kohm[5]. Spesifikasi Arduino Uno R3 ditunjukan pada alokasi penempatan pin
– pin Arduino Uno R3 pada tabel 2.1.
Gambar 2.2 Alokasi Penempatan Pin Arduino Uno R3 Arduino Uno R3 seperti ditunjukan Gambar 2.2.memiliki 6 input analog diberi label A0
sampai A5, masing-masing menyediakan 10-bit resolusi yaitu 1024 nilai yang berbeda. Secara default
sistem mengukur dari ground sampai 5 volt, meskipun mungkin untuk mengubah ujung atas rentang menggunakan pin AREF dan fungsi analogReference. Selain itu, beberapa pin
memiliki fungsi khusus : a.
TWI : A4 atau SDA pin dan A5 atau SCL pin. Mendukung komunikasi TWI menggunakan wire library.
b. AREF : Referensi tegangan untuk input analog. Digunakan dengan analogReference .
c. RESET : memberikan logika LOW untuk mereset mikrokontroler[5].
Tabel 2.1. Keterangan Pin pada Gambar 2.2
No. Parameter
Keterangan
1 ATmega 328
IC mikrokontroler yang digunakan pada Arduino Uno R3. IC ATmega 328
memiliki flash memory 32 KB dengan 0.5 KB digunakan untuk bootloader. ATmega 328 juga memiliki 2 KB
SRAM dan 1 KB EEPROM yang dapat ditulis dan dibaca dengan EEPROM library.
2 Jack
USB Untuk komunikasi mikrokontroler dengan PC.
3 Jack
Adaptor Masukan power eksternal bila Arduino bekerja mandiri tanpa
komunikasi dengan PC melalui kabel serial USB. 4
Tombol Reset Tombol reset internal yang digunakan untuk mereset modul
Arduino.
5 SDA dan SCL
Komunikasi Two Wire Interface TWI atau Inter Integrated Circuit
12C dengan menggunakan Wire library. 6
GND dan AREF
GND = Pin ground dari regulator tegangan board Arduino. AREF = Tegangan Referensi untuk input analog.
7 Pin Digital
Pin yang digunakan untuk menerima input digital dan memberi output
berbentuk digital 0 dan 1 atau low dan high. 8
Pin Serial Digunakan untuk menerima dan mengirimkan data serial TTL
Receiver Rx, Transmitter Tx. Pin 0 dan 1 sudah terhubung kepada pin serial USB to TTL sesuai dengan pin ATmega.
9 Pin Power
Vin = Masukan tegangan input bagi Arduino ketika menggunakan sumber daya ekstenal.
5 V = Sumber tegangan yang dihasilkan regulator internal board Arduino
. 3.3 V = Sumber tegangan yang dihasilkan regulator internal
board Arduino. Arus maksimal pada pin ini adalah 50 Ma.. GND = Pin ground dari regulator tegangan board Arduino.
IOREF = Tegangan Referensi. 10
Pin Analog In Menerima input dari perangkat analog lainnya.
Arduino Uno R3 berbeda dengan semua board sebelimnya karena Arduino Uno R3 ini tidak menggunakan chip driver FTDI USB-to-serial. Melainkan menggunakan fitur dari
ATMega 16U2 yang deprogram sebagai konverter USB-to-serial [6]. Board
Arduino Uno memiliki fitur – fitur baru seperti pada Tabel 2.1.yaitu :
a. Pin out : menambahkan SDA dan SCL pin yang dekat ke pin AREF dan dua pin baru
lainnya ditempatkan dekat ke pin RESET, dengan IO REF yang memungkinkan sebagai buffer
untuk beradaptasi dengan tegangan yang disediakan dari board sistem. Perkembangannya, sistem akan lebih kompatibel dengan prosesor yang menggunakan
AVR, yang beroperasi dengan 5V dan dengan Arduino karena beroperasi dengan 3,3V. Yang kedua adalah pin yang tidak terhubung, yang disediakan untuk tujuan
pengembangannya. b.
Sirkuit reset. c.
ATMega 16U2 ganti 8U yang digunakan sebagai konventer USB-to-serial.
Board Arduino Uno R3 dapat beroperasi pada pasokan daya dari 6
– 20 volt. Jika diberikan dengan kurang dari 7V, bagaimanapun pin 5V dapat menyuplai kurang dari 5 volt dan
board mungkin tidak stabil. Jika menggunakan lebih dari 12V, regulator bias panas dan merusak
board . Rentang yang dianjurkan adalah 7V - 12V. Selain itu, beberapa pin memiliki fungsi
khusus : a.
Serial : 0 RX dan 1 TX. Digunakan untuk menerima RX dan mengirim TX data TTL serial. Pin ini terhubung ke pin yang sesuai dari chip ATMega 8U2 USB-to-serial
TTL. b.
Eksternal Interupsi : 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interupsi pada nilai yang rendah, tepi naik atau jauh, atau perubahan nilai. Lihat attchInterrupt fungsi
untuk rincian. c.
PWM : 3,5,6,9,10, dan 11. Menyediakan 8-bit output PWM dengan fungsi analogWrite
. d.
SPI : 10 SS, 11MOSI, 12 MISO, 13 SCK. Pin ini mendukung komunikasi SPI menggunakan library SPI. SPI Serial Peripherial Interface adalah sebuah sinkronisasi
serial data protocol yang digunakan oleh mikrokontroler untuk melakukan komunikasi
dengan satu atau lebih peripheral device secara cepat berjarak pendek. SPI dapat juga digunakan untuk melakukan komunikasi antara dua mikrokontroler.
e. LED : 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin adalah nilai TINGGI,
LED menyala, ketika pin adalah RENDAH, LED off.
Komunikasi
Arduino Uno R3 memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya.ATmega menyediakan UART TTL 5V komunikasi
serial , yang tersedia di pin digital 0 RX dan pin digital 1 TX.Sebuah ATmega16U2 pada
board ini komunikasi serial melalui USB dan muncul sebagai com port virtual untuk perangkat
lunak pada computer.Firmware `16U2 menggunakan USB driver standar COM, dan tidak ada driver eksternal yang diperlukan. Namun, pada Windows, file infdiperlukan. Perangkat lunak
Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board
Arduino. RX dan TX di board LED akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke computer tetapi tidak untuk komunikasi serial pada
pin 0 dan 1. Fungsi ini digunakan untuk melakukan komunikasi interface pada sistem. ATmega328 juga mendukung komunikasi TWI dan SPI [6].
Setiap IC mikrokontroler memiliki EEPROM yang merupakan memori yang nilainya tersimpan ketika IC mikrokontroler non aktifkan seperti hard driver kecil.Sistem
penyimpanan ini memungkinkan untuk melakukan pembacaan atau menulis dalam satuan byte.Setiap IC mikrokontroler memiliki kapasitas EEPROM yang berbeda.Pada IC
mikrokontroler ATmega 328 yang terdapat pada Arduino Uno R3 memiliki EEPROM sebesar 1024 byte [5].
2.2. Software Arduino