Проводка для Arduino Mega и нескольких MPU 6050/Gy 521

У меня есть Arduino Mega 2560, к которому мне нужно подключить 4 MPU 6050/Gy 521.

Я нашел некоторые ресурсы по Mega и Uno, однако не могу собрать их воедино.

Этот ресурс содержит подробную информацию о подключении одного MPU к мега. http://dummyscodes.blogspot.com/2014/07/mpu6050- gy-521-breakout-arduino-mega.html

Этот ресурс предлагает способ подключения нескольких устройств к UNO. https://playground.arduino.cc/Main/MPU-6050

Моя проблема в том, что проводка для Uno и Mega разная. Ресурс, который у меня есть для UNO, описывает использование MPU AD0 (выход), подключая его к различным выходным контактам для каждого MPU. Ресурс, рассказывающий о MEGA, даже не использует AD0, а использует INT, но я не уверен, смогу ли я использовать ту же концепцию.

Кроме того, я до сих пор не понимаю, как подключить/какие еще контакты использовать для остальных четырех.

Я новичок в Arduino и определенно новичок во всем, что связано с проводкой.

Пожалуйста, помогите! Я действительно не понимаю, как использовать несколько вместе и как их правильно соединить.

, 👍0


2 ответа


1

MPU-6050 использует I2C для связи, да? Подключите все SCL параллельно к Mega с помощью подтягивающего резистора 4,7 или 3,3 кОм. То же самое и с ПДД. I2C — это D20, D21 (или D21, D22) на Mega.

MPU-6050 имеет контакт A0 для выбора одного из двух адресов, для простоты назовем их Add0 и Add1. Подключите каждый контакт A0 MPU-6050 к уникальному контакту Mega. Если ни один из них не адресован, установите каждый выход Mega на высокий уровень. Когда требуется доступ к одному MPU-6050, установите низкий уровень на выводе A0 этого устройства и установите связь с ним, используя Add0. Другой будет искать связь на Add1 и поэтому не будет отвечать.

Если MPU6050 является устройством с напряжением 3,3 В, вам также следует удалить сетевой пакет подтягивающих резисторов на Mega, который подтягивает SCL/SDA к 5 В. В очень маленьком 8-контактном корпусе есть 2 подтягивания, остальные 2 не используются. Подключите подтягивающие резисторы 3,3 К или 4,7 К, описанные выше, к 3,3 В.


Это деталь RN1 на плате Mega R3. На плате это может быть не отмечено как таковое. Снимите его или обрежьте дорожки рядом с ножками колодки: одну с левой стороны (подключается к контакту 3), одну сверху (подключается к контакту 2).

,

Я не знал о пакете подтягивающих резисторов на шине I2C Mega. Предполагается ли, что он будет съемным/заменяемым, или вам придется его деструктивно отламывать?, @Duncan C

Я бы не стал его отламывать, но паяльником он достается без особого труда., @CrossRoads


0

Ответ CrossRoads с использованием контакта выбора адреса на ваших модулях MPU превосходен. Однако он связывает линию GPIO для каждого MPU, к которому вы хотите обратиться.

(Если вы используете Mega 2560, это может не быть проблемой, поскольку у них множество линий GPIO.)

Вы также можете приобрести мультиплексор адресации I2C. Их предлагают Adafruit и Sparkfun. Пример: https://www.adafruit.com/product/2717?gclid=EAIaIQobChMItYnah7zB4 QIVAOTICh1JlAk3EAQYASABEGK7hvD_BwE

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

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

,