Paso 3: CODIGO
establecer timbre como alias P1.3
int LMOTOR = P1_3; establecer LMOTOR como alias P2.1
int RMOTOR = P1_2; fijado de RMOTOR como alias P1.2
const int RLPHOTO = A2;
const int RRPHOTO = A3;
int MICINP = A5; establecer MICINP como alias de A5
int LPHOTO = 0;
int RPHOTO = 0;
int MPOW = 225; conjunto motores utilizar 50% PWM (posibles valores 0-255)
int MICTHRESH = 600; ajuste umbral de activación de micrófono (valores posibles 0-1023)
int i;
int val;
int maxval;
int mitad = 0;
int mn = 0;
mx int = 0;
void setup()
{
Pon tu código de instalación, para ejecutar una vez:
conjunto de salidas
pinMode (LMOTOR, salida);
pinMode (RMOTOR, salida);
Serial.Begin(9600);
int val = 0;
para (int j = 0; j < = 5; j ++) //Calibrating el sensor, encontrar máximos y
{//min los valores de reflectancia.
Val = analogRead(j);
Si (val > = mx)
MX = val;
Si (val < = mn)
MN = val;
}
Delay(1);
medio = ((mx + mn)/2);
}
void loop()
{
Pon tu código principal, para ejecutar varias veces:
analogWrite (RMOTOR, MPOW);
analogWrite (LMOTOR, MPOW);
RPHOTO = analogRead(RRPHOTO);
LPHOTO = analogRead(RLPHOTO);
Serial.println ("R");
Serial.println(RPHOTO);
Serial.println ("L");
Serial.println(LPHOTO);
analogWrite (RMOTOR, 200);
analogWrite (LMOTOR, 200);
Delay(1);
Si ((RPHOTO > mid) & &(LPHOTO > mid)) {}
analogWrite(LMOTOR,0); apagar ambos motores
analogWrite(RMOTOR,0);
MPOW = 0;
} else {}
Si ((RPHOTO > LPHOTO)) //Move izquierda
{
analogWrite (RMOTOR, 255);
analogWrite (LMOTOR, 0);
} else if ((RPHOTO < LPHOTO)) {}
analogWrite (LMOTOR, 255);
analogWrite (RMOTOR, 0);
} else if ((RPHOTO == LPHOTO)) {}
analogWrite (LMOTOR, 0);
analogWrite (RMOTOR, 0);
}
}
}
Nota este carro sigue una linea Blanca, para marco estos parametros usar el serial monitor de las Naciones Unidas o multimetro
para comprobar el valor de lectura y que este vaya de acuerdo a sus condiciones