Étape 3: CODIGO
la valeur de BUZZER comme alias P1.3
int LMOTOR = P1_3 ; Définissez LMOTOR comme P2.1 alias
int RMOTOR = P1_2 ; définir RMOTOR comme P1.2 alias
const int RLPHOTO = A2 ;
const int RRPHOTO = A3 ;
int MICINP = A5 ; définir MICINP comme alias A5
int LPHOTO = 0 ;
int RPHOTO = 0 ;
int MPOW = 225 ; moteurs d’utiliser 50 % de la valeur PWM (valeurs possibles: 0-255)
int MICTHRESH = 600 ; la valeur seuil de déclenchement de microphone (valeurs possibles: 0-1023)
int i ;
int val ;
maxval int ;
int mi = 0 ;
mn int = 0 ;
mx int = 0 ;
void setup()
{
Mettez votre code de programme d’installation ici, pour exécuter une fois :
jeu de sorties
pinMode (LMOTOR, sortie) ;
pinMode (RMOTOR, sortie) ;
Serial.Begin(9600) ;
int val = 0 ;
pour (int j = 0; j < = 5; j ++) //Calibrating le capteur, trouver max et
{//min valeurs de réflectance.
Val = analogRead(j) ;
Si (val > = mx)
MX = val ;
Si (val < = mn)
mn = val ;
}
Delay(1) ;
Mid = ((mx + mn)/2) ;
}
void loop()
{
Mettez votre code principal ici, pour exécuter à plusieurs reprises :
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) ; désactiver les deux moteurs
analogWrite(RMOTOR,0) ;
MPOW = 0 ;
} else {}
Si ((RPHOTO > LPHOTO)) //Move gauche
{
analogWrite (RMOTOR, 255) ;
analogWrite (LMOTOR, 0) ;
} ElseIf ((RPHOTO < LPHOTO)) {}
analogWrite (LMOTOR, 255) ;
analogWrite (RMOTOR, 0) ;
} ElseIf ((RPHOTO == LPHOTO)) {}
analogWrite (LMOTOR, 0) ;
analogWrite (RMOTOR, 0) ;
}
}
}
Nota este carro sigue una linea Blanca, parámetros d’estos x para usar serial monitor d’ONU o multimetro el
para comprobar el valor de lectura y que este vaya de acuerdo a sus condiciones