Plusieurs BMP280 sur UNO

Bonjour,

J'ai plusieurs BMP280 et, j'aimerais les connecter sur un seul arduino uno.

Donc pour se faire, il faut passer par I2C et non ISP.

Malheureusement, je ne trouve pas de librairie dans lesquelles je definisse les broches à utiliser (en gros, je veux mettre 3 capteurs sur mon Arduino, un pour A0/A1, un pour A2/A3 et un pour A4/A5).

Quelqu'un a t'il une idée ?

Merci par avance

salut Calvin-duino,
tu ne peu pas utiliser d'autres ports i2c natif sur le Uno qu'entre A4 et A5 ,
A0.A1.A2.A3 reste des entré analogique.

je ne connait pas bien les BMP280 mais tu doit pouvoir "joué" avec des broche pour parvenir a modifier l'adresse sur les BMP280 pour qu'il cohabite ensemble sur le mémé réseau.

je pense que ce lien peu t'aider ...

http://cactus.io/hookups/sensors/barometric/bme280/hookup-arduino-to-multiple-bme280-barometric-pressure-sensors

Merci pour ta réponse mais, je ne crois pas pouvoir appliquer ta méthode sur les capteurs :
http://s.aliexpress.com/3ueEBJNZ?

Est ce que je me trompe ?

re Calvin-duino

Effectivement tu n'a pas de broches pour le faire.
Mais sur ton BMP280 tu a des cavaliers à souder(ou pas) pour y parvenir a modifier l'adresse.
pour info les cavaliers (si tu a des connaissance limiter dans l’électronique) ce sont deux pistes électronique a reliées entres elle .
Ici c'est des pastilles à souder entre elles pour former des "ponts " sur ta cartes électronique.

Broches ou cavaliers c'est la même chose il faut juste un fer a souder en plus.

Par contre j'ai remarquer que ton BMP280 ne se branche que en I2C et non en ISP.
je me trompe ?

Et, y aurait il suffit Arduino MEGA la possibilité de mettre plusieurs BMP ?

Salut

Arduino MEGA I2C = pins 20 & 21, donc un seul I2C, sauf erreur de ma part.

Le BMP280 a deux adresses I2C 0x76 0x77. Le changement d'adresse doit normalement se faire par une petite soudure sur le module.

Si tu veux en connecter 3 il faudra faire autrement.

D'ailleurs je me pose la question suivante : pourquoi plusieurs capteurs de pression au même endroit ?

@+

Calvin-duino:
Bonjour,

J'ai plusieurs BMP280 et, j'aimerais les connecter sur un seul arduino uno.

Donc pour se faire, il faut passer par I2C et non ISP.
...

Bonjour

En ISP il est tout à fait possible de dialoguer avec plusieurs composants identiques, chacun ayant son CS (chip select) sur une pin différente de l'arduino.

C'est probablement plus facile à mettre en oeuvre que de passer sur de l'I2C en bidouillant pour avoir des adresses différentes.

"Si tu veux en connecter 3 il faudra faire autrement." Connaissez-vous un moyen ?

"pourquoi plusieurs capteurs de pression au même endroit ?" je les utilise en temps que capteur température et humidité.

"En ISP il est tout à fait possible de dialoguer avec plusieurs composants identiques" Je ne savais pas cela, auriez-vous un lien ?

Calvin-duino:
""En ISP il est tout à fait possible de dialoguer avec plusieurs composants identiques" Je ne savais pas cela, auriez-vous un lien ?

Voir cette page

Un peu de connaissances générales ne nuit pas :slight_smile:

Dans le schéma des trois esclaves, ceux-ci pourraient très bien être des BMP280

D'après ton lien ton module est I2C, pas SPI.

je les utilise en temps que capteur température et humidité.

Bien. Alors tu mesures les trois valeurs à trois endroits différents ?

@+

Et quelles broches connecter pour passer le catperu en 0x77 ?

https://image.noelshack.com/fichiers/2018/34/5/1535101064-capture.png

Dans le titre de l'annonce, il y a écrit I2C et SPI, et non, je mesure pas le même endroit ^^.

Aucune idée. Il y a 3 pastilles sur la carte.
Il va falloir lire la datasheet du composant.

Il y a peut-être une possibilité de le faire fonctionner en SPI et sélectionner l'adresse à l'aide de ces 3 pastilles.
Mais comme il n'y a pas de broche chip select, cela ne sert pas à grand chose.

Lit les paragraphes "5.1 Interface selection" et la suite.

Note: j'ai l'impression que la mesure d'humidité ne fait pas parties de ses fonctionnalités.

@+

et non, je mesure pas le même endroit

Tu as quelles longueurs de fils ?

La qualité des descriptions sur les sites chinois est souvent perfectible...

Il semble que ce module "haute précision" (température à 1°C près...) utilise un composant SPI & I2C mais ne présente qu'une connectique externe en I2C.

Et bon courage pour souder un strap là-dessus.

Si tu veux l'utiliser, effectivement l'I2C est la solution la plus raisonnable.

Et pour en utiliser plusieurs identiques simultanément :

  • soit le module prévoit la possibilité de faire varier (un peu) son adresse
  • soit il faut plusieurs bus I2C (arduino mega)
  • soit tu utilises un switch i2C (par ex TCA9545A)
  • soit tu utilises plusieurs arduinos

Perso je chercherais un module qui soit plus en adéquation avec mon besoin

Le problème de ces modules, c'est qu'on n'a presque jamais de documentation associée digne de ce nom. On peut effectivement récupérer le datasheet des composants car ils sont standards, mais cela n'explique pas comment le composant est intégré dans le module, avec souvent des choix limitatifs.
Il faut alors analyser soit-même le module pour comprendre tout ce qu'il fait autour du composant coeur.

Comment on gère les plusieurs bus I2C sur Méga ?

Sinon il devrait y avoir une dizaine de cms entre les capteurs...

Et, il semble qu'il y ait un lecteur d'humidité intégré.

Apparemment tu peux en utiliser au maximum deux sur le même bus I2C

Quelques infos ici, avec un lien vers le schéma global du module

Sur les trois "plots" disponibles du module, par défaut les deux de gauche sont reliés.
Il faut couper la liaison au cutter, et établir une liaison par soudure entre celui du milieu et celui de droite pour changer l'adresse I2C.

5.1 Interface selection
Interface selection is done automatically based on CSB (chip select) status. If CSB is connected
to VDDIO, the I²C interface is active.

Sur le schéma fourni par bricoleau CSP est au VCC. I2C seulement donc.

Et, il semble qu'il y ait un lecteur d'humidité intégré.

Oui si c'est un BME280 et non pas BMP280 comme dans ton titre et tes posts.

Comment on gère les plusieurs bus I2C sur Méga ?

I2Csoft ?

Mais je ne sais pas si ta librairie BME280 saura en tirer parti.

Sinon il devrait y avoir une dizaine de cms entre les capteurs...

Tu devrais expliquer.

@+

Merci pour votre aide !

Certains se contentent de poser une question technique sans exposer leur projet fonctionnellement parlant, alors qu'ils sont probablement sur la mauvaise voie.
Après tout, pourquoi s'emmerder à passer du temps à leur répondre ?

@+