Mise en route d’un capteur de pression, température et humidité <em>Strinity Sensors Cobber</em> I²C

Mise en route d’un capteur de pression, température et humidité Strinity Sensors Cobber I²C

J’ai acheté une carte chez Banggood pour me faire une mini station météo :

http://www.banggood.com/4-in-1-Temperature-Pressure-Altitude-Light-Sensor-Module-p-965547.html?p=0431091025639201412F.

C’est une carte “trois en un” qui permet de mesurer :

  • la luminosité ambiante (U3:TSL2561, 0x39)
  • la pression et l’altitude (U4:BMP180, 0x77)
  • la température et l’humidité (U5:AM2321, 0x5C)

Elle offre la possibilité de sélectionner la tension (3.3 V ou 5V) à l’aide d’un bouton.

La mise en route fut un peu fastidieuse vu qu’il n’y a pas de doc sur Banggood. Heureusement, Adafruit propose deux pilotes pour la carte BMP180 :

La version “Unified” nécessite également cette librairie :

https://github.com/adafruit/Adafruit_Sensor

et un pilote pour la carte TSL2561 :

Pour la mesure de température, ça se corse parce qu’Adafruit n’a qu’un pilote pour la carte AM2315 et il ne fonctionne pas avec la carte AM2321 :

Sinon Wangdong propose un pilote qui ne fonctionne pas non plus :

Il me reste plus qu’à lire la spec en chinois ;-) https://www.microduino.cc/wiki/images/d/d1/AM2321.pdf

En attendant, j’ai testé la luminosité et la pression et les mesures ont l’air cohérentes, ce qui est un bon point. À noter quand même que la carte BMP180 retourne aussi la température.

Les pinoches de la carte sont trop courtes (ou placées trop en retrait) et elle ne tient pas bien dans le breadboard. C’est pour ça que j’ai utilisé les fils.

J’ai utilisé des pullups de 4.7 kΩ sur le bus I²C.

Bon, j’ai décidé de m’y remettre après une semaine de pause et comme le capteur de température ne veut rien savoir, j’ai utilisé un scanner I²C disponible ici :

http://playground.arduino.cc/Main/I2cScanner

Résultat des courses : Le capteur de température ne répond pas ! Et il semble que je ne sois pas le seul dans ce cas, un autre client de Banggod a mentionné ce problème aussi. Bon, je peux quand même lire la température indiquée par le capteur de pression…

Et comme une image vaut mille mots, j’ai fait une jolie photo du PCB et je me suis rendu compte que le capteur de température n’y est pas… je pouvais le chercher longtemps sur le bus I²C ! Grrr ! La morale de cette histoire, c’est qu’il vaut mieux commencer par prendre le temps de regarder de près les cartes bon marché !

Liens