Appearance
Simple Activities - Motion Control
Problem Statement
- Write a code to Alphabot which has to move forward for 2 seconds, turn left for 2 seconds, turn right for 2 seconds, move backward for 2 seconds, and repeat.
Code
#define PWMA 6 // Motor Speed L
#define PWMB 5 // Motor Speed R
#define AIN2 A0 // L - Forward
#define AIN1 A1 // L - Backward
#define BIN1 A2 // R - Backward
#define BIN2 A3 // R - Forward
void setup() {
pinMode(PWMA,OUTPUT);
pinMode(AIN2,OUTPUT);
pinMode(AIN1,OUTPUT);
pinMode(PWMB,OUTPUT);
pinMode(AIN1,OUTPUT);
pinMode(AIN2,OUTPUT);
}
void moveFront(){
analogWrite(PWMA , 250);
analogWrite(PWMB , 250);
digitalWrite(AIN2 , HIGH);
digitalWrite(BIN2 , HIGH);
delay(2000);
analogWrite(PWMA , 0);
analogWrite(PWMB , 0);
delay(2000);
}
void moveLeft(){
analogWrite(PWMB , 250);
digitalWrite(BIN2 , HIGH);
delay(2000);
analogWrite(PWMB , 0);
digitalWrite(BIN2 , LOW);
delay(2000);
}
void moveRight(){
analogWrite(PWMA , 250);
digitalWrite(AIN2 , HIGH);
delay(2000);
analogWrite(PWMA , 0);
digitalWrite(AIN2 , LOW);
delay(2000);
}
void moveBack(){
analogWrite(PWMA , 250);
analogWrite(PWMB , 250);
digitalWrite(AIN1 , HIGH);
digitalWrite(BIN1 , HIGH);
delay(2000);
analogWrite(PWMA , 0);
analogWrite(PWMB , 0);
digitalWrite(AIN1 , LOW);
digitalWrite(BIN1 , LOW);
}
void loop() {
moveFront();
moveLeft();
moveRight();
moveBack();
delay(1000);
}
Output
Exercise 🤖
- Try to make the robot move in a square motion.
- Try to make the robot move in a circular motion.