Arduino Uno adalah salah satu varian dari produk board mikrokontroller keluaran Arduino. Arduino Uno adalah board Arduino terkecil, menggunakan mikrokontroller Atmega 328 untuk Arduino Uno 3. Mikrokontroler berbasis ATmega 328(datasheet).Arduino Uno Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
Arduino Uno berbeda dari semua papan sebelumnya dalam hal itu tidak menggunakan FTDI chip driver USB-to-serial. Sebaliknya, fitur Atmega 16U2 (Atmega8U2 hingga versiR2) deprogram sebagai converter USB-to-serial. Revisi 2 dari dewan Uno memiliki resistor menarik garis 8U2 HWB ke tanah, sehingga lebih mudah untuk dimasukkan ke dalam mode DFU. ArduinoUno dapat di aktif kan melalui koneksi USB atau dengan satu daya eksternal. Sumber daya dipilih secara
otomatis.Eksternal(non-USB) dapat di ambil baik berasaldari 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 adalah7 sampai dengan 12 volt, jika diberi daya kurang dari 7 volt kemungkinan pin 5v Uno dapat beroperasi tetapi tidak stabil kemudian jikadiberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5 volt koneksi USB atau sumber daya lainnya).5V. Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya 3v3. Sebuah pasokan 3,3 volt dihasilkan oleh regulator on-board. GND. Ground pin.
Gambar 2.11 Arduino Uno
Pada Gambar 2.11 diatas dapat dilihat sebuah papan Arduino dengan beberapa bagian komponen didalamnya. Pada hardware arduino terdiri dari 20 pin yang meliputi:
a. 14 pin I/O Digital (pin 0–13)
Sejumlah pin digital dengan nomor 0–13 yang dapat dijadikan input atau output yang diatur dengan car amembuat program IDE.
b. 6 pin Input Analog (pin 0–5)
Sejumlah pin analog bernomor 0–5 yang dapat digunakan untuk membaca nilai input yang memiliki nilai analog dan mengubahnya ke dalam angka antara 0 dan 1023.
c. 6 pin Output Analog (pin 3, 5, 6, 9, 10 dan 11)
Sejumlah pin yang sebenarnya merupakan pin digital tetapi sejumlah pin tersebut dapat diprogram kembali menjadi pin output analog dengan cara membuat programnya pada IDE.
Setelah mengenal bagian-bagian utama dari mikrokontroler Atmega sebagai komponen utama, selanjutnya kita akan mengenal bagian-bagian dari papan Arduino seperti yang ditunjukkan pada Gambar 2.12.
Gambar 2.12 Papan Arduino Uno
Arduino Uno berbeda dari semua board Arduino yang telah dibuat 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.
Papan Arduino Uno dapat mengambil daya dari USB port pada komputer dengan menggunakan USB charger ataudapat pula mengambil daya dengan menggunakan suatu AC adapter dengan tegangan 9 volt.[17]
Jika tidak terdapat power supply yang melalui AC adapter, maka papan Arduino akan mengambil daya dari USB port. Tetapi apabila diberikan daya melalui AC adapter secara bersamaan dengan USB port maka papan Arduino akan mengambil daya melalui AC adapter secara otomatis.
Tabel 2.3 Deskripsi Arduino-UNO
Dari tabel 2.3 dijelaskan bahwa Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input analog dan 14 pin digital input/output. Untuk 6 pin analog sendiri bisa juga difungsikan sebagai output digital jika diperlukan output digital tambahan selain 14 pin yang sudah tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah konfigurasi pin pada program. Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk menggunakan pin analog menjadi output digital, pin analog yang pada keterangan board 0-5 kita ubah menjadi pin 14-19. dengan kata lain pin analog 0-5 berfungsi juga sebagi pin output digital 14-16.
Sifat open source arduino juga banyak memberikan keuntungan tersendiri untuk kita
dalam menggunakan board ini, karena dengan sifat open source komponen yang kita pakai tidak hanya tergantung pada satu merek, namun memungkinkan kita bisa memakai semua komponen yang ada dipasaran.[18]
2.8.1 Software Arduino UNO
Software arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sanga tberguna selama pengembangan arduino. IDE atau Integrated Development Environment suatu program khusus untuk suatu komputer agar dapat membuat suatu rancangan atau sketsa program untuk papan Arduino. IDE arduino merupakan software yang sangat canggih ditulis dengan menggunakan java.
IDE arduino terdiri dari:
1. Editor Program
Sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa processing.
2. Compiler
Sebuah modul yang mengubah kode program menjadi kode biner bagaimanapun sebuah mikrokontroler tidak akan bias memahami bahasa processing.
3. Uploader
Sebuah modul yang memuat kode biner dari computer ke dalam memory di dalam papan Arduino.
Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu : a. Struktur Program Arduino
Kerangka Program
Kerangka program arduino sangat sederhana, yaitu terdiri atas dua blok. Blok pertama adalah void setup() dan blok kedua adalah void loop.
Blok Void setup () : Berisi kode program yang hanya dijalankan sekali sesaat setelah arduino dihidupkan atau di-reset. Merupakan bagian persiapan atau instalasi program.
Blok void loop() : Berisi kode program yang akan dijalankan terus menerus.
Merupakan tempat untuk program utama.
Sintaks Program
Baik blok void setup loop () maupun blok function harus diberi tanda kurung kurawal buka “{“ sebagai tanda awal program di blok itu dan kurung kurawal tutup
“}” sebagai tanda akhir program.
b. Variabel : Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengancara yang cerdas dengan menggunakan sebuah varibel.
c. Fungsi :Pada bagian ini meliputi fungsi input output digital, input output analog, advanced I/O, fungsi waktu, fungsi matematika serta fungsi komunikasi. Pada proses Uploader dimana pada proses ini mengubah bahasa pemrograman yang nantinya decompile oleh avr-gcc (avr-gcc compiler) yang hasilnya akan disimpan ke dalam papan arduino. Avr-gcc compiler merupakan suatu bagian penting untuk software bersifat open source. Dengan adanya avr-gcc compiler, maka akan membuat bahasa pemrogaman dapat dimengerti oleh mikrokontroler. Proses terakhir ini sangat penting, karena dengan adanya proses ini maka akan membuat proses pemrogaman mikrokontroler menjadi sangat mudah. Berikut ini merupakan gambaran siklus yang terjadi dalam melakukan pemrogamanArduino:
1. Koneksikan papan Arduino dengan computer melalui USB port.
2. Tuliskan sketsa rancangan suatu program yang akan dimasukkan ke dalam papan Arduino. Upload sketsa program ke dalam papan Arduino melalui kabel USB dan kemudian tunggu beberapa saat untuk melakukan restart pada papan Arduino.
3. Papan Arduino akan mengeksekusi rancangan sketsa program yang telah dibuat dan di-upload ke papan Arduino. [19]
2.8.2 Hardware Arduino
Board Arduino adalah tempat di mana code yang dituliskan akan dieksekusi.
Board hanya bisa mngontrol dan merespon pada sinyal listrik, jadi komponen tertentu yang terpasang dengannyalah yang memungkinkan bisa berinteraksi dengan dunia sesungguhnya. Komponen ini bisa berupa sensor, yang mengkonversi beberapa aspek dari lingkungan nyata menjadi listrik sehingga board bisa merasakannya, atau aktuator yang mendapatkan listrik dari board dan mengkonversikannya menjadi
sesuatu yang bisa mengubah lingkungan nyata. Beberapa contoh sensor diantaranya termasuk switch, accelerometer, dan sensor jarak ultrasound. Aktuator adalah sesuatu seperti lampu dan LED, speaker, motor dan layar.Board yang paling terkenal berisi sebuah konektor USB yang bisa digunakan untuk menyalurkan daya dan koneksi untuk mengupload software ke dalam board. [20]