Untitled

Anonymous
plain_text
04/08/2026 1:22 PM
1.7 KB
9
Indexable
// Pin Defining the pins
const int ENA = 3;   // PWM speed - Channel A
const int IN1 = 5;   // Direction - Channel A
const int IN2 = 6;   // Direction - Channel A
const int IN3 = 9;   // Direction - Channel B
const int IN4 = 10;  // Direction - Channel B
const int ENB = 11;  // PWM speed - Channel B

// Setup
void setup() {
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  pinMode(ENB, OUTPUT);
}

// Motor Control Functions

void moveForward(int speed) {
  analogWrite(ENA, speed);
  analogWrite(ENB, speed);
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

void moveBackward(int speed) {
  analogWrite(ENA, speed);
  analogWrite(ENB, speed);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
}

void stopMotors() {
  analogWrite(ENA, 0);
  analogWrite(ENB, 0);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}

// Example of the Loop
void loop() {
  moveForward(200);
  delay(2000);

  stopMotors();
  delay(500);

  moveBackward(200);
  delay(2000);

  stopMotors();
  delay(1000);
}
Editor is loading...
Leave a Comment