#ifndef MOTORS_H // Include guard to prevent duplicate inclusion
#define MOTORS_H
#include <Arduino.h> // For Arduino-specific functions (e.g., digitalWrite)
class Motor {
private:
int pin1; // Motor control pin 1 (e.g., IN1 on L298N)
int pin2; // Motor control pin 2 (e.g., IN2 on L298N)
int pwmPin; // PWM pin for speed control (e.g., ENA on L298N)
int speed; // Current speed (0-255)
public:
// Constructor: Initialize motor pins
Motor(int pin1, int pin2, int pwmPin);
// Set up motor pins (call in setup())
void begin();
// Control motor direction and speed
void forward(int speed = 255);
void reverse(int speed = 255);
void stop();
void brake(); // Short brake (stops motor instantly)
};
#endif // MOTOR_H