Percobaan 1 modul 2



Gambar 1. Motor DC

Gambar 2 Motor Driver

Gambar 3. Arduino Uno













 #define in1 10       //Deklarasi pin 10 sebagai input 1

#define in2 9     //Deklarasi pin 9 sebagai input 2

#define in3 6       //Deklarasi pin 6 sebagai input 3

#define in4 5     //Deklarasi pin 5 sebagai input 4

// #define duration 2000

void setup() {      //Semua kode dalam fungsi ini di eksekusi sekali

  pinMode(in1, OUTPUT); //Deklarasi in1 sebagai OUTPUT

  pinMode(in2, OUTPUT); //Deklarasi in2 sebagai OUTPUT

  pinMode(in3, OUTPUT); //Deklarasi in3 sebagai OUTPUT

  pinMode(in4, OUTPUT); //Deklarasi in4 sebagai OUTPUT

}

 void loop() {  //Semua kode dalam fungsi ini dieksekusi berulang

digitalWrite(in1, HIGH);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in3 diberi logika 1
digitalWrite(in4, HIGH); //in4 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//maju
digitalWrite(in1, LOW);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in1 diberi logika 0
digitalWrite(in4, LOW); //in2 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//diam
digitalWrite(in1, HIGH);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in3 diberi logika 1
digitalWrite(in4, LOW); //in4 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//kanan
digitalWrite(in1, LOW);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in1 diberi logika 0
digitalWrite(in4, LOW); //in2 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//diam
digitalWrite(in1, HIGH);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in3 diberi logika 1
digitalWrite(in4, HIGH); //in4 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//maju
digitalWrite(in1, LOW);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in3 diberi logika 1
digitalWrite(in4, LOW); //in4 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//diam
digitalWrite(in1, LOW);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in3 diberi logika 1
digitalWrite(in4, HIGH); //in4 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//kiri
digitalWrite(in1, LOW);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in1 diberi logika 0
digitalWrite(in4, LOW); //in2 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//diam
digitalWrite(in1, HIGH);  //in1 diberi logika 1
digitalWrite(in2, LOW); //in2 diberi logika 0
digitalWrite(in3, LOW);  //in3 diberi logika 1
digitalWrite(in4, HIGH); //in4 diberi logika 0
delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi
//maju
}




1.    analisa program dan rangkaian saat kita ingin membuat motor tersebut maju selama 1 detik lalu belok kanan selama 1 detik,maju lagi 1 detik, belok kiri 1 detik lalu lurus lagi 1 detik menggunakan 2 motor?

Jawab :

Setelah saya anlisa jika kita ingin membuat motor melaju dengan kondisi di atas yang perlu kita lakukan hanyalah merubah rubah logika yang ada pada listing program Arduino nya saja seperti yang sudah saya buat di bawah ini :

 

#define in1 10       //Deklarasi pin 10 sebagai input 1

 

#define in2 9     //Deklarasi pin 9 sebagai input 2

 

#define in3 6       //Deklarasi pin 6 sebagai input 3

 

#define in4 5     //Deklarasi pin 5 sebagai input 4

 

// #define duration 2000

 

void setup() {      //Semua kode dalam fungsi ini di eksekusi sekali

 

  pinMode(in1, OUTPUT); //Deklarasi in1 sebagai OUTPUT

 

  pinMode(in2, OUTPUT); //Deklarasi in2 sebagai OUTPUT

 

  pinMode(in3, OUTPUT); //Deklarasi in3 sebagai OUTPUT

 

  pinMode(in4, OUTPUT); //Deklarasi in4 sebagai OUTPUT

 

}

 

 void loop() {  //Semua kode dalam fungsi ini dieksekusi berulang

 

digitalWrite(in1, HIGH);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in3 diberi logika 1

digitalWrite(in4, HIGH); //in4 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//maju

digitalWrite(in1, LOW);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in1 diberi logika 0

digitalWrite(in4, LOW); //in2 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//diam

digitalWrite(in1, HIGH);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in3 diberi logika 1

digitalWrite(in4, LOW); //in4 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//kanan

digitalWrite(in1, LOW);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in1 diberi logika 0

digitalWrite(in4, LOW); //in2 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//diam

digitalWrite(in1, HIGH);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in3 diberi logika 1

digitalWrite(in4, HIGH); //in4 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//maju

digitalWrite(in1, LOW);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in3 diberi logika 1

digitalWrite(in4, LOW); //in4 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//diam

digitalWrite(in1, LOW);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in3 diberi logika 1

digitalWrite(in4, HIGH); //in4 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//kiri

digitalWrite(in1, LOW);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in1 diberi logika 0

digitalWrite(in4, LOW); //in2 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//diam

digitalWrite(in1, HIGH);  //in1 diberi logika 1

digitalWrite(in2, LOW); //in2 diberi logika 0

digitalWrite(in3, LOW);  //in3 diberi logika 1

digitalWrite(in4, HIGH); //in4 diberi logika 0

delay(1000);                     //Jarak waktu 1000 ms setelah input dieksekusi

//maju

}

Dari program yang saya buat di atas saya membayangkan  menggerakan 2 motor tersebut seperti menggerakan kursi roda jadi kalau ingin ke kanan kita menggerakan motor yang kiri dan jika ingin belok kiri kita menggerakan motor yang kanan saja. Dan saya memberi konndisi diam dimana semuanya low, karena saya berpikir jika dia langsung bergerak tiba2 gerkannya akan kacau dan bisa error

1

7. Download [kembali]

1. Video - Download
2. Rangkaian - Download
3. List Program - Download
4. Data Sheet IC L293D - Download
5. Data Sheet Motor DC - Download
6. library arduino - download

No comments:

Post a Comment