Проблема с подключением датчика BNO055 к ESP32

Вот эти контакты сейчас на GND звонятся.

А это фото. Если правильно понимаю то это и есть выбор интерфейса i2c.

Не защитили…

Вам нужно всё убрать, подключить только BNO055, загрузить простейший скетч из примера, и добиться работы только одного датчика с выводом в сериал

Может у оригинала, если такие есть у китайцев, но у меня были случаи, когда порт всё же горел, после экспериментов стал ставить делители по входу.

Так и сделал. Выше привел програмку. взятая из примера работы с bno055. И не работает. На шине i2c видно только странные помехи.

Отключаю bno, подключаю vl530. Расстояние получаю верные. От сюда можно сделать вывод, что шина исправна.

Проблема именно с подключением bno.

Попробую позже подключить mpu6050. Он сейчас на первом шасси стоит и работает.

пример I2C сканер запустите при только подключенном bno
находит модуль? и на каком адресе?

Синхронисты, блин.

ща до подтяжки доберемся))

Сканер показал следующее:

На шине только датчик bno055. Адрес по умолчанию.

Подтягиваю пин add к gng

Отсоединяю bno и подключаю vl530

Конфликт адресов.

Подключаю на шину bno со смещением адреса на 0x28

Сейчас на шине два устройства с разными адресами

vl530 - 0x29

bno055 - 0x28

Сканер ругается на все 127 адресов

при инициализации wire подтяжка не включается?

т.е. ее нужно отдельно подключать? Или просто резисторы подпаять?

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

Думается еще, что эти резисторы подтянуты к питанию 5в, либо поставить конвертор уровней 5-3.3в на шину или удалить резисторы с обеих модулей и поставить резисторуы по 4,7-10к
возле есп с подтяжкой к 3.3в

Или тупо питать модули сразу от 3-х вольт, они это позволяют.
@Smith2007 К пунктам об изначальной необходимости схемы и скетча, есть желательный - фото сборки и ссылки на модули.

Ваша догадка является абсолютно верной.

После переключения питания датчиков на напряжение 3.3в, оба датчика прекрасно распознаются и работают

bno055 по адресу 0x28 (смещение задано пином add на 0)

vl530 по адресу 0x29

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

На ней датчики подключены к питанию 3,3в. В качестве гироскопа использовали датчик mpu6050 с библиотекой adafruit.

Позже выяснилось, что Nema17 имеют не достаточный крутящий момент, да и скорость не высока. Решили сменить моторы, а вместе с этим нашли плату на которой уже распаяны драйверы управления коллекторными моторами и заменить mpu6050 на bno055.

Из описания bno055 имеет на борту необходимые фильтры для сглаживания значений.

На плате распаяны 4 драйвера для моторов. 2 из них можно отключить (наш вариант) и использовать освободившиеся пины для своих целей.

К освободившимся 4м пинам решили подключить энкодеры моторов

Однако при подключении энкодеров на пины 17, 12, 14, 15 контролер не прошивается и постоянно перезагружается.

Один из пинов как-то связан с работой флеш памяти. Пока не разбирались. Просто выдернули пины энкодера. Это будет следующей задачей.

Maker-ESP32 Board

Кроме драйверов моторов так же достаточное количество пинов для i2c, пины для подключения сервомоторов (их всего будет 4 шт) и пины для подключения датчиков обнаружения линии трека (черная полоса)

Так вот пины для i2c почему то с питанием 5в.

На текущий момент первый шаг к смене сделан.

Maker-ESP32 Board

BNO055 куплен на алиэкспрессе. Ссылка уже не работает.

VL530 детям в клубе дали.