Trovare indirizzo I2C di un modulo con Arduino

Trovare indirizzo I2C di un modulo con Arduino

Nel post di oggi vedremo uno sketch che ci permette di Trovare indirizzo I2C di un modulo con Arduino, utile quando non si conosce o non si riesce a trovare l’indirizzo di un qualsiasi modulo.


Trovare indirizzo I2C di un modulo con Arduino

Sketch I2C Scanner

L’Inter Integrated Circuit (I2C) è un protocollo di comunicazione seriale che utilizza solo due cavi. Solitamente ai moduli viene assegnato, dal costruttore, un indirizzo di comunicazione. Alcuni moduli permettono anche di poter modificare l’indirizzo I2C.
Se il nostro modulo non permette di configurare l’indirizzo, o non si conosce quello assegnato di default, possiamo ricavarlo collegandolo ad una board Arduino e utilizzando lo sketch seguente (trovato su https://playground.arduino/):

Lo sketch, una volta collegato il modulo di cui si vuole trovare l’indirizzo I2C, non fa altro che scansionare tutti gli indirizzi possibili fino a quando non trova quello relativo al modulo connesso.

Esempio di utilizzo

Per vedere in pratica come funziona lo sketch ho realizzato un circuito utilizzato i seguenti materiali:

Effettuiamo i collegamenti tra il modulo I2C (il Display nel mio caso) e il micro-controllore come mostrato nella tabella seguente:

COLLEGAMENTO PIEDINI
Arduino Nano I2C LCD SSD1306 Jumper Wire
3.3 +      Rosso
GND      Nero
A4 SDA      Giallo
A5 SCL      Verde

Questo il circuito realizzato con Fritzing

circuito fritzing I2C SDA SCL

Configurazione IDE e test dello sketch I2C_scanner

Ora colleghiamo la board Arduino al PC, tramite la porta USB, e configuriamola dal pannello Strumenti dell’IDE in questo modo

  • Scheda -> Arduino Nano
  • Processore -> ATmega328P
  • Porta -> COM3 (N.B. la porta potrebbe essere differente)

Configurazione scheda processore e porta Arduino

Da Arduino IDE creiamo un nuovo file, incolliamo lo sketch che abbiamo visto poco prima, e carichiamolo cliccando sul pulsante Carica (contrassegnato da una freccia rivolta verso destra)

carica sketch

Se non ci sono errori e lo sketch viene caricato correttamente, aprendo il Monitor Seriale da Strumenti -> Monitor Seriale vedremo visualizzato l’indirizzo I2C rilevato dal modulo

Trovare indirizzo I2C di un modulo con Arduino. Risultati Serial Monito scanner I2C

Per maggiori informazioni sul protocollo I2C vi rimando alla pagina di wikipedia a questo link.

A presto 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *