#define MOTOR_DISABLE 0
#define MOTOR_FORWARD 1
#define MOTOR_REVERSE 2
class Motor
{
public:
Motor(int mosfet, int relayA, int relayB)
{
_mosfet=mosfet;
_relayA=relayA;
_relayB=relayB;
pinMode(_mosfet, OUTPUT);
pinMode(_relayA, OUTPUT);
pinMode(_relayB, OUTPUT);
};
void forward()
{
digitalWrite(_mosfet,HIGH);
delay(100);
digitalWrite(_relayA,HIGH);
digitalWrite(_relayB,LOW);
_state=MOTOR_FORWARD;
};
void reverse()
{
digitalWrite(_mosfet,HIGH);
delay(100);
digitalWrite(_relayA,LOW);
digitalWrite(_relayB,HIGH);
_state=MOTOR_REVERSE;
};
void disabled()
{
digitalWrite(_mosfet,LOW);
delay(100);
digitalWrite(_relayA,LOW);
digitalWrite(_relayB,LOW);
_state=MOTOR_DISABLE;
};
private:
int _mosfet;
int _relayA;
int _relayB;
int _state;
};
//инициализация
Motor motor1(10,2,3);
Motor motor2(11,4,5);
Motor motor3(12,6,7);
Motor motor4(13,8,9);
void setup()
{
};
void loop()
{
motor1.forward();
motor2.forward();
motor3.forward();
motor4.forward();
motor1.reverse();
motor2.reverse();
motor3.reverse();
motor4.reverse();
};