Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 8 : Ligne 8 :  
Pour les applications nécessitant des mesures précises, la calibration est nécessaire pour obtenir une valeur de référence fiable.
 
Pour les applications nécessitant des mesures précises, la calibration est nécessaire pour obtenir une valeur de référence fiable.
   −
[[Fichier:ADX335-326-Calibr-01.jpg]]
+
{{ADFImage|ADX335-326-Calibr-01.jpg}}
    
=== La gravité comme référence de calibration ===
 
=== La gravité comme référence de calibration ===
Ligne 16 : Ligne 16 :  
Pour calibrer un senseur avec la référence gravitationnelle, vous avez besoin de déterminér la sortie du senseur pour chaque axe lorsque celui est précisément aligné avec l'attraction terrestre (attraction gravitationnelle). Une calibration de laboratoire (de grande qualité) utilisé des gabarits/supports d'une grande précision. La méthode décrite ci-dessous est simple et fournit des résultats d'une étonnante qualité.   
 
Pour calibrer un senseur avec la référence gravitationnelle, vous avez besoin de déterminér la sortie du senseur pour chaque axe lorsque celui est précisément aligné avec l'attraction terrestre (attraction gravitationnelle). Une calibration de laboratoire (de grande qualité) utilisé des gabarits/supports d'une grande précision. La méthode décrite ci-dessous est simple et fournit des résultats d'une étonnante qualité.   
   −
[[Fichier:ADX335-326-Calibr-02.png]]
+
{{ADFImage|ADX335-326-Calibr-02.png}}
    
=== Monter le senseur ===
 
=== Monter le senseur ===
 
Pour commencer, montez/placez le senseur sur un petit breadboard comme celui que vous pouvez voir ci-dessous. La fond et les côtés du breadboard peuvent servir de références planes d'une relativement bonne précision. Cela permettra d'orienter le senseur avec précision suffisamment bonne afin d'effectuer la calibration.
 
Pour commencer, montez/placez le senseur sur un petit breadboard comme celui que vous pouvez voir ci-dessous. La fond et les côtés du breadboard peuvent servir de références planes d'une relativement bonne précision. Cela permettra d'orienter le senseur avec précision suffisamment bonne afin d'effectuer la calibration.
   −
[[Fichier:ADX335-326-Calibr-03.jpg|300px]]
+
{{ADFImage|ADX335-326-Calibr-03.jpg|300px}}
    
=== Raccorder le senseur ===
 
=== Raccorder le senseur ===
Ligne 27 : Ligne 27 :  
Raccordez le senseur comme présenté ci-dessous.  C'est un circuit équivalent à celui présenté dans la page précedente. Il y a un bouton en plus.
 
Raccordez le senseur comme présenté ci-dessous.  C'est un circuit équivalent à celui présenté dans la page précedente. Il y a un bouton en plus.
   −
[[Fichier:ADX335-326-Calibr-04.jpg|640px]]
+
{{ADFImage|ADX335-326-Calibr-04.jpg|640px}}
    
=== Exécuter le sketch de calibration ===
 
=== Exécuter le sketch de calibration ===
Ligne 86 : Ligne 86 :  
void loop()  
 
void loop()  
 
{
 
{
 +
  // Lecture de la mesure dans les 3 axes.
 +
  // Selon l'orientation physique , une seule des valeurs xRaw, yRaw, zRaw
 +
  // s'éloigne vraiment de la valeur de mi-échelle (et donc s'écarte vraiment de 512).
 
   int xRaw = ReadAxis(xInput);
 
   int xRaw = ReadAxis(xInput);
 
   int yRaw = ReadAxis(yInput);
 
   int yRaw = ReadAxis(yInput);
Ligne 92 : Ligne 95 :  
   if (digitalRead(buttonPin) == LOW)
 
   if (digitalRead(buttonPin) == LOW)
 
   {
 
   {
 +
    // Envoi les 3 valeurs lue vers la calibration.
 +
    // Une seule valeur de xRaw, yRaw, zRaw s'écarte vraiment de 512.
 +
    // Le fait que ce soit xRaw, yRAw, zRaw depend de l'orientation du senseur.
 
     AutoCalibrate(xRaw, yRaw, zRaw);
 
     AutoCalibrate(xRaw, yRaw, zRaw);
 
   }
 
   }
Ligne 118 : Ligne 124 :  
      
 
      
 
     // Convertir les valeurs brutes en 'milli-G'
 
     // Convertir les valeurs brutes en 'milli-G'
 +
    // passe de [+0 .. +1024] (analogique) à [-1000 .. +1000] (mili-G)
 
     long xScaled = map(xRaw, xRawMin, xRawMax, -1000, 1000);
 
     long xScaled = map(xRaw, xRawMin, xRawMax, -1000, 1000);
 
     long yScaled = map(yRaw, yRawMin, yRawMax, -1000, 1000);
 
     long yScaled = map(yRaw, yRawMin, yRawMax, -1000, 1000);
Ligne 155 : Ligne 162 :     
//
 
//
// Find the extreme raw readings from each axis
+
// Trouver la valeurs brute la plus extrême pour chaque axe et la memorise
 
//
 
//
 
void AutoCalibrate(int xRaw, int yRaw, int zRaw)
 
void AutoCalibrate(int xRaw, int yRaw, int zRaw)
29 917

modifications

Menu de navigation