Изменение адреса I2C MPU-6050

Можно ли изменить I2C-адрес MPU-6050?

Я пытаюсь подключить несколько MPU-6050 к моему Arduino.

Почти все они работают по одному и тому же адресу. Некоторые из них работают по другому адресу.

Кто-нибудь может сказать мне, как изменить I2C-адрес MPU-6050, если это возможно?

, 👍0

Обсуждение

проверить техническое описание, @jsotola

MPU-6050 имеет контакт, который позволяет управлять LSB адреса I2C. Этот контакт может использоваться для разрешения нескольких устройств. Для 1-2 устройств используйте булавку напрямую. Для > 2 устройств используйте контакт GPIO для каждого устройства. Web-поиск «несколько MPU-6050»., @Mikael Patel


1 ответ


Лучший ответ:

4

MPU-6050 имеет адресный вывод, помеченный как A0, который можно использовать для установки LSB (младшего значащего бита) адреса. Таким образом, если вы подключите A0 к земле, адрес будет 0b1101000, если вы подключите его к Vcc, это будет 0b1101001. Вы можете найти эту информацию в таблице под заголовком 6.4 в проспекте MPU-6050 ( стр. 15). Обычно этот контакт является жестким, но вы также можете подключить A0 к цифровому выходному контакту вашего Arduino и динамически изменить адрес MPU.

Таким образом, с помощью этого контакта вы можете подключить к шине 2 разных MPU-6050. Если вам нужно больше, вы можете оставить все MPU на одном адресе, а MPU, с которым вы хотите общаться, перетащить на другой адрес. Я описал этот принцип в конце своего ответа на этот вопрос. Речь идет о другом чипе, но принцип тот же.

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

,