Как подключить датчик MPU6050 к Arduino MKR WIFI 1010?
Я пытался подключить MPU6050 к MKR WIFI 1010, следуя этим общим инструкциям. и использую библиотеку I2CDev, но постоянно сталкиваюсь с проблемами.
Некоторое время Arduino просто не отображался как подключенный в IDE, когда все контакты были подключены, что, как я понял, было связано с отсутствием подтягивающих резисторов для контактов SCL/SDA. Добавление подтягивающих резисторов на 10 кОм немного помогло (чтобы сделать Arduino видимым), но оно зависало при попытке загрузить пример скетча. Резисторы на 2,2 кОм, казалось, сделали свое дело, где теперь наброски примера (MPU6050_DMP6 или MPU6050_raw). Однако они по-прежнему не могут прочитать какие-либо фактические значения. Необработанный скетч дает 0 для всего, а скетч DMP6 печатает
Initializing I2C devices...
Testing device connections...
MPU6050 connection failed
Send any character to begin DMP programming and demo:
Initializing DMP...
DMP Initialization failed (code 1)
Кто-нибудь знает, почему датчик по-прежнему не дает никаких измерений? Я подключаю VCC и GND от датчика к VCC (3,3 В) и GND от моего Arduino. SCL и SDA от датчика подключаются к VCC через резисторы 2,2 кОм и к контактам SCL и SDA платы Arduino (12 и 11). И INT от датчика подключен к цифровому контакту 2. (Я попробовал это на паре других контактов, таких как 0 и 1, так как это кажется из технические характеристики, что 2 не является контактом внешнего прерывания, но это ничего не изменило.)
Датчик и примеры работали без каких-либо дополнительных усилий на моем Arduino Uno, но, к сожалению, я случайно сжёг его с источником питания 12 В. Я, вероятно, просто возьму еще один Uno, но мне любопытно, почему это не сработало, если я что-то упускаю из I2C или MKR WIFI.
Я также отмечу, что мне пришлось добавить
define #BUFFER_LENGTH 64
на wire.h, чтобы получить скетчи, включая I2Cdev, для компиляции (следуя этим инструкциям).
@Frecka, 👍1
Обсуждение1 ответ
Лучший ответ:
Датчик действительно был сломан, и после заказа нового у меня не возникло никаких проблем.
- Возникли проблемы с совместной печатью MPU6050 и AFE4404, потенциальный конфликт?
- Несколько датчиков I2C с одинаковым адресом
- Проблемы с подключением I2C на ESP8266 — 12F, какие контакты использовать?
- Как подключить MPU9250 к NodeMCU с помощью SPI или I2C Slave?
- Лазерный датчик ToF (VL53L0X) не работает
- MAX30100 не работает
- Изменение адреса I2C MPU-6050
- Как соединить L293D и MPU6050 для совместной работы?
Да, определился как 64, хороший улов. (Отредактировано сейчас.) Я не запускал скетч сканера I2C, но могу попробовать. Для подключения SDA/SCL использовалась макетная плата, в которой оба контакта датчика были подключены к своим собственным рядам, резистор 2,2 кОм от каждого ряда к столбцу +3,3 В (который сам подключается к VCC как на Arduino, так и на датчике) и перемычка. кабели из этих рядов к контактам 11 и 12 на Arduino для SDA/SCL соответственно. Другая проводка — это GND (датчик) к отрицательному столбцу на макетной плате, к GND (Arduino) и INT (датчик) к цифровому выводу 2 (в чем я не был уверен, поэтому я также попробовал 0 и 1)., @Frecka
попробуйте скетч I2CScanner тоже без подтягиваний, @Juraj
Я вижу «устройство I2C, найденное по адресу 0x60» и «устройство I2C, найденное по адресу 0x6B», независимо от того, подключено ли что-либо к моему Arduino. Когда я попытался подключить датчик без подтягивающих резисторов, я получил сообщение об ошибке «java.io.IOException: jssc.SerialPortException: Имя порта — COM3; Имя метода — setEventsMask(); Тип исключения — Невозможно установить маску " и загорелся оранжевый индикатор CHRG (с быстрым пульсированием), @Frecka
MKR1010 имеет на борту устройства I2C, @Juraj
Так что тогда он так и не обнаружил датчик. Могут ли помочь различные подтягивающие резисторы? 4,7 кОм кажется типичным используемым значением, @Frecka
какой у тебя модуль с MPU6050?, @Juraj
Этот от Aukru: https://www.amazon.com/Aukru-Arduino-Accelerometer-6050-Gyroscope/dp/B019SX74TE/, @Frecka
Я подозреваю, что MPU 6050 сломан. Я получил новый Arduino Uno, и сканер I2C зависает при подключении MPU, независимо от того, есть ли у меня подтягивающие резисторы. (И он отлично работал без дополнительных подтягивающих резисторов с моим предыдущим Arduino Uno до того, как я его поджарил.) Я закажу новый MPU-6050., @Frecka