uint8_t PassoAtual = 1;
#define horario 0
#define anti_horario 1
const int in1 = 0;
const int in2 = 4;
const int in3 = 16;
const int in4 = 17;
void setup(){
Serial.begin(115200);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
void loop(){
Gira(horario,98);
Gira(anti_horario,98);
}
void Gira(uint8_t sentido, unsigned long int Passos)
{
int i;
if(sentido == horario)
{
for(i=0;i<Passos;i++)
{
Serial.print(i);
switch(PassoAtual)
{
case 1:PassoAtual=2;
digitalWrite(in2,1);
digitalWrite(in1,0);
break;
case 2:PassoAtual=3;
digitalWrite(in3,1);
digitalWrite(in2,0);
break;
case 3:PassoAtual=4;
digitalWrite(in4,1);
digitalWrite(in3,0);
break;
case 4:PassoAtual=1;
digitalWrite(in1,1);
digitalWrite(in4,0);
break;
}
delay(700);
}
}
if(sentido == anti_horario)
{
for(i=0;i<Passos;i++)
{
Serial.print(i);
switch(PassoAtual)
{
case 1:PassoAtual=2;
digitalWrite(in2,1);
digitalWrite(in3,0);
break;
case 2:PassoAtual=3;
digitalWrite(in1,1);
digitalWrite(in2,0);
break;
case 3:PassoAtual=4;
digitalWrite(in4,1);
digitalWrite(in1,0);
break;
case 4:PassoAtual=1;
digitalWrite(in3,1);
digitalWrite(in4,0);
break;
}
delay(700);
}
}
}