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
No comments:
Post a Comment