Ce que vous apprendrez

utilisation du capteur de pression barométrique GY-68 BMP180

Prérequis

GY-68 BMP180

Contenu du cours

Le capteur de pression barométrique GY-68 BMP180 est un module électronique qui permet de mesurer la pression atmosphérique et la température de l'air. Il peut être utilisé pour réaliser un baromètre, ou une station météo avec une carte Arduino ou Raspberry Pi.  Le capteur de pression barométrique GY-68 BMP180 est basé sur le capteur BMP180 de Bosch, qui est la nouvelle génération du célèbre capteur BMP085. Il offre une meilleure précision, une plus faible consommation et une plus large plage de mesure que son prédécesseur. Ce capteur est composé d’une puce BMP180 qui permet de mesurer la pression atmosphérique comprise entre 300 et 1100 hPa et une température allant de -40°C à +85°C avec une précision de plus ou moins  2 degré , d’un régulateur de tension 3.3V , un convertisseur de niveau logique I2C et des résistances de tirage (pull-up) sur les lignes I2C et de 4 broches .En mesurant cette pression, il devient possible de déterminer l’altitude à laquelle nous nous trouvons. Ainsi, le capteur BMP180 agit comme un altimètre, fournissant des mesures précises de l’altitude par rapport au niveau de la mer. Il fonctionne avec une tension d'alimentation de 3 à 5 volts et communique avec le microcontrôleur via le protocole I2C. Il dispose de deux broches d'alimentation (VCC et GND) et de deux broches de données (SDA et SCL).

 

Les caractéristiques principales du capteur de pression barométrique GY-68 BMP180 sont  :

           Alimentation : de 3 à 5 Volts

           Faible consommation : 5 µA pour 1 mesure par seconde

            Plage de mesure de la pression atmosphérique : de 300 à 1100 hPa (9000 m à -500 m au-dessus du niveau de la mer)

           Précision de mesure : 0,03 hPa pour la pression et ±2 °C pour la température

        Fonctionnement : de -40°C à +85°C

           Interface : I2C

           Dimensions : 13 x 10 x 2 mm

            Poids : 1 g


1.  
Matériels requis 

       Une carte Arduino Uno

       Un capteur BMP180 (modèle GY-68)

       Des fils de connexion

 

2.    Procédure de câblage du capteur de pression barométrique GY-68 BMP180 avec la carte Arduino

Le câblage est le suivant :

 

Broches du capteur

Broches de la carte Arduino Uno

VIN

5V

GND

GND

SDA

A4

SCL

A5

 

 

Étape 1 : Téléchargez et installez la bibliothèque Adafruit BMP180 pour Arduino.

       Ouvrez l’IDE Arduino.

       Allez dans “Croquis” > “Inclure une Bibliothèque” > “Gérer les Bibliothèques…”

     Attendez que le Gestionnaire de bibliothèques télécharge l’index des bibliothèques et mette à jour la liste des bibliothèques installées.

       Filtrez votre recherche en tapant ‘BMP180 ’.

       Recherchez “Adafruit BMP085 Library” par Adafruit et cliquez sur cette entrée.

       Cliquez sur “Installer” pour installer la bibliothèque.

       https://github.com/LowPowerLab/SFE_BMP180  Cliquez sur ce lien pour télécharger la bibliothèque SFE BMP180 qui viendra sous forme d’un fichier compressé ensuite décompressez ce fichier dans le dossier  Documents\Arduino\libraries

       Définissez la pression au niveau de la mer en hPa et l'altitude de votre ville par rapport au niveau de la mer dans le code Arduino.

 

Étape 2 :  Ouvrez l’IDE Arduino et créez un nouveau sketch. Copiez et collez le code suivant

 

#include <SFE_BMP180.h>

#include <Wire.h>

SFE_BMP180 bmp; // Créez un objet bmp

#define SEALEVELPRESSURE_HPA (1013.25) // Définissez la pression au niveau de la mer en hPa

#define Altitude 54 // Définissez l'altitude de votre ville par rapport au niveau de la mer

 

void setup() {

  Serial.begin(9600); // Commencez la communication série

  if (bmp.begin()) { // Initialiser le capteur

    Serial.println("Capteur BMP180  trouvé");

  } else {

    Serial.println("Capteur BMP180 non trouvé");

    while(1); // Arrêtez le programme si le capteur n'est pas détecté

  }

}

 Appuyez ici pour accéder au code Arduino 

void loop() {

  char status; // Créez une variable pour stocker le statut du capteur

  double T,P,p0,a; // Créez des variables pour stocker la température, la pression, la pression au niveau de la mer et l'altitude

  status = bmp.startTemperature(); // Commencez une mesure de température

  if (status != 0) { // Si la mesure a commencé

    delay(1000); // Attendez que la mesure soit terminée

    status = bmp.getTemperature(T); // Obtenez la valeur de température en °C

    if (status != 0) { // Si la valeur est valide

      Serial.print("Temperature: ");

      Serial.print(T,2);

      Serial.println(" C");

 

      status = bmp.startPressure(3); // Commencez une mesure de pression avec une résolution maximale

      if (status != 0) { // Si la mesure a commencé

        delay(status); // Attendez que la mesure soit terminée

        status = bmp.getPressure(P,T); // Obtenez la valeur de pression en hPa

        if (status != 0) { // Si la valeur est valide

          Serial.print("Pressure: ");

          Serial.print(P,2);

          Serial.println(" hPa");

         p0 = bmp.sealevel(P,Altitude); // Calculez la pression au niveau de la mer en fonction de l'altitude connue (1655 mètres dans cet exemple)

          Serial.print("Pression au niveau de la mer à l'altitude donné: ");

          Serial.print(p0,2);

          Serial.println(" hPa");

          a = bmp.altitude(P,p0); // Calculez l'altitude en fonction de la pression au niveau de la mer

          Serial.print("Altitude: ");

          Serial.print(a,2);

          Serial.println(" m");

        } else {

          Serial.println("Erreur lors de la lecture de la pression\n");

        }

      } else {

        Serial.println("Erreur lors du démarrage de la mesure de pression\n");

      }

    } else {

      Serial.println("Erreur lors de la lecture de la température\n");

    }

  } else {

    Serial.println("Erreur lors du démarrage de la mesure de température\n");

  }

  Serial.println(); // Imprimez une ligne vide

  delay(3000); // Attendez 3 secondes avant la prochaine mesure

}

 

Étape 3 : Téléversez le code sur votre carte Arduino et ouvrez le moniteur série. Vous verrez la pression, la température et l’altitude  mesurée s’afficher sur le moniteur.


Etape 4 : Test effectué sur le capteur

 

Afin de tester le capteur, j'ai modifié à plusieurs reprises  l'emplacement du capteur afin de faire varier la température, la pression et l'altitude. Par la suite, j'ai utilisé le site PLANETCAL (lien : Calculatrice en ligne: Pression à une altitude donnée (planetcalc.com)) qui propose une calculatrice en ligne. Cette dernière permet de déterminer la pression à une altitude donnée en se basant sur la pression au niveau de la mer, la température et l'altitude. J'ai ainsi pu vérifier les valeurs de température, de pression et d'altitude obtenues par le capteur, ce qui a confirmé l'exactitude des résultats fournis par le capteur.


Voici quelques exemples d’applications possibles du capteur de pression barométrique BMP180 :

       un baromètre Arduino qui montre la pression de l’air et l’altitude sur un écran ou un ordinateur .

        une station météo Arduino qui mesure la pression et d’autres données du climat et les envoie sur internet ou sur un téléphone.

       un altimètre Arduino qui mesure l’altitude avec la pression et la température . Cela peut être utile pour les drôles et les GPS.

        un contrôleur de ventilateur Arduino qui mesure la pression dans un boîtier et ajuste la vitesse du ventilateur en fonction de la température et du flux d’air.

 

Dans ce tutoriel, nous avons appris à utiliser le capteur BMP180 pour mesurer la pression atmosphérique et la température avec une carte Arduino. Nous avons vu comment câbler le capteur, installer les bibliothèques nécessaires et écrire des codes Arduino pour afficher les données sur le moniteur série. Nous avons également découvert les applications pratiques du capteur BMP180, comme la création d’un baromètre, d’une station météo, d’un altimètre ou d’un capteur de niveau d’eau. Le capteur BMP180 est un module facile à utiliser et précis qui peut enrichir vos projets Arduino avec des informations utiles sur l’environnement.

Comment utiliser le capteur de pression barométrique GY-68 BMP180 ?

Catégorie

Programmation

Durée

01:00:00

Nombre de vidéos

0

Certificat de fin de formation

NON