You are on page 1of 2

*/

#define IN1 12 //Bueno esto es las definiciones


#define IN2 11
#define IN3 10
#define IN4 9

int LDR1pin=A0; //mas definiciones por aca tmb algunas inicializaciones


int LDRadc=0;
float LDRvoltaje=0;
int LDR1led=13;
int steps_left=4095;
boolean Direction = true;
int Steps = 0;

int Paso [ 8 ][ 4 ] = //arreglo


{ {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()
{
Serial.begin(115200); //definimos cuales seran entradas y cuales
seran salidas
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode (LDR1pin, INPUT);
pinMode (LDR1led, OUTPUT);
}

void loop()
{
Sensores(); //primero corremos los sensores
while(steps_left>0) //esto en espa�ol es pasos restantes como es uno de paso a
paso con reduccion 1/64 sale 4095 por eso si inicializa ahi
{ //ahora si es mayor a 0 lo que hara es la funcion
stepper
stepper() ; // Avanza un paso
steps_left-- ; // A lo que avanza un paso logicamente disminuye la
cantidad de pasos restantes
delay (1000) ; //esto lo puse para poder probarlo a unos Leds para ver
si se comporta como queremos esta en ms.
}
delay(300); //se detiene 0.3ms
steps_left=4095; //cuando de una vuelta los pasos restantes seran 0 o un
numero negativo entonces reinicializamos a 4095 y se repite el bucle
}

void stepper() //Avanza un paso


{
digitalWrite( IN1, Paso[Steps][ 0] ); //steps esta en cero y es la columna del
arreglo que iran variando a la que avanza hasta 7
digitalWrite( IN2, Paso[Steps][ 1] );
digitalWrite( IN3, Paso[Steps][ 2] );
digitalWrite( IN4, Paso[Steps][ 3] );

SetDirection();
}

void SetDirection()
{ while{(Steps >=0 && Steps <= 7)
Steps++;
} Steps=0;
}
void Apagado(){
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
}

void LDR(){
LDRadc=analogRead(LDR1pin);
LDRvoltaje=LDRadc*(5.0/1023.0);
Serial.print ("Voltaje del LDR: ");
Serial.println(LDRvoltaje);
if (LDRvoltaje<=4.50){
digitalWrite(LDR1led, HIGH);
}
else digitalWrite(LDR1led, LOW);

void Sensores(){
if (LDR1led == HIGH)
Apagado();
}

You might also like