i2cdetect n'attrape AUCUNE adresse. Comment savoir si I2C fonctionne correctement?

8

J'ai des difficultés à interfacer le Raspberry Pi avec pratiquement n'importe quel capteur I2C. J'ai parcouru de nombreux tutoriels sur la façon de faire fonctionner le pilote I2C et mes connexions sont correctes. Pourtant, i2cdetect (ou tout code basé sur I2C) ne me donne aucune adresse.

Quelles sont les étapes de dépannage nécessaires pour ce problème? Comment savoir si les broches sont détruites ou non?

J'utilise MPU6050 et MAG3110 comme exemples d'appareils.

Ahmed Farid
la source

Réponses:

4

Cherchez-vous le bus I2C correct, entre rev 1 et rev 2, l'en-tête GPIO a été changé de l'utilisation de I2C 0 à I2C 1, voir eLinux - RPi périphériques de bas niveau pour plus de détails sur les différents changements de broches.

i2cdetect 0
i2cdetect 1

devrait analyser les deux bus séparément, si vos appareils apparaissent après l'un des appels, c'est le bus sur lequel ils se trouvent.

À défaut, si vous avez accès à un oscilloscope, vous pouvez surveiller les broches et i2cdetectrecommencer. Vous recherchez le niveau de tension pour impulser une séquence numérique entre haute (3,3 v) et basse (0 v) sur les deux broches.

Exemple de trace I2C

Si vous êtes assez sûr que les broches ne fonctionnent pas, essayez de les utiliser comme de simples broches GPIO (0 & 1 pour rev 1, 2 & 3 pour rev 2) et faites-les monter manuellement, vérifiez qu'elles sont hautes (3,3 v) en utilisant un multimètre, puis baissez-les et vérifiez qu'ils sont bas (0v).

Si vous ne savez pas comment piloter les broches GPIO manuellement, voyez ici pour un exemple Python et ici pour un exemple BASH.

S'ils ne vont pas haut et bas sur commande, il y a un problème avec les broches, s'ils le font, mais vous ne pouvez toujours pas faire fonctionner I2C, votre problème devra être étudié plus avant.

PiBorg
la source
0

Voici un très bon guide qui pourrait vous aider!

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

Mattias
la source
Bienvenue sur Raspberry Pi Stack Exchange! Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence. Cela permet de se protéger contre la «pourriture des liens», où les informations liées ne sont plus là où elles se trouvaient lorsque le lien a été initialement publié.
RPiAwesomeness