1. Tujuan [Kembali]
a. Merangkai dan menguji aplikasi output pada mikrokontroller Arduino
b. Merangkai dan menguji input pada mikrokontroller Arduino
c. Merangkai dan menguji I/O pada mikrokontroller Arduino
b. Merangkai dan menguji input pada mikrokontroller Arduino
c. Merangkai dan menguji I/O pada mikrokontroller Arduino
2. Alat [Kembali]
- Module Arduino
- LCD
- LED
- Motor Servo
- jumper
2.1 Mikrokontroler ARDUINO
3. Teori [Kembali]
A. ArduinoArduino 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. Arduino yang kita gunakan pada prkatikum ini adalah arduino mega yang menggunakan chip AVR ATmega 2560 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protocol 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. Dalam memprogram arduino, kita bisa menggunakan serial komunikasi agar arduino dapat berhubungan dengan komputer ataupun aplikasi lain.
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 20 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
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.B. LED
LED adalah suaatu semikonduktor yang memancarkan cahaya, LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n)
dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED
terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus
listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED
diberikan arus terbalik, hanya akan ada sedikit arus yang melewati LED.
Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.
C. LCD
berikut penjelasan kakinya yaitu:
D. JUMPER
Sebagai konektor antar modul satu dengan modul lainnya
E. MOTOR STEPPER
(Motor stepper )mengubah pulsa-pulsa listrik yang diberikan menjadi
gerakan-gerakan diskrit rotor yang disebut langkah (steps). Nilai ratng
dari suatu motor stepper diberikan dalam langkah per putaran (steps per
revolution). Motor stepper umumnya mempunyai kecepatan dan [torsi] yang
rendah.
Motor stepper bekerja berdasarkan pulsa-pulsa yang diberikan pada
lilitan fasenya dalam urut-urutan yang tepat. Selain itu, pulsa-pulsa
itu harus juga menyediakan arus yang cukup besar pada lilitan fase
tersebut. Karena itu untuk pengoperasian motor stepper pertama-tama
harus mendesain suatu sequencer logic untuk menentukan urutan pencatuan
lilitan fase motor dan kemudian menggunkan suatu penggerak (driver)
untuk menyediakan arus yang dibutuhkan oleh lilitan fase
(Motor stepper )mengubah pulsa-pulsa listrik yang diberikan menjadi
gerakan-gerakan diskrit rotor yang disebut langkah (steps). Nilai ratng
dari suatu motor stepper diberikan dalam langkah per putaran (steps per
revolution). Motor stepper umumnya mempunyai kecepatan dan [torsi] yang
rendah.
Motor stepper bekerja berdasarkan pulsa-pulsa yang diberikan pada
lilitan fasenya dalam urut-urutan yang tepat. Selain itu, pulsa-pulsa
itu harus juga menyediakan arus yang cukup besar pada lilitan fase
tersebut. Karena itu untuk pengoperasian motor stepper pertama-tama
harus mendesain suatu sequencer logic untuk menentukan urutan pencatuan
lilitan fase motor dan kemudian menggunkan suatu penggerak (driver)
untuk menyediakan arus yang dibutuhkan oleh lilitan fase
4. Rangkaian [Kembali]
5. Program [Kembali]
#include <LiquidCrystal.h> //library untuk LCD
LiquidCrystal lcd (41,39,37,35,33,31); // menunjukkan pin yang dihubungkan pada di LCD
int m1 = 7; //pin m1 pada L293 dihubungkan ke pin 14 pada Arduino
int m2 = 6; //pin m2 pada L293 dihubungkan ke pin 15 pada Arduino
int m3 = 5; //pin m3 pada L293 dihubungkan ke pin 16 pada Arduino
int m4 = 4; //pin m4 pada L293 dihubungkan ke pin 17 pada Arduino
int led[] = {13,12,11,10};
const int s1 = 16; // switch 1 dihubungkan ke pin 19 pada Arduino
void setup() // Settingan kondisi yang akan digunakan
{
for (int i=0;i<=3;i++)
{
pinMode (led[i], OUTPUT);
}
pinMode(m1,OUTPUT); // menjelaskan bahwa pin m1 sebagai output
pinMode(m2,OUTPUT); // menjelaskan bahwa pin m2 sebagai output
pinMode(m3,OUTPUT); // menjelaskan bahwa pin m3 sebagai output
pinMode(m4,OUTPUT); // menjelaskan bahwa pin m4 sebagai output
pinMode(s1, INPUT); // menjelaskan switch 1 sebagai input
digitalWrite(s1, HIGH); // menjelaskan kondisi awal dari switch 1 berlogika high
lcd.begin(16,2);
}
void loop() // Perulangan dari semua kondisi yang ditetapkan
{
int switch1 = digitalRead (s1); // tetapkan switch 1 sebagai input dengan pembacaan digital
if (switch1 == HIGH)
{
lcd.setCursor (0,0); // posisi kursor lcd
lcd.print ("Motor Hidup"); // cetak pada lcd
delay(50);
lcd.clear(); // reset LCD
delay(1); // delay selama 1 ms
analogWrite (m1,0); // m1 kondisi dengan nilai analog 50 dari 255
analogWrite (m2,80); // m2 kondisi mati
analogWrite (m3,80); // m3 kondisi dengan nilai analog 50 dari 255
analogWrite (m4,0); // m4 kondisi mati
{
for(int i=3;i>=0;i--)
{
digitalWrite (led[i], HIGH);
delay(50);
digitalWrite (led[i], LOW);
}
}
}
else
{
lcd.setCursor (0,0); // posisi kursor lcd
lcd.print ("Motor Mati"); // cetak LCD
lcd.clear(); // reset LCD
digitalWrite (m1,LOW); // m1 kondisi mati
digitalWrite (m2,LOW); // m1 kondisi mati
digitalWrite (m3,LOW); // m1 kondisi mati
digitalWrite (m4,LOW); // m1 kondisi mati
}
} // m4 kondisi mati
6. Flowchart [Kembali]
7. Video Simulasi [Kembali]
8. Analisa Hubungan Rangkaian & Program [Kembali]
Rangkaian diatas merupakan rangkaian sederhana dari pengunaan Arduino
untuk Mengatur kecepatan Putaran dari Motor DC. Pada rangkaian terdapat
tiga buah switch yang mana switch pertama digunakan untuk mengatur gerak
motor DC dengan kecepatan pelan, sedangkan switch kedua digunakan untuk
mengatur gerak dari motor DC dengan kecepatan sedang. sedangkan switch
ketiga digunakan untuk mengatur gerak dari motor DC dengan kecepatan
cepat.
Tidak ada komentar:
Posting Komentar