Go Down

Topic: Scegliere Pin i2c (Read 200 times) previous topic - next topic

ichigokurosaki

Salve, è possibile scegliere su quali Pin avviare la comunicazione i2c?

gpb01

NO, sono fissati nell'hardware della MCU.

Guglielmo
Search is Your friend ... or I am Your enemy !

ichigokurosaki

NO, sono fissati nell'hardware della MCU.

Guglielmo
Ah ho capito, quindi per avere più comunicazioni i2c ci vorrebbe ad esempio l'Arduino mega , giusto ? Che ha 2 Pin SDA e 2 SCL

torn24

Premetto che non so niente di elettronica, ma la cosa dovrebbe essere cosi :)

Puoi collegare più dispositivi allo stesso bus i2c, se ad esempio hai più sensori i2c, puoi collegarli agli stessi pin. La comunicazione avviene tramite indirizzo del dispositivo collegato al bus, per cui 5 sensori con 5 indirizzi diversi permette la comunicazione.

Il bus è solo un canale di comunicazione, più dispositivi non interferiscono tra loro, per cui posso controllare un lcd i2c e sensori i2c, su gli stessi pin.

ichigokurosaki

Puoi collegare più dispositivi allo stesso bus i2c, se ad esempio hai più sensori i2c, puoi collegarli agli stessi pin. La comunicazione avviene tramite indirizzo del dispositivo collegato al bus, per cui 5 sensori con 5 indirizzi diversi permette la comunicazione.

Si questo è vero, il problema è scegliere gli indirizzi. Ne ho 10 che scelgono tutti lo stesso indirizzo XD sono sensori MPU6050, e c'è la possibilità di scegliere tra due indirizzi in base a come collego un Pin particolare che si chiama A0. Per arrivare a 10 mi sa allora che dovrò usare 3 Arduini mega che comunicano in seriale. Perchè dato che posso scegliere tra due indirizzi per gli MPU, con due comunicazioni i2c per ciascun Arduino mega, arrivo a 12 dispositivi possibili

gpb01

... se li cerchi vedrai che esistono "multiplexer I2C" che ti permettono proprio di gestire su un unico canale I2C più devisces tutte con lo stesso indirizzo.

Guglielmo
Search is Your friend ... or I am Your enemy !

ichigokurosaki

... se li cerchi vedrai che esistono "multiplexer I2C" che ti permettono proprio di gestire su un unico canale I2C più devisces tutte con lo stesso indirizzo.

Guglielmo
Ti ringrazio, è vero ne ho visto uno della adafruit e ha 8 canali. Con quello dovrei riuscire a gestire fino a 16 accelerometri

Go Up