Modifications

Sauter à la navigation Sauter à la recherche
Ligne 184 : Ligne 184 :  
# Vous pouvez obtenir les valeurs brutes des senseurs en utilisant la méthode '''read()''', qui reçoit un argument optionnel qui vous permet d'effectuer une lecture  avec les diodes émettrices éteintes (note: l'extinction des diodes émettrices est uniquement possible pour les senseurs QTR-8x).
 
# Vous pouvez obtenir les valeurs brutes des senseurs en utilisant la méthode '''read()''', qui reçoit un argument optionnel qui vous permet d'effectuer une lecture  avec les diodes émettrices éteintes (note: l'extinction des diodes émettrices est uniquement possible pour les senseurs QTR-8x).
 
# Vous pouvez obtenir les valeurs calibrées en utilisant la méthode '''readCalibrated()''', qui dispose également d'un argument optionnel vous permetant de faire une lecture avec les LED IR éteintes. Les valeurs calibrées ont toujours une valeur située entre 0 à 1000, où 0 étant considérée comme la plus réfléchissante (ex: la plus blanche) que la surface la plus réfléchissante rencontrée durant la phase de calibration -ET- 1000 étant la surtface la moins réfléchissante (ex: plus noir) que la surface la moins réfléchissante rencontrée durant la phase de calibration.
 
# Vous pouvez obtenir les valeurs calibrées en utilisant la méthode '''readCalibrated()''', qui dispose également d'un argument optionnel vous permetant de faire une lecture avec les LED IR éteintes. Les valeurs calibrées ont toujours une valeur située entre 0 à 1000, où 0 étant considérée comme la plus réfléchissante (ex: la plus blanche) que la surface la plus réfléchissante rencontrée durant la phase de calibration -ET- 1000 étant la surtface la moins réfléchissante (ex: plus noir) que la surface la moins réfléchissante rencontrée durant la phase de calibration.
# For line-detection applications, you can request the line location using the '''readLine()''' method, which takes as optional parameters a boolean that indicates whether the line is white on a black background or black on a white background, and a boolean that indicates whether the IR emitters should be on or off during the measurement. '''readLine()''' provides calibrated values for each sensor and returns an integer that tells you where it thinks the line is. If you are using N sensors, a returned value of 0 means it thinks the line is on or to the outside of sensor 0, and a returned value of 1000 * (N-1) means it thinks the line is on or to the outside of sensor N-1. As you slide your sensors across the line, the line position will change monotonically from 0 to 1000 * (N-1), or vice versa. This line-position value can be used for closed-loop PID control.
+
# Les applications de détection de ligne peuvent demander la position de la ligne en utilisant la méthode '''readLine()'''. '''readline()''' accepte un premier argument booléen optionnel qui indique la couleur de la ligne (ligne noire sur fond blanc -ou- ligne blanche sur fond noir). Le second argument optionnel indique si les LEDs Infrarouge doivent être allumées ou éteintes durant la mesure. '''readLine()''' utilise les valeurs de calibration pour chaque senseur et retourne un entier qui indique la position supposée de la ligne. Si vous utilisez N senseurs, une valeur 0 retournée signifie que la ligne est sous le senseur 0 (ou au-delà du senseur 0) et retourne une valeur 1000x(N-1) si la ligne est sous le senseur N-1 (ou entre le senseur N-1 -dernier senseur) ou au-delà de ce dernier).  
   −
A sample routine to obtain the sensor values and perform rudimentary line following would be:
+
Lorsque vous déplacez le senseur perpendiculairement à la ligne, la position de la ligne changera de façon monotone entre 0 et 1000 * (N-1) ou vice versa. Changer de façon {{underline|monotone}} indique le la valeur croit (ou décroit) constamment dans le même sens.
 +
 
 +
Cette position de ligne peut être utilisée pour dans un contrôle PID en boucle fermée.
 +
 
 +
Une routine élémentaire permettant de suivre une ligne en utilisant les valeurs du senseur et effectuer le suivit de ligne pourrait ressembler à ceci:
    
<syntaxhighlight lang="C">void loop()
 
<syntaxhighlight lang="C">void loop()
 
{
 
{
 
   unsigned int sensors[3];
 
   unsigned int sensors[3];
   // get calibrated sensor values returned in the sensors array, along with the line position
+
   // obtenir les valeurs calibrées du senseur (dans un tableau de senseur)
   // position will range from 0 to 2000, with 1000 corresponding to the line over the middle
+
  // ainsi que la position de la ligne dans une gamme de valeur de
  // sensor.
+
   // 0 à 2000, avec 1000 retournée pour la ligne au milieu du senseur.
 
   int position = qtr.readLine(sensors);
 
   int position = qtr.readLine(sensors);
 
   
 
   
29 917

modifications

Menu de navigation