// 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);
}
No hay comentarios:
Publicar un comentario