modul mekatronika

23
MODUL PRAKTIKUM MEKATRONIKA Beginners Guide To The Arduino

Upload: septia-refli

Post on 10-Apr-2016

152 views

Category:

Documents


25 download

DESCRIPTION

modul

TRANSCRIPT

Page 1: Modul Mekatronika

MODUL PRAKTIKUM

MEKATRONIKA

Beginners Guide To The Arduino

Page 2: Modul Mekatronika

Perkenalan Arduino

Menurut Massimo Banzi:

Arduino is an open source physical computing platform based on a simple input/output (I/O)

board and a development environment that implements the Processing language

(www.processing.org). Arduino can be used to develop standalone interactive objects or can be

connected to software on your computer (such as Flash, Processing, VVVV, or Max/MSP). The

boards can be assembled by hand or purchased preassembled; the open source IDE (Integrated

Development Environment) can be downloaded for free from www.arduino.cc.

Digital dan Analog pin

Pada Arduino terdapat dua buah jenis pin, yaitu analog dan digital. Pin digital memiliki dua buah

nilai yang dapat ditulis kepadanya yaitu High(1) dan Low(0). Logika high maksudnya ialah 5

Volt dikirim ke pin baik itu oleh mikrokontroler atau dari komponen. Low berarti pin tersebut

bertegangan 0 Volt. Dari logika ini, anda dapat membayangkan perumpamaan: start/stop,

siap/tidak siap, on/off, dsb.

Pin-pin analog memiliki karakteristik yang berbeda dari pin digital. Informasi yang dapat ditulis

atau dibaca sangat lebar.Misalnya saja untuk write, nilai dari 0-255 dapat ditulis(0V – 5V).

Sedangkan untuk read, nilai dari 0-1023(0V – 5V dengan setiap kenaikan sebesar 0,005V) dapat

direpresentasikan.

Page 3: Modul Mekatronika

Berikut diperlihatkan penampang Arduino yang memperlihatkan barisan pin digital dan analog.

Pin-pin digital berada pada bagian atas. Pin-pin itulah yang nantinya dihubungkan ke berbagai

kontrol yang berkomunikasi dengan menggunakan nilai digital. Beberapa pin digital dapat

digunakan sebagai Pulse Width Modulation(PWM). Secara umum pin PWM ini dapat digunakan

untuk mengirim nilai/informasi analog ke komponen. Tanda ~ pada pin 3, 5, 6, 9, 10, 11

menandakan fungsi PWM. Fungsi PWM ini merupakan tambahan dari fungsi digital. Artinya

pin-pin tersebut selain fungsi digital, dapat dikonfigurasi menjadi PWM. Kemungkinan nilai dari

dari pin-pin digital tersebut ialah IN (informasi masuk dari komponen ke kontrol) dan sebaliknya

OUT(informasi keluar dari kontrol ke komponen). Pada bagian bawah, terdapat pin-pin power.

Tersedia pin 5V, 3.3V, dua pin ground, Vin, dan reset.

Di sebelah kanan bagian bawah, anda akan melihat pin-pin analog input. Pin-pin ini dapat

menerima masukan informasi analog dari 0 hingga 5 Volt dengan kenaikan sebesar 0.005 V.

Representasi 0 V ialah 0, dan 5V ialah 1023. Di atas pin-pin analog terdapat mikrokontroler

AVR. Dan di atas AVR terdapat push button reset untuk merestart program. Terdapat konetor

ISP di sebelah kanan push button reset yang dapat digunakan untuk memprogram kontroler

Arduino dalam kondisi tertentu(chip erase akan mengakibatkan bootloader Arduino ikut

terhapus. Jadi hati-hati dalam menggunakannya).

Page 4: Modul Mekatronika

Instalasi IDE

Untuk mulai memprogram, dibutuhkan IDE Arduino. Langsung saja download versi terbaru

dari Arduino.cc. Download sesuai dengan OS yang akan digunakan. Pada modul ini digunakan

windows dan IDE versi 1.0.5. Ekstrak hasil download, dan ada akan mendapatkan folder

“arduino-1.0.5″, kemudian double-click “arduino.exe” untuk mulai melakukan penginstallan.

Berikut penampakan IDE Arduino:

Pada gambar diatas, terdapat, beberapa tombol yang mempunyai fungsi sebagai berikut:

Verify: Cek error dan lakukan kompilasi kode

Upload: Upload kode anda ke board/kontroler. Asumsi bahwa board dan serial port telah

disetting dengan benar.

New: Membuat aplikasi baru.

Page 5: Modul Mekatronika

Open: Buka proyek yang telah ada atau dari contoh-contoh/examples.

Save: Simpan proyek anda.

Serial Monitor: Membuka serial port monitor untuk melihat feedback/umpan balik dari

board anda.

Proses kerja Arduino ialah anda melakukan pemrograman pada IDE, compile, dan upload

binary/hex file ke kontroler. Berbeda dengan Processing yang kode hasil compile langsung

dijalankan di komputer, kode hasil compile Arduino harus diupload ke kontroler sehingga dapat

dijalankan

Install USB drivers

Untuk menjalankan Arduino, pertama-tama hubungkan USB cable yang terpasang pada board

Arduino ke PC. Ketika pertama kali dihubungkan, maka akan muncul kotak dialog “Add New

Hardware” wizard, kemudian arahkan folder driver kedalam drivers/FTDI USB Drivers yang

terdapat pada folder Arduino berada.

Page 6: Modul Mekatronika

Setelah melakukan install drivers, maka kamu telah siap untuk menguplod program yang akan

dibuat ke dalam mikrokontroler Arduino.

Insert libraries

Dalam beberapa kondisi, nantinya kadangkala diperlukan libraries tambahan apabila libraries

yang telah ada tidak mencukupi project yang akan dibuat. Berikut cara menambahkan libraries

ke dalam IDE Arduino.

1. Copy files libraries yang telah di download

2. Letakkan pada folder libraries yang terdapat di dalam folder Arduino

3. Jalankan ulang software Arduino IDE

Pada contoh dibawah ialah menambahkan libraries keypad ke dalam libraries yang sebelumnya

telah ada kemudian menjalankan ulang software IDE Arduino.

Page 7: Modul Mekatronika

MODUL 1

Basic Arduino

Sebelum melakukan project, pada bagian Arduino IDE dicek terlebih dahulu pada menu tools,

board dan port yang digunakan pada project. Sesuaikan board dan port dengan jenis board yang

digunakan serta port yang terhubung dengan USB cable pada board Arduino.

Page 8: Modul Mekatronika

Pada project pertama ini, dilakukan pengujian terhadap board Arduino. Pengujian ini dilakukan

untuk mengetes apakah board dapat berfungsi dengan baik atau tidak, selain itu untuk menguji

keterkiriman source code yang di upload pada board. Pada pengujian basic ini, diujikan dua buah

program yang berasal dari examples program yaitu blink dan stringlength.

1. Blink

Pada percobaan ini, dilakukan penyalaan LED yang menempel langsung pada board Arduino.

LED tersebut akan menyala dan mati secara bergantian selama satu detik. Pertama-tama buka

file source code example seperti berikut.

Berikut merupakan source code yang terdapat pada basic examples blink. // Pin 13 has an LED connected on most Arduino boards.

// give it a name:

int led = 13;

// the setup routine runs once when you press reset:

void setup() {

// initialize the digital pin as an output. pinMode(led, OUTPUT);

}

// the loop routine runs over and over again forever:

void loop() {

digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)

delay(1000); // wait for a second

digitalWrite(led, LOW); // turn the LED off by making the voltage LOW

delay(1000); // wait for a second }

Page 9: Modul Mekatronika

Berikutnya compile dan uplod program ke dalam Arduino board. Perhatikan dan catat hasil yang

terjadi, apakah sesuai dengan spesifikasi atau tidak.

2.StringLength

Pada percobaan ini dilakukan pengujian terhadap penggunaan serial monitor yang terdapat pada

Arduino. Percobaan ini bertujuan untuk mengetahui panjang kata dari setiap karakter maupun

string yang dikirimkan pada Arduino, untuk kemudian ditampilkan pada serial monitor.

Berikut merupakan source code yang terdapat pada basic examples Stringlength.

String txtMsg = ""; // a string for incoming text

int lastStringLength = txtMsg.length(); // previous length of the String

void setup() {

// Open serial communications and wait for port to open:

Serial.begin(9600);

while (!Serial) {

; // wait for serial port to connect. Needed for Leonardo only

}

Page 10: Modul Mekatronika

// send an intro:

Serial.println("\n\nString length():");

Serial.println();

}

void loop() {

// add any incoming characters to the String:

while (Serial.available() > 0) {

char inChar = Serial.read();

txtMsg += inChar;

}

// print the message and a notice if it's changed:

if (txtMsg.length() != lastStringLength) {

Serial.println(txtMsg);

Serial.println(txtMsg.length());

// if the String's longer than 140 characters, complain:

if (txtMsg.length() < 140) { Serial.println("That's a perfectly acceptable text message");

}

else {

Serial.println("That's too long for a text message.");

}

// note the length for next time through the loop:

lastStringLength = txtMsg.length();

}

}

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

Page 11: Modul Mekatronika

3. LED Flasher

Pada percobaan ini, dilakukan penyalaan LED yang terpasang di luar dari board Arduino. Seperti

pada percobaan blink sebelumnya, LED dapat dinyalakan dan dimatikan secara bergantian

selama waktu yang diinginkan. Berikut komponen yang diperlukan pada percobaan ini:

Breadboard

LED

1 Kohm Resistor

Jumper Wires

Berikutnya setelah komponen yang diperlukan telah terkumpul, susun rangkaian seperti terlihat

pada gambar berikut:

Kemudian pasang USB cable pada Arduino dengan port USB yang terdapat pada PC untuk

menguplod program. Buka Arduino IDE, lalu ketikkan program berikut.

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

// Project 2 - LED Flasher

int ledPin = 10;

void setup()

{

pinMode(ledPin, OUTPUT);

}

void loop()

{

digitalWrite(ledPin, HIGH);

delay(1000);

digitalWrite(ledPin, LOW);

delay(1000);

}

Page 12: Modul Mekatronika

4 .RGB LED

Pada percobaan ini, Anda akan belajar bagaimana menggunakan RGB (Red Green Blue) LED

dengan Arduino. Anda akan menggunakan fungsi analogWrite dari Arduino untuk mengontrol

warna LED. Pada sekilas mata, RGB (Red, Green, Blue) LED tampak seperti LED biasa, namun,

dalam biasa paket LED, sebenarnya ada tiga LED, satu merah, satu hijau dan satu biru..Berikut

komponen yang diperlukan pada percobaan ini:

Breadboard

RGB LED

Arduino Uno

3 x 220 ohm Resistor

Jumper Wires

Berikutnya setelah komponen yang diperlukan telah terkumpul, susun rangkaian seperti terlihat

pada gambar berikut:

Page 13: Modul Mekatronika

Kemudian pasang USB cable pada Arduino dengan port USB yang terdapat pada PC untuk

menguplod program. Buka Arduino IDE, lalu ketikkan program berikut.

// Modul 2 RGB LED

int redPin = 11;

int greenPin = 10;

int bluePin = 9; void setup()

{

pinMode(redPin, OUTPUT);

pinMode(greenPin, OUTPUT);

pinMode(bluePin, OUTPUT);

} void loop()

{

setColor(255, 0, 0); // red

delay(1000);

setColor(0, 255, 0); // green

delay(1000);

setColor(0, 0, 255); // blue

delay(1000);

setColor(255, 255, 0); // yellow

delay(1000);

setColor(80, 0, 80); // purple

delay(1000);

setColor(0, 255, 255); // aqua

delay(1000);

} void setColor(int red, int green, int blue)

{

analogWrite(redPin, red);

analogWrite(greenPin, green);

analogWrite(bluePin, blue);

}

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

Page 14: Modul Mekatronika

MODUL 2

Digital Input Dalam pelajaran ini, Anda akan belajar untuk menggunakan tombol push dengan input digital

untuk mengubah sebuah LED dan mematikan.Menekan tombol satu bagian atas breadboard

untuk menghidupkan LED, menekan tombol lain untuk mengubah LED off.

Switch adalah komponen yang sangat sederhana. Ketika Anda menekan tombol atau flip tuas,

mereka terhubung dua kontak bersama-sama sehingga listrik dapat mengalir melalui

mereka.Sedikit sentuhan switch yang digunakan dalam pelajaran ini memiliki empat koneksi,

yang dapat sedikit membingungkan.

Sebenarnya, hanya ada benar-benar dua sambungan listrik, seperti di dalam pin saklar paket B

dan C terhubung bersama-sama, seperti A dan D.

Berikut komponen yang diperlukan pada percobaan ini:

Breadboard

LED

Resistor 1Kohm

Push Button

Jumper Wires

Page 15: Modul Mekatronika

Berikutnya setelah komponen yang diperlukan telah terkumpul, susun rangkaian seperti terlihat

pada gambar berikut:

Kemudian pasang USB cable pada Arduino dengan port USB yang terdapat pada PC untuk

menguplod program. Buka Arduino IDE, lalu ketikkan program berikut.

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

// MODUL 2 Digital Input

int ledPin = 5;

int buttonApin = 9;

int buttonBpin = 8;

byte leds = 0;

void setup()

{

pinMode(ledPin, OUTPUT);

pinMode(buttonApin, INPUT_PULLUP);

pinMode(buttonBpin, INPUT_PULLUP);

}

void loop()

{

if (digitalRead(buttonApin) == LOW)

{

digitalWrite(ledPin, HIGH);

}

if (digitalRead(buttonBpin) == LOW)

{

digitalWrite(ledPin, LOW);

}

Page 16: Modul Mekatronika

2. Making Sound

Pada percobaan kali ini dilakukan uji coba terhadap penggunaan light sensor. Pada

rangkaian akan dipasangi dengan Light Dependent Resistor dan juga LED. Hasil pembacaan dari

sensor cahaya tersebut nantinya akan menentukan lamanya cahaya yang diberikan oleh LED.

Berikut komponen yang diperlukan pada percobaan ini:

Breadboard

Light Dependent Resistor

100 ohm Resistor

1k ohm Resistor

Jumper Wires

Berikutnya setelah komponen yang diperlukan telah terkumpul, susun rangkaian seperti terlihat

pada gambar berikut:

1. Membuat Suara dari buzzer

Page 17: Modul Mekatronika

Kemudian pasang USB cable pada Arduino dengan port USB yang terdapat pada PC untuk

menguplod program. Buka Arduino IDE, lalu ketikkan program berikut.

//MODUL 3 membuat suara

int speakerPin = 12;

int numTones = 10;

int tones[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440};

// mid C C# D D# E F F# G G# A

void setup()

{

for (int i = 0; i < numTones; i++)

{

tone(speakerPin, tones[i]);

delay(500);

}

noTone(speakerPin);

}

void loop()

{

}

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

2. Sensor LDR dengan Buzzer

Kemudian pasang USB cable pada Arduino dengan port USB yang terdapat pada PC untuk

menguplod program. Buka Arduino IDE, lalu ketikkan program berikut.

Page 18: Modul Mekatronika

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

// MODUL 2 buzzer dengan LDR

int speakerPin = 12;

int photoc ellPin = 0;

void setup()

{

}

void loop()

{

int reading = analogRead(photoc ellPin);

int pitc h = 200 + reading / 4;

tone(speakerPin, pitc h);

}

Page 19: Modul Mekatronika

MODUL 3

LCD

Pada percobaan kali ini dilakukan ujicoba untuk menggunakan LCD. Percobaan sederhana

yang ingin ditampilkan pada layar ialah tulisan “helloworld”, kemudian tulisan tersebut nantinya

dapat bergerak dari kanan ke kiri dan sebaliknya. Berikut komponen yang diperlukan pada

percobaan ini:

Breadboard

LCD

Potensiometer 50k ohm

Jumper Wires

Berikutnya setelah komponen yang diperlukan telah terkumpul, susun rangkaian seperti terlihat

pada gambar berikut:

Page 20: Modul Mekatronika

Kemudian pasang USB cable pada Arduino dengan port USB yang terdapat pada PC untuk

menguplod program. Buka Arduino IDE, lalu ketikkan program berikut.

// MODUL 3 LCD

// include the library code:

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

// set up the LCD's number of columns and rows:

lcd.begin(16, 2);

// Print a message to the LCD. lcd.print("hello, world!");

}

void loop() {

// set the cursor to column 0, line 1

// (note: line 1 is the second row, since counting begins with 0):

lcd.setCursor(0, 1);

// print the number of seconds since reset: lcd.print(millis()/1000);

}

Untuk membuat tulisan dapat bergerak dari kiri ke kanan dan sebaliknya, perlu dilakukan

beberapa penambahan seperi berikut.

void loop() { // scroll 13 positions (string length) to the left

// to move it offscreen left:

for (int positionCounter = 0; positionCounter < 13; positionCounter++) {

// scroll one position left:

lcd.scrollDisplayLeft();

// wait a bit: delay(150);

}

// scroll 29 positions (string length + display length) to the right

// to move it offscreen right:

for (int positionCounter = 0; positionCounter < 29; positionCounter++) {

// scroll one position right:

lcd.scrollDisplayRight();

// wait a bit:

delay(150);

}

// scroll 16 positions (display length + string length) to the left

// to move it back to center:

for (int positionCounter = 0; positionCounter < 16; positionCounter++) {

// scroll one position left:

lcd.scrollDisplayLeft();

// wait a bit:

delay(150);

}

// delay at the end of the full loop:

delay(1000);

}

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

Page 21: Modul Mekatronika

MODUL 4

Motor DC

Dalam percobaan ini, Anda akan belajar bagaimana mengontrol arah dan kecepatan motor DC kecil menggunakan Arduino dan chip driver L293D bermotor. L293D Ini adalah chip yang sangat berguna. Chip ini sebenarnya dapat mengendalikan dua motor independen. Pada percobaan ini hanya menggunakan setengah chip dalam L293D.

Sebuah motor kedua akan dilampirkan antara OUT3 dan OUT4. Anda juga akan

membutuhkan lebih dari tiga pin kontrol.

EN2 terhubung ke PWM diaktifkan keluaran pin pada Arduino

IN3 dan IN4 yang terhubung ke output digital pada Arduino

L293D memiliki dua + V pin (8 dan 16). Pin '+ Vmotor (8) memberikan kekuatan untuk motor,

dan + V (16) untuk logika chip. Kami telah menghubungkan kedua hal ini ke Arduino 5V pin.

Namun, jika Anda menggunakan motor yang lebih kuat, atau motor tegangan yang lebih tinggi,

Anda akanmemberikan motor dengan power supply terpisah menggunakan pin 8 terhubung ke

kekuatan positif pasokan dan dasar listrik kedua terhubung ke tanah dari Arduino.

Berikut komponen yang diperlukan pada percobaan ini:

Page 22: Modul Mekatronika

Breadboard

Motor DC

Push Button

Potensiometer 50Kohm

L293 D

Jumper Wires

Berikutnya setelah komponen yang diperlukan telah terkumpul, susun rangkaian seperti terlihat

pada gambar berikut:

Page 23: Modul Mekatronika

Kemudian pasang USB cable pada Arduino dengan port USB yang terdapat pada PC untuk

menguplod program. Buka Arduino IDE, lalu ketikkan program berikut.

Berikutnya compile dan upload program ke dalam Arduino board. Perhatikan dan catat hasil

yang terjadi, apakah sesuai dengan spesifikasi atau tidak.

// MODUL 4 Motor DC

int enablePin = 11;

int in1Pin = 10;

int in2Pin = 9;

int switc hPin = 7;

int potPin = 0;

void setup()

{

pinMode(in1Pin, OUTPUT);

pinMode(in2Pin, OUTPUT);

pinMode(enablePin, OUTPUT);

pinMode(switc hPin, INPUT_PULLUP);

}

void loop()

{

int speed = analogRead(potPin) / 4;

boolean reverse = digitalRead(switc hPin);

setMotor(speed, reverse);

}

void setMotor(int speed, boolean reverse)

{

analogWrite(enablePin, speed);

digitalWrite(in1Pin, ! reverse);

digitalWrite(in2Pin, reverse);

}