SKETCH YANG PERLU DIKETIK:
// Penetapan Nama Variabel motor dan pin yang ditentukan
int ENA = 10; // pengatur kecepatan motor kiri di pin 10 pwm
int IN1 = 9; //IN1 motor kiri
int IN2 = 8; //IN2 motor kiri
int IN3 = 5; //IN3 motor kanan
int IN4 = 4; //IN4 motor kanan
int ENB = 3; // pengatur kecepatan motor kanan di pin 3 pwm
void setup()
{
pinMode(IN1, OUTPUT); // in1 kiri
pinMode(IN2, OUTPUT); // in2 kiri
pinMode(IN3, OUTPUT); // in3 kanan
pinMode(IN4, OUTPUT); // in4 kanan
pinMode(ENA, OUTPUT); // nilai kecepatan motor kiri
pinMode(ENB, OUTPUT); // nilai kecepatan motor kanan
}
void loop(){
forward(); //MAJU selama 3 detik
delay(3000);
reverse();//MUNDUR selama 3 detik
delay(3000);
right(); //BELOKKANAN selama 2 detik
delay(2000);
left(); //BELOKKIRI selama 2 detik
delay(2000);
stop_bot(); //STOP selama 2 detik
delay(2000);
}
void forward(){
analogWrite(ENA, 250); //Left Motor Speed
analogWrite(ENB, 250); //Right Motor Speed
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void reverse(){
analogWrite(ENA, 250); //Left Motor Speed
analogWrite(ENB, 250); //Right Motor Speed
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void right(){
analogWrite(ENA, 250); //Left Motor Speed
analogWrite(ENB, 250); //Right Motor Speed
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void left(){
analogWrite(ENA, 250); //Left Motor Speed
analogWrite(ENB, 250); //Right Motor Speed
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void sharpRightTurn(){
analogWrite(ENA, 250); //Left Motor Speed
analogWrite(ENB, 250); //Right Motor Speed
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void sharpLeftTurn() {
analogWrite(ENA, 250); //Left Motor Speed
analogWrite(ENB, 250); //Right Motor Speed
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void stop_bot(){
analogWrite(ENA, 0); //Left Motor Speed
analogWrite(ENB, 0); //Right Motor Speed
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
