//TAREA 2 EN GRUPO: PROG 1 

/*Sea: "1a" -> IN1
       "1b" -> IN2
       "2a" -> IN3
       "2b" -> IN4
*/

int IN1 = 8;
int IN2 = 9;
int IN3 = 10;
int IN4 = 11;
int demora = 20; /*DEMORA ENTRE PASOS, NO PUEDE SER MENOR A 10ms. 
                  (por la frecuencia máx de operación, 
                  que le da tiempo a energizar bobina y 
                  movilizar el rotor a su posición).*/

//MATRIZ
int matriz_medio_paso [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() {
  //ESTABLECEMOS PINES DIGITALES COMO SALIDAS.
  pinMode(IN1,OUTPUT);
  pinMode(IN2,OUTPUT);
  pinMode(IN3,OUTPUT);
  pinMode(IN4,OUTPUT);
}


void loop() {
  
  for (int i=0; i<512; i++){  //512 * 8 = 4096 pasos para una revolución (82 seg por vuelta).{
    for (int j=0; j<8; j++){ //PONDRÁ EN CADA OUTPUT EL VALOR DE LA MATRIZ EN ESA POSICIÓN
        digitalWrite(IN1, matriz_medio_paso [j][0]); 
        digitalWrite(IN2, matriz_medio_paso [j][1]);
        digitalWrite(IN3, matriz_medio_paso [j][2]);
        digitalWrite(IN4, matriz_medio_paso [j][3]);
        delay(demora);
    }
  }
}
$abcdeabcde151015202530354045505560fghijfghij