Documentos de Académico
Documentos de Profesional
Documentos de Cultura
inLDR1=A0;
inLDR2=A1;
outMotor1=6; // para que sea sigue linea se deben invertir los pines 6 y
outMotor2=5;
int LDR1=0;
int LDR2=0;
int LDR1Prom=0;
int Error1=0;
int LDR2Prom=0;
int Error2=0;
void setup() {
Serial.begin(9600);
delay(1000);
pinMode(outMotor1,OUTPUT);
pinMode(outMotor2,OUTPUT);
pinMode(inLDR1,INPUT);
pinMode(inLDR2,INPUT);
//calculando errores y valor promedio en negro
iniciando();
//Serial.println("**************");
//Serial.print(Error1);
//Serial.print(" ");
//Serial.print(Error2);
//Serial.print(" ");
//Serial.print(LDR1Prom);
//Serial.print(" ");
//Serial.println(LDR2Prom);
}
void iniciando()
{
long uno=0,dos=0;
int max1=1,max2=0,min1=0,min2=0;
min1=analogRead(inLDR1);
min2=analogRead(inLDR2);
for(int i=0;i<100;i++){
LDR1=analogRead(inLDR1);
if(LDR1>max1) max1=LDR1;
if(LDR1<min1) min1=LDR1;
LDR2=analogRead(inLDR2);
if(LDR2>max2) max2=LDR2;
if(LDR2<min2) min2=LDR2;
uno+=LDR1;
dos+=LDR2;
delay(10);
}
Error1=(max1-min1)/2;
Error2=(max2-min2)/2;
LDR1Prom=(uno/100);
LDR2Prom=(dos/100);
return;
}
void loop() {
LDR1 = analogRead(inLDR1);
LDR2 = analogRead(inLDR2);
delay(10);
if(LDR1>(LDR1Prom+10)){
digitalWrite(outMotor1,HIGH);
/*if((5*(LDR1-LDR1Prom))>250){
analogWrite(outMotor1,250);
}else{
analogWrite(outMotor1,5*(LDR1-LDR1Prom));
}*/
}else{
//digitalWrite(0,LOW);
digitalWrite(outMotor1,LOW);
}
//////////////////////
if(LDR2>(LDR2Prom+10)){
digitalWrite(outMotor2,HIGH);
/*if((5*(LDR2-LDR2Prom))>250){
analogWrite(outMotor2,250);
}else{
analogWrite(outMotor2,5*(LDR2-LDR2Prom));
}*/
}else{
//digitalWrite(0,LOW);
digitalWrite(outMotor2,LOW);
}
// print that variable over the serial connection
Serial.print(LDR1);
Serial.print(" -> ");
Serial.print(LDR1Prom);
Serial.print(" * ");
Serial.print(LDR2);
Serial.print(" -> ");
Serial.println(LDR2Prom);
}
Imgenes del proyecto.