#define back 39
// G I R O //
float anterior = 0, espera = 50, TIME; // Mientras mas chico este valor va más rápido.
boolean estadoMotor = true;
// Con la función millis se hace un contador para poder girar del motor.
void setup()
{
pinMode(step, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(forw, INPUT);
pinMode(back, INPUT);
}
void loop()
{
TIME = millis();
// G I R O _ A D E L A N T E//
if(digitalRead(forw)== HIGH)
{
digitalWrite(dir, HIGH);
if(TIME - anterior > espera)
{
anterior = TIME;
estadoMotor =! estadoMotor;
if(estadoMotor == true)
{digitalWrite(step, HIGH);}
else
{digitalWrite(step, LOW);}
}
}
// G I R O _ A T R A S//
if(digitalRead(back)== HIGH)
{
digitalWrite(dir, LOW);
if(TIME - anterior > espera)
{
anterior = TIME;
estadoMotor =! estadoMotor;
if(estadoMotor == true)
{digitalWrite(step, HIGH);}
else
{digitalWrite(step, LOW);}
}
}
delay(10);
}