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
Durée
01:00:00
Nombre de vidéos
0
Certificat de fin de formation
NON