Arduino, utiliser un capteur BMP180

Le capteur BMP180 est un grand classique pour la prise de température, pression, il permet aussi d’estimer l’altitude. Son utilisation sur un arduino est ici décrite.

Le capteur BMP180 est une solution afin de prendre la température, la pression et l’altitude. Son coup est peu éleve et son utilisation très simple. J’ai trouvé le capteur sur Amazon.

Prérequis

Matériel

Assurer vous d’avoir en votre possession, le catpeur BMP180, j’ai réalisé ce tutoriel avec cet arduino, les deux sont disponibles sur amazon, suivre les liens pour les voir et pourquoi pas les commander.

Utiliser également une breadboard (platine de test) pour simplifier le câblage et prototypage -> disponible ici.

Logiciel

Il faut que vous ayez déjà installé Arduino sur votre OS, voir l’article « installer Arduino« .

La bibliothèque pour la gestion existe déjà, je décrirais son installation plus bas.

Présentation du capteur BMP180

Le capteur BMP permet de mesurer :

[table id=12 /]

Il fonctionne avec une interface I2c, son utilisation présente donc l’avantage d’occuper peut de pin de l’arduino.

Installation de la bibliothèque

Comme pour beaucoup de composant considéré comme incontournables, des bibliothèques existe déjà pour l’utilisation du BMP180 ou BMP85.

Rendez-vous sur la page le git d’adafruit, pour télécharger la bibliothèque -> voici la page.

Dans le logiciel Arduino, cliquez sur Croquis/Importer bibliothèque/Add library… puis allez récupérer l’archive précédemment télécharger, elle doit se présenter en fichier ZIP, les différents fichiers se trouve directement dans l’archive, il ne doit pas y avoir de dossier intermédiaire.

Une fois installée, redémarrer le logiciel puis allez sur Fichier/exemples/Adafruit_BMP085 et cliquez sur BMP085test.

Le code de test s’affiche dans une nouvelle fenêtre.

Ce code permet d’afficher sur le moniteur série Arduino la température, la pression, l’altitude et l’altitude réel (en fonction de la pression la pression réelle au niveau de la mer).

Câblage du BMP180 et de l’arduino

De part l’utilisation du protocole I2c, son câblage est très simple, je n’ai pas fait de dessin ou schéma, il suffit de faire :

  • Broche GND du capteur sur le GND de l’arduino
  • Broche VIN du capteur sur le 3.3V de l’arduino, le BMP180 fonctionne en 3.3V et non en 5V
  • Broche SCL du capteur sur la pin A5 de l’arduino nano (correspond à la pin SCL de l’arduino)
  • Broche SDA du capteur sur la pin A4 de l’arduino nano (correspond à la pin SDA de l’arduino)

Code Arduino pour le test de l’arduino

Celui provient directement de l’exemple fourni par la bibliothèque :

#include <Wire.h>
#include <Adafruit_BMP085.h>

// Connecter VCC du BMP085 ou BMP180 au 3.3V (PAS SUR LE5.0V!)
// Connecter GND au GND de l'arduino
// Connecter SCL au i2c clock la pin A5 de l'arduino nano
// Connecter SDA au i2c data la pin A4 de l'arduino nano

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
	Serial.println("Impossible de trouver un capteur valide, verifiez la connexion!");
	while (1) {}
  }
}
  
void loop() {
    Serial.print("Temperature = ");
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");
    
    Serial.print("Pressure = ");
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");
    
    // Calcul de l'altitude en fonction d'une pression barométrique standard
    // pression de 1013.25 millibar = 101325 Pascal
    Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(" meters");

  // Vous pouvez avoir une mesure de l'altitude plus précise
  // si tu connais la pression atmosphérique actuelle au niveau de la mer
  // si elle est de 1015 millibar
  // elle est égale à 101500 Pascals.
    Serial.print("Real altitude = ");
    Serial.print(bmp.readAltitude(101500));
    Serial.println(" meters");
    
    Serial.println();
    delay(500);
}

Résultat sur le moniteur série

Moniteur série BMP180
Moniteur série BMP180

Laisser un commentaire