ESP8266 не работает с MPU 6050 по проводной библиотеке и I2C
Я пытаюсь использовать эту версию ESP8266 для доступа к MPU 6050. Однако это не работает.
NodeMCU CP2102 ESP-12E
Код работал с nano очень хорошо. Однако, когда я попытался просканировать устройство I2C, мне сказали, что устройство I2C не найдено.
Я пытался
Wire.begin(D2, D1);
и
Wire.begin(4, 5);
т.е. изменить пин на GIOP 4 5 в случае, если по умолчанию не работает. Я также пытался поставить большой конденсатор между линиями электропередач, но все равно не работал.
Почему ESP8266 не работает с MPU 6050? (Последовательный и проводной вместе)
Обновления: Иногда пишет, что устройство найдено, но после двух обновлений оно снова не найдено.
Обновления 2: Я посмотрел видео и сделал то, что предложил G6EJD, т.е. перезапустил IDE и все такое. Теперь он читает данные. Тем не менее, чтение данных было каким-то образом неверным в большой степени. Например, в квартире устройство читает
42.63/-38.37/7.82
для угла x, угла y и угловой скорости z с примененным дополнительным фильтром и устойчивым на плоской поверхности. Это работало для nano, но не для ESP 8266.
Кроме того, я попытался настроить схему в соответствии со спектром, предложенным Дандависом. Пробовал диапазон резисторов от 4,7 кОм до 10, даже напрямую подключал к источнику питания. Попытки также включали конденсатор емкостью 100 мкФ и плату питания для стабилизации шума. Были попытки как подтягивания, так и опускания, а также смены плат. Однако ни один из них не работал, и проблема сохранялась. Подтягивающий резистор, похоже, не реагировал на показания устройства.
Обновление 3: Потребляемая мощность была исключена, а также была предпринята попытка установить пару резисторов на 100 кОм. Не работает.
2 ответа
Я изо всех сил пытался заставить MPU6050 работать с D1 Mini или более старой версией NodeMCU v1. Я использую D1/D2. Я использовал библиотеку i2cdevlib MPU6050, а также версию Electronic Cats. Я использовал множество скетчей и даже пробовал код, который использует только Wire (без специальных библиотек MPU6050).
- Лучшее, что мне удалось найти, — это библиотека Electronic Cats MPU6050 без DMP, где, по крайней мере, он думает, что MPU6050 подключен, но просто выдает 0 в виде необработанных значений.
- Вторым "лучшим", возможно, был какой-то код, который просто использовал простой Wire, но за исключением Wire.endTransmission(), возвращающего успех (и мне пришлось замедлить loop() для этого), его числа тарабарщина ( либо 0, либо Z будут просто увеличиваться. Движение самой платы ни на что не влияет).
Версии DMP всегда не могут инициализировать DMP. Я пробовал подтягивания 8.2k и 4.1k на D1 и D2.
Он отлично работает на Pro Micro 16 на базе atmega32u4.
- Соединение i2c для MCP4725 (Dac) с Esp8266 wemos d1 mini
- NodeMCU V3 и MPU6050 странные значения
- Отправка и получение различных типов данных через I2C в Arduino
- Как выбрать альтернативные контакты I2C на ESP32?
- Альтернативы библиотеке Wire для I2C
- Проблемы с подключением I2C на ESP8266 — 12F, какие контакты использовать?
- Как подключить MPU9250 к NodeMCU с помощью SPI или I2C Slave?
- Библиотека Wire.h работает на Uno, но не компилируется для ATtiny85
как долго лиды? вы используете подтягивающие резисторы?, @dandavis
@dandavis провод около 10 см каждый, что такое подтягивающие резисторы?, @ShoutOutAndCalculate
https://learn.sparkfun.com/tutorials/i2c/i2c-на-аппаратном уровне, @dandavis
@dandavis Это не сработало, даже если я вставил резистор., @ShoutOutAndCalculate
@dandavis Я пытался настроить схему в соответствии с предложенным вами спектром. Пробовал диапазон резисторов от 4,7 кОм до 10, даже напрямую подключал к источнику питания. Попытки также включали конденсатор емкостью 100 мкФ и плату питания для стабилизации шума. Были попытки как подтягивания, так и опускания, а также смены досок. Однако ни один из них не работал, и проблема сохранялась., @ShoutOutAndCalculate
Я не ветеран Arduino, но мне не удалось заставить работать связь I2C между двумя одинаковыми микроконтроллерами (NodeMCU CP2102 ESP-12E). На github есть [пара](https://github.com/esp8266/Arduino/issues/3048) из [вопросов](https://github.com/esp8266/Arduino/issues/3046#issuecomment-646940970). указывает на проблемы, но разработчики не спешат ничего с этим делать., @S. Imp