Подключение нескольких MAX30100/30102 через I2C

Я хочу подключить несколько (до 4) оксиметрических датчиков MAX30100 или MAX30102 к Arduino через I2c. Но я не смог найти решение для изменения/назначения адреса I2C.

implementing-pulse-oximeter-using-max30100

техническое описание MAX30100

, 👍0

Обсуждение

похоже, что подчиненный адрес фиксирован, как указано на странице 24 связанного документа ...... в документе есть опечатка, относящаяся к «Таблице 18» ..... вероятно, следует сказать «Таблица 17», @jsotola

возможно адресный регистр не задокументирован ..... попробуйте прочитать все 128 регистров ..... посмотрите, содержит ли один из них значение AE, @jsotola


3 ответа


3

LTC4316 — это то, что вам нужно. Я еще не использовал его, но знаю его по проекту, который это сделал: мокап. Это микросхема транслятора I2C.

Конечно, если вам нужно, чтобы эти микросхемы находились далеко друг от друга, используйте uC (или отдельный Arduino) со всеми ними и подключите их с помощью другого протокола!

,

Хорошее предложение. (проголосовали). Я не знал, что такие чипы существуют. (Обратите внимание, что в спецификации, которую я нашел в Интернете (https://www.analog.com/en/products/ltc4316.html#product-overview), говорится: «По крайней мере одна модель в этом семействе продуктов находится в производстве и доступна для покупки. Продукт подходит для новых конструкций, но могут существовать более новые альтернативы.» Таким образом, могут быть более новые чипы, которые служат той же цели и, вероятно, будут доступны в долгосрочной перспективе., @Duncan C

И этот чип, похоже, монтируется на поверхность. Я не умею паять поверхностным способом. Я нашел эту опцию на SparkFun: https://www.adafruit.com/product/2717?gclid=EAIaIQobChMIk7S1-PLm4AIViZ-fCh39PQWEEAQYBSABEgJZ1PD_BwE., @Duncan C

@Duncan C: MAX30100 также монтируется на поверхность, так что это вряд ли проблема для OP. Но все равно спасибо за предложение! Я еще не использовал его, я знаком с этим чипом только потому, что читал вышеуказанный проект. (Мне пришлось искать этот сайт мокапа, чтобы получить точный тип IC.), @Nyos


0

Предложение Nyos о трансляторе адресов I2C — это билет. Раньше я не слышал об этих чипах, поэтому начал искать. Я обнаружил, что тот, который они рекомендовали, может быть снят с производства. Он также выглядит как поверхностный монтаж. Я нашел лист данных TI, в котором указана микросхема DIP-пакета TCA9548APW, которая позволяет сопоставлять до 8 устройств I2C с разными адресами. Вы можете проверить их в качестве альтернативы.

,

1

Есть ли другой способ решить эту проблему? Я не хочу увеличивать зависимость от оборудования.

Я нашел эту статью, которая позволяет использовать несколько устройств i2c с одним и тем же адресом, используя разные линии передачи данных: https://bitbanksoftware.blogspot.com/2019/01/controlling-lots-of-oled-displays-with.html

Источник Github: https://github.com/bitbank2/Multi_BitBang

Насколько мне известно, я должен либо реализовать эту библиотеку по-своему, либо использовать микросхему TCA9548APW, как описано @Duncan C в ответе выше

,

Добро пожаловать в Arduino: SE Похоже, это не дает ответа на вопрос. Чтобы задать другой вопрос, просто нажмите [Задать вопрос](https://arduinoprosto.ru/q/ask) выше. Если вы хотите, включите ссылку на этот вопрос, чтобы помочь обеспечить контекст., @sempaiscuba