Collegare due sensori BMP280 via I2C

Ciao a tutti,
ho realizzato una stazione meteo, dotata di due sensori BMP280, uno per la temperatura esterna, e uno per monitorare la temperatura all'interno della stazione meteo.
I due sensori sono collegati mediante I2C.
Come faccio a distinguerli?
Se li collego entrambi non ottengo valori da nessuno dei due sensori.
Sto usando la libreria BMx280I2C.h ed il comando sensore.measure(); per ottenere i valori.

Grazie mille a chi mi saprà aiutare

Non mi sembra che nei moduli con il BMP280 ci sia la possibilità di selezionare più address I2C, per cui ... devi usare un multiplexer I2C.

Guglielmo

E' possibile selezionare tra l'indirizzo 0x76 e l'indirizzo 0x77 con il pin SDO.

... si quello lo avevo visto, ma ... non so quanti sulle breakout board lo implementino ... se magari ci dice il link al prodotto che ha comprato si scopre se può scegliere i due indirizzi o meno. :roll_eyes:

Ad esempio, i moduli di Adafruit lo implementano, altri, più economici, no ...

Guglielmo

Se ha preso quelli più economici che espongono solo i pin i2c (e che vanno per la maggiore) ci sono i pad a saldare.

image

... mmm ... non mi sembra, ingrandisci l'immagine e segui le piste, se non sbaglio quel pad va sul pin 2-CBS e non sul pin 5-SDO. :roll_eyes:

Sulla scheda è montato con il foro verso il connettore ...

Guglielmo

... però non si capisce ... mi sa che quella è la foto del BME280 e il BMP280 lo montano diversamente (orientato al contrario) ... boh ... ci deve mandare una bella foto nitida e allora gli possiamo dire :slight_smile:

Si infatti la board sembra essere compatibile per l'uno e per l'altro.
Comunque nel link che ho trovato sul sito di Jeff Bezos, c'è anche lo schema elettrico.

Da qualche parte dovrei pure avere il modulo fisicamente...

image

Bene :slight_smile: , allora se è così, finché si hanno solo DUE moduli non c'è problema ... se ne vuole aggiungere un'altro ... allora dovrà necessariamente usare un mux :wink:

Guglielmo

Oppure se hai un paio di pin di scorta, fai una specie di "chip select" con un circuito come questo:

Basta mettere sui pin 8 e 9, (o altri liberi), la combinazione 01 o 10 per selezionare l'uno o l'altro del BMP280
Ciao ragazzi.

1 Like

Il mio sensore è come da foto seguenti:


È tra quelli in cui si può effettuare la modifica?

Grazie mille a tutti

Dalla (pessima :wink: ) immagine che hai messo si vedono chiaramente i pad per la selezione dell'indirizzo.

L'unica cosa a cui devi fare attenzione è che di default i primi due pad dovrebbero essere connessi tra loro con una piccolissima pista del PCB da tagliare (magari verifica con un multimetro la continuità).

Il tuo sembra leggermente diverso da quello in quest'immagine e la connessione di default a GND sembra essere non in mezzo ai pad, ma sullo spigolo dell'integrato.

Se riesci fai una fotografia più ravvicinata.

Io continuo a dire ... occhio che queste foto sono ingannevoli e NON si sa bene quale chip ci sia sopra ...

Questo è il BME280 ... nota la posizione del foro (Vent hole) rispetto al pin SDO ...

Quest'altro è il BMP280 ... anche qui nota la posizione del foro (Vent hole) rispetto al pin SDO ...

Come vedi NON è esattamente la stessa cosa, anzi ... :roll_eyes: ... e quindi difficile dire a che pin sono connessi quei pad vedendo solo le foto senza essere certi al 100% del chip che c'è sopra ... :roll_eyes:

Guglielmo

Mmm ... secondo me, quello della foto, non è un BMP ma un BME, cosa che giustificherebbe l'uso del pin in basso a sinistra con il foro verso di esso ... :roll_eyes:

Non riesci a leggere cosa c'è stampigliato sopra ?

Guglielmo

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.