i2cdetect non rileva QUALSIASI indirizzo. Come posso sapere se I2C funziona correttamente?


8

Ho difficoltà a interfacciare il Raspberry Pi praticamente con qualsiasi sensore I2C. Ho seguito molti tutorial su come far funzionare il driver I2C e le mie connessioni sono corrette. Tuttavia, i2cdetect (o qualsiasi codice basato su I2C) non mi fornisce alcun indirizzo.

Quali sono i passaggi necessari per la risoluzione di questo problema? Come faccio a sapere se i pin sono distrutti o no?

Sto usando MPU6050 e MAG3110 come dispositivi di esempio.

Risposte:


4

Stai guardando il bus I2C corretto, tra rev 1 e rev 2 l'intestazione GPIO è stata cambiata dall'uso di I2C 0 a I2C 1, vedi eLinux - RPi periferiche di basso livello per i dettagli delle varie modifiche ai pin.

i2cdetect 0
i2cdetect 1

dovrebbe scansionare entrambi i bus separatamente, se i tuoi dispositivi vengono visualizzati dopo una delle chiamate, allora è il bus su cui si trovano.

In caso contrario, se si ha accesso a un oscilloscopio, è possibile monitorare i pin ed eseguire di i2cdetectnuovo. Stai cercando il livello di tensione per pulsare una sequenza digitale tra alta (3.3v) e bassa (0v) su entrambi i pin.

Esempio di traccia I2C

Se sei abbastanza sicuro che i pin non funzionino, prova a usarli come semplici pin GPIO (0 e 1 per rev 1, 2 e 3 per rev 2) e guidali manualmente in alto, controlla che siano alti (3.3v) usando un multimetro, quindi abbassali e verifica che siano bassi (0v).

Se non sai come guidare manualmente i pin GPIO, vedi qui per un esempio Python e qui per un esempio BASH.

Se non vanno in alto e in basso a comando, allora c'è qualcosa di sbagliato nei pin, se lo fanno ma non riesci ancora a far funzionare I2C, il tuo problema avrà bisogno di ulteriori indagini.


0

Ecco una guida davvero buona che potrebbe aiutarti!

http://www.instructables.com/id/Raspberry-Pi-I2C-Python/?ALLSTEPS


Benvenuti nello scambio di stack di Raspberry Pi! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Questo aiuta a proteggere da "link rot", dove le informazioni collegate non si trovano più dove si trovava quando il link è stato originariamente pubblicato.
RPiAwesomeness,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.