vendredi 11 juin 2021

Mesurer la pression atmosphérique et la température avec le BMP180 et le Raspberry Pi Pico

Dans cet article, nous mesurons la pression atmosphérique et la température au moyen d'un module BMP180 relié à un Raspberry Pi Pico programmé en MicroPython.


Avant d'aller plus loin, j'aimerais vous faire remarquer que le BMP180 est plutôt désuet, comme capteur. Il n'est plus fabriqué par Bosch, et les modules BMP180 qui avaient été mis au point par Adafruit et Sparkfun ne sont plus commercialisés. Mais mon module BMP180 fonctionne très bien, et je ne vois donc aucune raison de le remplacer par autre chose.


Connexions

Puisque le BMP180 utilise le bus I2C, 4 fils sont suffisants pour connecter le module au Raspberry Pi Pico:

  • Broche VIN du module BMP180 : Sortie 3,3 V du Raspberry Pi Pico
  • Broche GND du module BMP180: Broche GND du Raspberry Pi Pico
  • Broche SCL du module BMP180: Broche GP9 du Rasbperry Pi Pico
  • Broche SDA du module BMP180: Broche GP8 du Raspberry Pi Pico

Installation du pilote MicroPython

J'ai utilisé ce pilote MicroPython bmp180.py. Si vous tentez de l'utiliser tel quel, toutefois, vous obtiendrez probablement le message d'erreur "OSError: I2C operation not supported".


Le problème réside dans la ligne 47 du fichier bmp180.py: la méthode I2C.start() n'est pas supportée par MicroPython sur Raspberry Pi Pico. La bonne nouvelle, c'est que tout semble fonctionner correctement si vous commentez ou effacez le contenu de la ligne 47 ("self._bmp_i2c.start()"):



Après avoir modifié le fichier bmp180.py, il est important de le copier à l'intérieur du Raspberry Pi Pico.


Script

Voici un script assez minimaliste qui affiche à chaque seconde la température (en degrés Celsius) et la pression (en kilopascals). 

-

-

À lire également

  • Pour transformer votre Raspberry Pi Pico en station météorologique, vous pouvez ajouter un DHT22 qui mesure, en plus de la température, l'humidité relative.


Yves Pelletier (Facebook)

2 commentaires:

  1. même en supprimant la ligne 47 ça ne fonctionne pas

    RépondreSupprimer
  2. Ne fonctionne pas à supprimer car inutile

    RépondreSupprimer