Modifications

Sauter à la navigation Sauter à la recherche
1 207 octets ajoutés ,  17 février 2014 à 13:21
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{BMP085-NAV}}
 
{{BMP085-NAV}}
   −
{{traduction}}
+
{{ambox-stop|text=Cette page s'applique à l'ancienne génération de pilotes et reste<br />disponible pour référence. Il est vivement recommandé d'utiliser le nouveau pilote<br />BMP085 'Unifié'  (API v2) pour tous vos futures projets. }}
   −
{{bloc-etroit|text=To use this sensor and calculate the altitude and barometric pressure, there's a lot of very hairy and unpleasant math. You can check out the math in the datasheet but really, its not intuitive or educational - its just how the sensor works. So we took care of all the icky math and wrapped it up into a nice Arduino library. You can [http://learn.adafruit.com/bmp085/downloads download the library from github]
+
{{bloc-etroit|text=Il faut utiliser beaucoup d'épouvantables opérations mathématiques déplaisantes pour utiliser ce senseur et calculer l'altitude ainsi que la pression barométrique. Vous pouvez consulter la fiche technique mais à vrai dire, ce n'est pas très intuitif ni très pédagogique - c'est juste la façon dont le senseur fonctionne.  
 +
 
 +
Pour prendre en charge toute cette complexité mathématique, AdaFruit dispose d'une librairie Arduino. Vous pouvez [http://learn.adafruit.com/bmp085/downloads télécharger cette librairie sur le Github d'AdaFruit]
    
Pour installer la librairie:
 
Pour installer la librairie:
* To download the library click the DOWNLOADS button in the top right corner.
+
* Cliquez sur le bouton '''DOWNLOADS''' en haut à droite.
* rename the uncompressed folder '''Adafruit_BMP085'''. Check that the '''Adafruit_BMP085''' folder contains Adafruit_BMP085.cpp and '''Adafruit_BMP085.h'''
+
* Renommez le répertoire décompressé en '''Adafruit_BMP085'''.  
* Place the BMP085 library folder yourarduinosketchfolder/libraries/ folder. You may need to create the libraries subfolder if its your first library.  
+
* Vérifiez que le répertoire Adafruit_BMP085 contienne bien les fichiers '''Adafruit_BMP085.cpp''' et '''Adafruit_BMP085.h'''
* Restart the IDE.
+
* Placez la librairie BMP085 dans le répertoire '''répetoire_des_sketch_arduino/libraries/'''.<br />Vous pourriez avoir besoin de créer un sous répertoire ''libraries'' si c'est votre première librairie.  
 +
* Redémarrez votre environnement Arduino IDE.
   −
Now you can run this first example sketch.
+
Maintenant, vous pouvez compiler et télécharger ce premier sketch d'exemple.
 
}}
 
}}
   −
  <nowiki>   #include "Wire.h"
+
  <nowiki>#include "Wire.h"
    #include "Adafruit_BMP085.h"
+
#include "Adafruit_BMP085.h"
    Adafruit_BMP085 bmp;
+
 
    void setup() {
+
Adafruit_BMP085 bmp;
 +
 
 +
void setup() {
 
     Serial.begin(9600);
 
     Serial.begin(9600);
 
     bmp.begin();
 
     bmp.begin();
    }
+
}
    void loop() {
+
 
 +
void loop() {
 
     Serial.print("Temperature = ");
 
     Serial.print("Temperature = ");
 
     Serial.print(bmp.readTemperature());
 
     Serial.print(bmp.readTemperature());
 
     Serial.println(" *C");
 
     Serial.println(" *C");
     Serial.print("Pressure = ");
+
     Serial.print("Pression = ");
 
     Serial.print(bmp.readPressure());
 
     Serial.print(bmp.readPressure());
 
     Serial.println(" Pa");
 
     Serial.println(" Pa");
 
     Serial.println();
 
     Serial.println();
 
     delay(500);
 
     delay(500);
    }</nowiki>
+
}</nowiki>
 +
 
 +
Ouvrez ensuite le moniteur série d'Arduino (sur le début de 9600 bauds).
 +
 
 +
Le sketch va continuellement afficher la température en '''°C''' et la pression en '''Pa''' (Pascals).
   −
Then open up the serial monitor at 9600 baud. The sketch will continuously print out the temperature in '''°C''' and pressure in '''Pa''' (Pascals). You can test that the sensor is measuring variations in temperature and pressure by placing your fingertip over the open port hole in the top of the sensor. The temperature and pressure will increase as you can see here:  
+
Vous pouvez tester les variations de mesure du senseur (en pression et température) en plaçant votre doigt au dessus du trou du senseur. La température et la pression augmenteront comme vous pouvez le constater ici:  
   −
[[Fichier:BMP085-Utiliser-00.jpg]]
+
{{ADFImage|BMP085-Utiliser-00.jpg}}
   −
== Altitude Measurements ==
+
== Mesure d'Altitude ==
Since we know that pressure drops as we gain altitude (that's why air is so thin on mountain-tops) we can compute the current altitude knowing the pressure and temperature. Again, there's a bit of hairy math involved, [http://en.wikipedia.org/wiki/Barometric_pressure you can read about the calculations on wikipedia] (where this graph is from).  
+
Puisque nous savons que la pression chute lorsque l'altitude augmente (c'est pourquoi l'air est si ténu en haute altitude) nous pouvons calculer l'altitude actuelle a partir de la pression et de la température. Encore un fois, cela implique encore ces épouvantables opérations mathématiques, [http://en.wikipedia.org/wiki/Barometric_pressure vous pouvez en apprendre plus sur ces calcul sur Wikipédia (''anglais'')] (d'où provient le graphique).  
   −
[[Fichier:BMP085-Utiliser-01.png]]<br />
+
{{ADFImage|BMP085-Utiliser-01.png}}<br />
 
<small>Source: [http://en.wikipedia.org/wiki/Barometric_pressure Wikipedia]</small>
 
<small>Source: [http://en.wikipedia.org/wiki/Barometric_pressure Wikipedia]</small>
   −
With the Arduino library, we take care of that for you! Simply run this sketch which will return the current altitude based on the pressure.
+
La librairie Arduino d'AdaFruit prend soin de tous ces aspects pour vous! Exécutez simplement le sketch qui retournera l'altitude actuelle à partir de la pression atmosphérique.
    
  <nowiki>    #include "Wire.h"
 
  <nowiki>    #include "Wire.h"
Ligne 55 : Ligne 65 :  
     Serial.print(bmp.readTemperature());
 
     Serial.print(bmp.readTemperature());
 
     Serial.println(" *C");
 
     Serial.println(" *C");
     Serial.print("Pressure = ");
+
     Serial.print("Pression = ");
 
     Serial.print(bmp.readPressure());
 
     Serial.print(bmp.readPressure());
 
     Serial.println(" Pa");
 
     Serial.println(" Pa");
     // Calculate altitude assuming 'standard' barometric
+
     // Calculer l'altitude en considérant le pression
     // pressure of 1013.25 millibar = 101325 Pascal
+
     // barométrique 'standard' de 1013.25 millibar = 101325 Pascal
 
     Serial.print("Altitude = ");
 
     Serial.print("Altitude = ");
 
     Serial.print(bmp.readAltitude());
 
     Serial.print(bmp.readAltitude());
     Serial.println(" meters");
+
     Serial.println(" metres");
 
     Serial.println();
 
     Serial.println();
 
     delay(500);
 
     delay(500);
 
     }</nowiki>
 
     }</nowiki>
   −
Run the sketch to see the calculated altitude.
+
Exécutez ce sketch et voyez l'altitude calculée.
 +
 
 +
{{ADFImage|BMP085-Utiliser-02.jpg}}
 +
 
 +
Par exemple: selon le senseur, nous somme actuellement à 21.5m sous le niveau de la mer.
 +
 
 +
Le seul problème c'est que nous savons pertinemment que nous ne sommes pas nous ne niveau de la mer!
   −
[[Fichier:BMP085-Utiliser-02.jpg]]
+
Alors, quel est le problème avec le senseur? Aucun, le senseur fonctionne correctement. Le problème c'est que la pression au niveau de l'océan change en fonction des conditions climatiques.  
   −
For example, according to the sensor we are 21.5m below sea level. Only problem is, I know for a fact that our current location is not below sea level! So what's wrong with the sensor? Turns out the sensor is just fine. The problem is that the pressure at sea level changes with the weather. So we need to 'normalize' the sensor, and let it know what the sea-level pressure is. You can look up the current sea level pressure on any weather site.
+
Il faut donc 'normaliser' (''normalize'') le senseur, et lui faire savoir quel est la pression atmosphérique au niveau de la mer. Vous pouvez obtenir la pression barométrique au niveau de la mer sur beaucoup de site de prévision atmosphérique.
   −
[[Fichier:BMP085-Utiliser-03.jpg]]
+
{{ADFImage|BMP085-Utiliser-03.jpg}}
   −
Unfortunately there are half-dozen different units of pressure. here we see it in inches, that's technically "Mercury Inches" or "Hg Inches We need it in Pascals, so [ http://www.engineeringtoolbox.com/pressure-units-converter-d_569.html we'll convert it]!
+
Il existe malheureusement une demi-douzaine d'unités de pression différentes. Sur l'exemple cet exemple elle est exprimée en pouce ('''inches'''), c'est techniquement la hauteur de mercure exprimé en pouce (''Mercury Inches'' or ''Hg Inches''), en Europe il existe encore "millimètre de Mercure" (''mmHg''). Nous avons besoin de cette pression en Pascals, donc [http://www.engineeringtoolbox.com/pressure-units-converter-d_569.html nous allons la convertir]!
   −
[[Fichier:BMP085-Utiliser-04.jpg]]
+
{{ADFImage|BMP085-Utiliser-04.jpg}}
   −
OK so that's 101,964 Pascals. Open up the '''Examples->BMP085test''' example from the Arduino IDE menubar and edit the line where you pass in the 'corrected' altitude.  
+
Cela fait donc 101,964 Pascals. ouvrez le programme '''Examples->BMP085test''' dans Arduino IDE (depuis la barre de menu) et modifiez la ligne pour y passer en argument la pression actuelle au niveau de la mer. Nous aurons maintenant une évaluation correcte de l'altitude.  
   −
[[Fichier:BMP085-Utiliser-05.jpg]]
+
{{ADFImage|BMP085-Utiliser-05.jpg}}
   −
Now it will print out the correct altitude! 30 meters which is a lot better.  
+
Voila, il affichera maintenant l'altitude correcte! soit 30 mètres, ce qui est nettement mieux.  
   −
[[Fichier:BMP085-Utiliser-06.jpg]]
+
{{ADFImage|BMP085-Utiliser-06.jpg}}
    
{{BMP085-TRAILER}}
 
{{BMP085-TRAILER}}
29 917

modifications

Menu de navigation