Blogroll

MODUL II
MIKROKONTROLLER ARDUINO 2560



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 

2. Alat [Kembali]

  1. Module Arduino
  2.   LCD
  3.  LED
  4. Motor Servo
  5. jumper

2.1 Mikrokontroler ARDUINO


3. Teori [Kembali]

A. Arduino

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. 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

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.

a. HTML ( download )
b. Video  ( download )
c. Program ( download )
d. Rangkaian Percobaan ( download )




Tidak ada komentar:

Posting Komentar