ATMega 328 Software Arduino LANDASAN TEORI

4 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. Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power supply eksternal. Suplai eksternal nonUSB dapat diperoleh dari sebuah adaptor AC ke DC atau battery . Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam headerkepala pin Ground Gnd dan pin Vin dari konektor POWER. Board Arduino UNO dapat beroperasi pada sebuah suplay 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.

2.3 ATMega 328

ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC Reduce Instruction Set Computer yang dimana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC Completed Instruction Set Computer . Mikrokontroller ATmega328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism. Instruksi – instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang memungkinkan instruksi -instruksi dapat dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU Arithmatic Logic unit yang dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak langsung untuk mengambil data pada ruang memori data. Ketiga register pointer 16-bit ini disebut dengan register X gabungan R26 dan R27 , register Y gabungan R28 dan R29 , dan register Universitas Sumatera Utara 5 Z gabungan R30 dan R31 . Hampir semua instruksi AVR memiliki format 16- bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna di atas, terdapat register lain yang terpetakan dengan teknik memory mapped IO selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register control Timer Counter, Interupsi, ADC, USART, SPI, EEPROM dan fungsi IO lainnya. Register – register ini menempati memori pada alamat 0x20h – 0x5Fh. Arsitektur ATmega328 dapat dilihat pada Gambar 2.2. Gambar 2.2 Arsitektur ATmega328

2.4 Software Arduino

Software arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna 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: Universitas Sumatera Utara 6 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 bisa memahami bahasa processing. 3. Uploader Sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam papan Arduino Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu : a. Struktur Program Arduino 1 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. 2 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 dengan cara yang cerdas dengan menggunakan sebuah varibel. c. Fungsi :Pada bagian ini meliputi fungsi input output digital, input output analog, advanced IO, fungsi waktu, fungsi matematika serta fungsi komunikasi. Pada proses Uploader dimana pada proses ini mengubah bahasa pemrograman yang nantinya dicompile oleh avr-gcc avr-gcc compiler yang hasilnya akan Universitas Sumatera Utara 7 disimpan kedalam 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 pemrogaman Arduino: 1. Koneksikan papan Arduino dengan komputer melalui USB port. 2. Tuliskan sketsa rancangan suatu program yang akan dimasukkan ke dalam papan Arduino. 3. Upload sketsa program ke dalam papan Arduino melalui kabel USB dan kemudian tunggu beberapa saat untuk melakukan restart pada papan Arduino. 4. Papan Arduino akan mengeksekusi rancangan sketsa program yang telah dibuat dan di-upload ke papan Arduino.

2.5 Masing-masing Sumber Daya dan Pin Tegangan Arduino