Anda di halaman 1dari 17

DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS ANDALAS FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO LABORATORIUM ELEKTRONIKA INDUSTRI

LAPORAN AKHIR
PRAKTIKUM MODUL JUDUL Mikroprosesor dan Antarmuka 4 Mikrokontroler Arduino Mega 2560

NAMA NO BP TGL PRKT KELOMPOK REKAN KERJA

: : : : :

Faiz Iman Djufri 0910952040 13 Februari 2013 8 Deden Rinanda Putra Eko Oktaviandri Orry Vernanda

ASISTEN

Wiskarni Maisa

PADANG 2013

MODUL IV Mikrokontroler Arduino Mega 2560

I.

Tujuan
a. Mempelajari aplikasi mikrokontroler Arduino pada LED dan Switch b. Mempelajari aplikasi mikrokontroler arduino pada LCD c. Mempelajari aplikasi mikrokontroler arduino pada Dotmatriks

II. Alat dan Bahan


a. buah PC

b. 1 mikrokontroler arduino c. 1 buah trainer board d. 1 kabel USB A-B

III. Dasar Teori a. Sistem Mikrokontroller Arduino merupakan pengendali mikro single-board yang bersifat opensource, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel, yakni ATMega 8U2.

Mikrokontroler itu sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas sebagai otak yang mengendalikan input, proses dan output sebuah rangkaian elektronik.

Mikrokontroler ada pada perangkat elektronik di sekeliling kita. Misalnya handphone, MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik robot mainan, maupun robot industri.

Karena komponen utama Arduino adalah mikrokontroler, maka Arduino pun dapat diprogram menggunakan komputer sesuai kebutuhan kita. Kegunaan Arduino tergantung kepada kita yang membuat program. Arduino bisa digunakan untuk mengontrol LED, bisa juga digunakan untuk mengontrol helikopter.

Beberapa contoh aplikasi dari ardiuno adalah MP3 player, pengontrol motor, mesin CNC, monitor kelembaban tanah, pengukur jarak, penggerak servo, balon udara, pengontrol suhu, monitor energi, statiun cuaca, pembaca RFID, drum elektronik, GPS logger, & monitoring bensin.

Secara umum Arduino terdiri dari dua bagian yaitu: Hardware adalah papan input/output (I/O). Sofware adalah software Arduino meliputi IDE utnuk menulis program, driver untuk koneksi dengan komputer, contoh program dan library untuk pengembangan program.

Komponen utama dalam Arduino adalah sebuah mikrokontroller 8 bit dengan merk Atmega yang dibuat oleh perusahaan Atmel Coorporation. Berbagai papan Arduino menggunakan tipe Atmega yang berbeda-beda tergantung spesifikasinya, sebagai contoh Arduino Uno menggunakan Atmega 328, sedangkan Arduino Mega 1280 dan Mega 2560 yang lebih canggih menggunakan ATmega 1280 dan ATmega 2560.

Pada pratikum kali ini Arduino yang kita gunakan adalah arduino mega yang menggunakan chip AVR ATmega 2560 yang memiliki fasilitas

PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga yang berbeda-beda.

Bahasa pemograman yang digunakan adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga lebih mudah dalam memprogramnya.

Beberapa fitur dari Arduino Mega 2560 ini adalah : Microcontroller ATmega2560 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 54 (of which 15 provide PWM output) Analog Input Pins 16 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 256 KB of which 8 KB used by bootloader SRAM 8 KB EEPROM 4 KB Clock Speed 16 MHz

Arduino Mega 2560

b. Bagian-Bagian Dari Arduino Mega 2560 Soket USB

Soket USB adalah soket untuk kabel USB yang disambungkan ke komputer atau laptop. Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial. Input / Output Digital Input/Output Digital atau digital pin adalah pin-pin untuk

menghubungkan Arduino dengan komponen atau rangkaian digital. Pada Arduino Mega terdapat 53 I/O Digital dimana 16 diantaranya dapat dijadikan sebagai output PWM. Input Analog Input Analog atau analog pin adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb. Terdapat 16 input analog pada arduino mega 2560. Pin POWER Pin-pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan Arduino. Pada bagian catu daya ini terdapat juga pin Vin dan Reset. Vin digunakan untuk memberikan tegangan langsung kepada Arduino tanpa melalui tegangan USB atau adaptor. Tombol RESET Reset adalah pin untuk memberikan sinyal reset melaui tombol atau rangkaian eksternal. Jack Baterai/Adaptor Soket baterai atau adaptor digunakan untuk menyuplai Arduino dengan tegangan dari baterai/adaptor 9V pada saat Arduino sedang tidak disambungkan ke komputer. Kalau Arduino sedang

disambungkan ke komputer melalui USB, Arduino mendapatkan suplai tegangan dari USB, jadi tidak perlu memasang baterai/adaptor saat memprogram Arduino.

IV. Prosedur Percobaan 1. LED ON/OFF a. Hubungkan pin digital 14, 15, 16, 17, 18, 19, 20, dan 21 ke pin OUTPUT pada trainer board . b. Tulis program seperti pada listing program di bawah ini .
Listing program: int ledpins[]={14,15,16,17,18,19,20,21}; int i; void setup() { for(i=0;i<8;i++) { pinMode(ledpins[i], OUTPUT); } } void loop() { ///* for(i=0;i<8;i++) { digitalWrite(ledpins[i], HIGH); } delay(1000); for(i=0;i<8;i++) { digitalWrite(ledpins[i], LOW); } delay(1000); //*/ /* digitalWrite(14, HIGH); digitalWrite(15, HIGH); digitalWrite(16, HIGH); digitalWrite(17, HIGH); digitalWrite(18, HIGH); digitalWrite(19, HIGH); digitalWrite(20, HIGH); digitalWrite(21, HIGH); delay(1000); digitalWrite(14, LOW); digitalWrite(15, LOW); digitalWrite(16, LOW); digitalWrite(17, LOW); digitalWrite(18, LOW);

digitalWrite(19, LOW); digitalWrite(20, LOW); digitalWrite(21, LOW); delay(1000); */ }

c. Upload program dan amati hasil yang terjadi.

2. LED Running a. Hubungkan pin digital 14, 15, 16, 17, 18, 19, 20, dan 21 ke pin OUTPUT pada trainer board b. Tulis program seperti pada listing program di bawah ini Listing program: int ledpins[]={14,15,16,17,18,19,20,21}; int i; void setup() { for (i=0; i<8; i++) { pinMode(ledpins[i], OUTPUT); } } void loop() { for (i=0; i<8; i++) { digitalWrite(ledpins[i], HIGH); delay(100); digitalWrite(ledpins[i], LOW); } } c. Upload program dan amati hasil yang terjadi

3. Input Switch pada Arduino

a. Hubungkan pin digital 14, 15, 16, 17, 18, 19, 20, dan 21 ke pin OUTPUT pada trainer board b. Hubungkan pin digital 23, 25, 27, 29, 31, 33, 35, dan 37 ke pin INPUT pada trainer board c. Tulis program seperti pada listing program di bawah ini

Listing Program: int leds[]={14,15,16,17,18,19,20,21}; int switchs[]={23,25,27,29,31,33,35,37}; int i; int buttonstate = 0; void setup() { for (i=0; i<8; i++) { pinMode(leds[i], OUTPUT); pinMode(switchs[i], INPUT); } } void loop() { for (i=0; i<8; i++) { buttonstate=digitalRead(switchs[i]); if(buttonstate==HIGH) { digitalWrite(leds[i], HIGH); } else { digitalWrite(leds[i], LOW); } } } d. Upload program dan amati hasil yang terjadi

ANALISA a. Menjelaskan Listing Program o LED On/Off int ledpins[]={14,15,16,17,18,19,20,21}; int i; void setup() { for(i=0;i<8;i++) { pinMode(ledpins[i], OUTPUT); //pin yang digunakan sebagai OUTPUT } } void loop() { ///* for(i=0;i<8;i++) { digitalWrite(ledpins[i], HIGH); } delay(1000); for(i=0;i<8;i++) { digitalWrite(ledpins[i], LOW); } delay(1000); //*/ /* digitalWrite(14, HIGH); digitalWrite(15, HIGH); digitalWrite(16, HIGH); //LED pada PIN 14 On dengan logika HIGH //LED pada PIN 15 On dengan logika HIGH //LED pada PIN 16 On dengan logika HIGH //delay sebesar 1000 ms // pin i berlogika low //delay sebesar 1000 ms //pengulangan for // pin i berlogika high //pengulangan for //program looping //pengulangan for // inisialisasi pin // i bilangan integer //program utama

digitalWrite(17, HIGH); digitalWrite(18, HIGH); digitalWrite(19, HIGH); digitalWrite(20, HIGH); digitalWrite(21, HIGH); delay(1000); digitalWrite(14, LOW);

//LED pada PIN 17 On dengan logika HIGH //LED pada PIN 18 On dengan logika HIGH //LED pada PIN 19 On dengan logika HIGH //LED pada PIN 20 On dengan logika HIGH //LED pada PIN 21 On dengan logika HIGH // delay sebesar 1000 ms // LED pada PIN 14 Off dengan logika LOW

digitalWrite(15, LOW);

// LED pada PIN 15 Off dengan logika LOW

digitalWrite(16, LOW);

// LED pada PIN 16 Off dengan logika LOW

digitalWrite(17, LOW);

// LED pada PIN 17 Off dengan logika LOW

digitalWrite(18, LOW);

// LED pada PIN 18 Off dengan logika LOW

digitalWrite(19, LOW);

// LED pada PIN 19 Off dengan logika LOW

digitalWrite(20, LOW);

// LED pada PIN 20 Off dengan logika LOW

digitalWrite(21, LOW);

// LED pada PIN 21 Off dengan logika LOW

delay(1000); */ } o Running LED

//delay sebesar 1000 ms

int ledpins[]={14,15,16,17,18,19,20,21}; int i; void setup() {

//inisialisasi pin //inisialisasi //program utama

for (i=0; i<8; i++)

//program looping untuk LED

On yang dimulai dari 0 s/d 8 dengan kenaikan 1 dari kondisi awal { pinMode(ledpins[i], OUTPUT); //led pins dengan inisialisasi [i] sebagai OUTPUT } } void loop() { for (i=0; i<8; i++) //program looping untuk LED //program looping

On yang dimulai dari 0 s/d 8 dengan kenaikan 1 dari kondisi awal { digitalWrite(ledpins[i], HIGH); //LED On dengan kondisi HIGH delay(100); digitalWrite(ledpins[i], LOW); // delay sebesar 100 ms // LED Off dengan kondisi LOW } } o Input Switch pada Arduino int leds[]={14,15,16,17,18,19,20,21}; int switchs[]={23,25,27,29,31,33,35,37}; int i; int buttonstate = 0; // inisialisasi led // inisialisasi switchs //inisialisasi //buttonstate merupakan bilangan integer dengan nilai awal 0 void setup() { for (i=0; i<8; i++) //program looping yang //program utama

dimulai dari 0 s/d 8 dengan kenaikan 1 dari kondisi awal

{ pinMode(leds[i], OUTPUT); pinMode(switchs[i], INPUT); //pin mode (led) sebagi output //pin mode switch sebagai input } } void loop() { for (i=0; i<8; i++) //program looping yang //program looping

dimulai dari 0 s/d 8 dengan kenaikan 1 dari kondisi awal { buttonstate=digitalRead(switchs[i]); if(buttonstate==HIGH) { digitalWrite(leds[i], HIGH); //Led on dengan kondisi HIGH } else { digitalWrite(leds[i], LOW); //Led off dengan kondisi LOW } } } //jika tidak //buttonstate sebagai switchs //jika buttonstate HIGH

b. FLOWCHART o LED On/Off

Start

Inisiaslisasi pin pada Arduino (4,5,6,7,8,9,10,11)

Pin Arduino logika HIGH Ya

LED hidup

Pin Arduino logika LOW Tidak Cabut supply atau buat program baru

LED mati

Finish

o Running LED

Start

Inisiaslisasi pin pada Arduino (4,5,6,7,8,9,10,11)

Pin Arduino logika HIGH

LED hidup

Delay 100 ms Ya LED mati

Pin Arduino logika LOW

Delay 100 ms Tidak Cabut supply atau buat program baru

Finish

o Input Switchs Pada Arduino

Start

Inisialisasi pin arduino (12,11,5,4,3,2)

datasheet LCD (20,4)

Delay 500 ms

Teks pada LCD kosong Ya

Menulis teks yang akan ditampilkan pada LCD dari serial

Tidak Cabut supply atau buat program baru

Finish

Tugas Tambahan o Running LED dari Kanan Ke Kiri

Script Program int ledpins[]={14,15,16,17,18,19,20,21}; int i; void setup() {

for (i=8; i>0; i--)


pinMode(ledpins[i], OUTPUT); } } void loop() { for (i=8; i>0; i--) {

digitalWrite(ledpins[i], HIGH); delay(100); digitalWrite(ledpins[i], LOW); } }

KESIMPULAN DAN SARAN a. Kesimpulan Mikrokontroler arduino tidak memerlukan downloader tertentu hanya menggunakan slot USB. Arduino terdiri atas input (pin) analog dan digital : Input Analog berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb. Input/Output Digital menghubungkan Arduino dengan komponen atau rangkaian digital. Misalnya LED.

b. Saran Berdasarkan praktikum yang telah dilakukan, saran untuk praktikum selanjutnya sebagai berikut : a. Pratikam memahami dan mengikuti persamaan dengan baik. b. Praktikan dapat lebih memperhatikan algoritma dan cara kerja rangkaian. c. Jika ada hal yang kurang dipahami tanyakan kepada asisten yang mengawas diharapkan untuk menjelaskan lebih rinci.

DAFTAR KEPUSTAKAAN

Tim Asisten Laboratorium Elektronika Industri. 2013. Modul Praktikum Mikroprosesor dan AntarMuka. Padang: Laboratorium Elektronika Industri JTE FT-UA. Djuandi, Feri. 2011. Pengenalan Arduino [pdf].

http://www.tobuku.com/docs/Arduino-Pengenalan.pdf Diakses pada tanggal 14 Februari 2013 Banzi, Massimo. 2008. Gettting Started with Arduino. OReilly.