Accueil / esp8266 / ESP8266 + baromètre numérique BMP180 + Wemos D1 Mini

ESP8266 + baromètre numérique BMP180 + Wemos D1 Mini

Dans ce tutoriel nous allons apprendre comment réaliser un baromètre numérique  à l’aide d’un BMP180 (successeur du BMP085) et d’un ESP8266. Pour réaliser ce tutoriel, j’ai utilisé la Wemos D1 Mini présentée précédemment.

Branchement du BMP180

BMP180Les broches du bus I2C peut varier d’un fabricant à l’autre, j’ai essayer de regrouper dans cet article le repérage des broches des principales cartes disponibles.

Le port I2C sur la Wemos D1 Mini est réservé sur les broches D1 (SCL correspondant au GPIO5) et D2 (SDA correspondant au GPIO4).

Attention. Le BMP180 doit être alimenté avec une tension de 3,3 Volts.

Réalisez le branchement suivant :

GND <–> GND

3V3   <–> VIN (ou 3Vo)

D1     <–> SCL

D2    <–> SDA

ESP8266 BMP180 wemos d1 mini

Code Arduino pour ESP8266

Le codage du BMP180 sur un ESP8266 est identique à un Arduino. J’ai déjà détaillé plusieurs méthodes de codage dans cet article précédent. Pour cet article, nous allons utiliser la librairie Adafruit_BMP085.h. Vous trouverez de nombreux tutoriels sur internet mais pour qu’elle fonctionne, il convient d’initialiser le bus I2C avec la commande Wire.begin(broche SDA, broche SCL);

Le code est parfaitement identique au code Arduino.

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

Adafruit_BMP085 bmp;    

void setup(){
  Serial.begin(9600);
  
  Wire.begin(4, 5);
  if (!bmp.begin()) {
    Serial.println("BMP180 / BMP085 introuvable ! Verifier le branchement ");
    while (1) {}
  }
}

void loop(){
    
  Serial.print("Temperature = ");
  Serial.print(bmp.readTemperature());
  Serial.print(" *C");
  
  Serial.print(" | Pression = ");
  Serial.print(bmp.readPressure());
  Serial.print(" Pa");

  Serial.print(" | Altitude = ");
  Serial.print(bmp.readAltitude());
  Serial.println(" metres");
  
  delay(5000);
}