Il protocollo I2C

Ciao a tutti!

Scusate la domanda forse banale.
Sto studiando il modulo GY-521 che si collega ad arduino col protocollo I2C e scopro che i terminali SDA e SDC sono collegati a due pin analogici (A4 e A5).
Come mai? Non è un protocollo digitale I2C?

Grazie per il chiarimento!
Roberto

Quei pin hanno funzioni multiple. Possono funzionare da pin analogici OPPURE da pin i2c. Se li usi in un modo non puoi usarli nell'altro.

I pin i2c non sono mappati su A4/A5 su tutti gli Arduino. Ad esempio sulla Mega o sulla Leonardo sono diversi, perché usano microcontrollori diversi. Per questo sono stati introdotti dei connettori fissi per l'i2c sulle schede più nuove (tipo la Uno Rev 3), posizionati oltre il pin 13, in modo da averli in un posto sempre consistente.

SukkoPera:
Quei pin hanno funzioni multiple. Possono funzionare da pin analogici OPPURE da pin i2c. Se li usi in un modo non puoi usarli nell'altro.

... non solo, aggiungerei che qualsiasi pin analogico A0 .. A5 di Arduino UNO può tranquillamente essere usato come pin digitale, basta che lo si inizializzi correttamente con la pinMode() e lo si usi con le digitalRead() e digitalWrite(), come qualunque pin di I/O.

Guglielmo

Grazie mille per le delucidazioni molto precise.
Io ho una UNO Rev 3, se non ho capito male i pin specifici del i2c sono sono quelli oltre il 13? Oppure usando la libreria Wire assume che colleghi il GY-521 ai pin A4/A5?

Grazie!
Roberto

Quelli dopo il 13 sono solo una ripetizione di A4 e A5.

Comunque quasi tutti i pin hanno funzioni triple o quadruple
Ciao Uwe

PighiXXX ne ha segnalato le principali schematicamente in questo pdf, non smettiamo mai di ringraziarlo.