Etape 6: Réglage de la boucle de régulation
L’objectif est d’obtenir les deux photo-résistances lire le même niveau de lumière. Le programme ce calcule en soustrayant un capteur de lumière de valeur de l’autre. Si cette valeur est égale à zéro (0), les capteurs de lumière sont les deux lire le même niveau de lumière. Si ce n’est pas le cas, le programme continuera à tourner le robot pour corriger cette erreur. Une fois que ce résultat est obtenu, le robot devrait faire face à la source de lumière.
Dans cette boucle de contrôle très simple, la consigne est égale à zéro (où les deux capteur de lumière sont lire la même valeur). La sortie est la vitesse du moteur et la direction.
Il est peu probable que le programme fonctionne très bien sans quelques ajustements. Cela s’appelle « tuning la boucle ».
La valeur du gain est définie à « 3 » pour commencer. Réglage de la valeur, c’est comment la boucle de contrôle est à l’écoute. Si le robot se tourne vers rapide ou est intérimaire « jumpy » réduire le gain. Si le robot se déplace lentement à, augmentez la valeur de gain. Après avoir réglé le gain, rechargez le programme et voir si le comportement du robot s’est améliorée. Bonne chance!
case « g »: //follow la lumière
gain = 3 ;
temp_var = (lightsensor_left - lightsensor_right) * gain ;
Si (temp_var > 0)
{
digitalWrite (dir_a, HIGH) ;
digitalWrite (dir_b, basse) ;
Serial.println ("rotation Left\n") ;
}
d’autre
{
digitalWrite (dir_a, basse) ;
digitalWrite (dir_b, HIGH) ;
Serial.println ("rotation Right\n") ;
}
Serial.println(temp_var) ;
temp_var=ABS(temp_var) ;
if(temp_var > 255)
{
temp_var = 255 ;
}
analogWrite (pwm_a, temp_var) ;
analogWrite (pwm_b, temp_var) ;
rupture ;