Вот эти контакты сейчас на 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 контролер не прошивается и постоянно перезагружается.
Один из пинов как-то связан с работой флеш памяти. Пока не разбирались. Просто выдернули пины энкодера. Это будет следующей задачей.
Кроме драйверов моторов так же достаточное количество пинов для i2c, пины для подключения сервомоторов (их всего будет 4 шт) и пины для подключения датчиков обнаружения линии трека (черная полоса)
Так вот пины для i2c почему то с питанием 5в.
На текущий момент первый шаг к смене сделан.