i2cdetect не ловит ЛЮБОЙ адрес. Как я могу определить, правильно ли работает I2C?


8

У меня возникают трудности с подключением Raspberry Pi к любому датчику I2C. Я прошел много уроков о том, как заставить драйвер I2C работать, и мои соединения правильные. Тем не менее, i2cdetect (или любой код на основе I2C) не дает мне никакого адреса.

Каковы необходимые шаги по устранению неполадок для этой проблемы? Как я узнаю, повреждены ли контакты или нет?

Я использую MPU6050 и MAG3110 в качестве примера устройств.

Ответы:


4

Вы смотрите на правильную шину I2C, между версией 1 и версией 2 заголовок GPIO был изменен с использования I2C 0 на I2C 1, см. ELinux - RPi Низкоуровневая периферия для получения подробной информации о различных изменениях выводов.

i2cdetect 0
i2cdetect 1

следует сканировать обе шины отдельно, если ваши устройства появляются после одного из вызовов, то это шина, на которой они находятся.

В противном случае, если у вас есть доступ к осциллографу, вы можете контролировать контакты и i2cdetectснова запускать . Вы ищите уровень напряжения для импульсной цифровой последовательности между высоким (3,3 В) и низким (0 В) на обоих контактах.

Пример трассировки I2C

Если вы уверены, что контакты не работают, попробуйте использовать их как простые выводы GPIO (0 и 1 для 1-й версии, 2 и 3 для 2-й версии) и вручную увеличить их, проверьте, что они высокие (3,3 В), используя мультиметр, затем подведите их к низкому уровню и убедитесь, что они низкие (0 В).

Если вы не знаете, как управлять выводами GPIO вручную, посмотрите здесь пример Python и здесь пример BASH.

Если они не получают высокие и низкие команды, то с выводами что-то не так, если они это делают, но вы все равно не можете заставить работать I2C, тогда ваша проблема требует дальнейшего изучения.


0

Вот действительно хорошее руководство, которое может вам помочь!

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


Добро пожаловать в Raspberry Pi Stack Exchange! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки. Это помогает защитить от "гниения ссылок", когда информация, на которую ссылаются, больше не там, где она была, когда ссылка была первоначально размещена.
RPiAwesomeness
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.