// Sketch de para el robot seguidor de luz

//El robot incorpora dos ldrs

int E1=12;

int I1=11;

int I2=10;

int E2=7;

int I3=8;

int I4=9;

int ldr1=0;

int nivelLuz1=0;

int nivelLuz2=0;

int ldr2=1;

void setup()

{

Serial.begin(9600);

pinMode(E1, OUTPUT);

pinMode(I1, OUTPUT);

pinMode(I2, OUTPUT);

pinMode(E2, OUTPUT);

pinMode(I3, OUTPUT);

pinMode(I4, OUTPUT);

}

void loop()

{

nivelLuz1=analogRead(ldr1);

Serial.println(nivelLuz1);

nivelLuz2=analogRead(ldr2);

Serial.println(nivelLuz2);

if (nivelLuz1>450 && nivelLuz2>450)

{

adelanteMotor1();

adelanteMotor2();

}

if (nivelLuz1<450 && nivelLuz2<450)

{

pararMotor1();

pararMotor2();

}

if (nivelLuz1<450 && nivelLuz2>450)

{

derechaMotor1();

pararMotor2();

}

if (nivelLuz1>450 && nivelLuz2<450)

{

pararMotor1();

izquierdaMotor2();

}

}

void adelanteMotor1()

{

digitalWrite(E1, HIGH);

digitalWrite(I1, HIGH);

digitalWrite(I2, LOW);

}

void adelanteMotor2()

{

digitalWrite(E2, HIGH);

digitalWrite(I3, HIGH);

digitalWrite(I4, LOW);

}

void pararMotor1()

{

digitalWrite(E1, LOW);

}

void pararMotor2()

{

digitalWrite(E2, LOW);

}

void atrasMotor1()

{

digitalWrite(E1, HIGH);

digitalWrite(I1, LOW);

digitalWrite(I2, HIGH);

}

void atrasMotor2()

{

digitalWrite(E2, HIGH);

digitalWrite(I3, LOW);

digitalWrite(I4, HIGH);

}

void derechaMotor1()

{

digitalWrite(E1, HIGH);

digitalWrite(I1, HIGH);

digitalWrite(I2, LOW);

}

void derechaMotor2()

{

digitalWrite(E2, LOW);

digitalWrite(I3, LOW);

digitalWrite(I4, LOW);

}

void izquierdaMotor1()

{

digitalWrite(E1, LOW);

digitalWrite(I1, LOW);

digitalWrite(I2, LOW);

}

void izquierdaMotor2()

{

digitalWrite(E2, HbIGH);

digitalWrite(I3, HIGH);

digitalWrite(I4, LOW);

}