//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);
}
}
}