const int pin1=25;
const int pin2=26;
const int pin3=27;
const int pin4=14;
int secuencia [8][4] = {
{1, 0, 0, 0},
{1, 1, 0, 0},
{0, 1, 0, 0},
{0, 1, 1, 0},
{0, 0, 1, 0},
{0, 0, 1, 1},
{0, 0, 0, 1},
{1, 0, 0, 1}
};
void setup(){
pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
Serial.begin(9600);
Serial.println("Ingrese los grados s girar: ");
}
void girarMotor(float grados){
float pasosPorGrado= 200.0/360.0;
int pasosTotales = int(pasosPorGrado*abs(grados));
int pasosReales= pasosTotales/4;
int stepCount= sizeof(secuencia)/ sizeof(secuencia[0]);
for(int i=0; i<pasosReales;i++){
for(int j=0; j<stepCount; j++){
digitalWrite(pin1, secuencia[j][0]);
digitalWrite(pin2, secuencia[j][1]);
digitalWrite(pin3, secuencia[j][2]);
digitalWrite(pin4, secuencia[j][3]);
delay(10);
}
}
}
void loop(){
if(Serial.available()>0){
float grados = Serial.parseFloat();
if(Serial.read()=='\n'){
girarMotor(grados);
Serial.println("Ingrese los grados a girar:");
}
}
}