Daisypath Friendship tickers

Minggu, 11 November 2012

Mengontrol Arah Motor DC



Alat dan bahan yang dibutuhkan :
# Arduino Duemilanove atau Arduino UNO
# 1A Motor Shield
# 2 buah motor DC

Tumpuk shield di atas board Arduino, kemudian tulis sketch berikut pada program.
// Motor shield ini menggunakan pin 4,5,6,7 untuk mengontrol 2 motor
// Sambungkan motor DC ke M1+, M1-, M2+, M2-
// Upload sketch ke Arduino
// Via serial monitor, ketikkan "a", "s", "d", "w", dan "x"
// untuk mengontrol kedua motor
// Last Modified : 24 Feb 2010, GERAI CERDAS
 
#define leftMotor_Dir 4     // arah putar (Motor 2 / Kiri)
#define leftMotor_Vel 5     // kontrol kecepatan (Motor 2 / Kiri)
#define rightMotor_Vel 6    // kontrol kecepatan (Motor 1 / Kanan)
#define rightMotor_Dir 7    // arah putar (Motor 1 / Kanan)   
 
void rightMotor(int pwm, boolean reverse) {
  analogWrite(rightMotor_Vel, pwm);
  if (reverse) digitalWrite(rightMotor_Dir, HIGH);
  else digitalWrite(rightMotor_Dir, LOW);
}

void leftMotor(int pwm, boolean reverse) {
  analogWrite(leftMotor_Vel, pwm);
  if (reverse) digitalWrite(leftMotor_Dir, HIGH);
  else digitalWrite(leftMotor_Dir, LOW);
}
        
void setup() 
{ 
    int i; 
    for(i=4;i<=7;i++)    //set pin 4,5,6,7 to output mode
    pinMode(i, OUTPUT);  
    Serial.begin(9600);   
} 
 
 
void loop() 
{ 
  int x,delay_en;
  char val;
  while(1)
  {
    val = Serial.read();
    if(val!=-1)
       {
          switch(val)
           {
             case 'w':// Maju
             rightMotor(100,true);
             leftMotor(100,true);
             break;
             
             case 'x':// Mundur
             rightMotor(100,false);
             leftMotor(100,false);
             break;
             
             case 'a':// Kiri
             rightMotor(100,false);
             leftMotor(100,true);
             break;       
             
             case 'd':// Kanan
             rightMotor(100,true);
             leftMotor(100,false);
             break;   
             
             case 's':// Stop
             rightMotor(0,false);
             leftMotor(0,false);
             break;            }              }              }                            }
Upload sketch di atas, lalu aktifkan mode Serial Monitor. Ketikkan "a", "s", "d", "w", dan "x" untuk mengatur arah putaran motor DC. Program di atas dapat diaplikasikan untuk robot beroda dua. Selamat mencoba

Tidak ada komentar:

Posting Komentar