Здравствуйте, делаю макет манипулятора управляемый через два датчика жестов APDS-9960, которые в свою очередь управляют сервами(Один датчик управляет сервой захвата(сжатие\разжатие) сигнальный провод сервопривода идет на D7 Arduino и сервопривод поднятия(вверх\вниз) сигнальный провод сервопривода идет на D9 Arduino, а второй датчик управляет сервой поворота(право\лево) сигнальный провод сервопривода идет на D10 Arduino и сервой выдвижения(вперед\назад) сигнальный провод сервопривода идет на D8 Arduino). И возник такой вопрос как правильно подключить два датчика APDS-9960 по i2c к Arduino Uno. Мне сказали что нужен конвертер логических уровней( так как датчики APDS-9960 должны быть запитаны от 3,3 v) и мультиплексор CD74HC4067 , но мне не ясно как этот мультиплексор будет работать если он аналоговый.
Пробовал собрать по этой схеме , но датчики не работают (даже ИК светодиоды не горят), но если подключать к Arduino один датчик на прямую и запитывать его от 5 v, то все работает (ИК светодиоды горят)
Кому не сложно пришлите пожалуйста схему\код
Примерный код, написанный нейронкой:
Как подключить два датчика APDS-9960
Re: Как подключить два датчика APDS-9960
у APDS-9960 вроде нет установки адреса устройства I2C - значит действительно надо разделить SDA,
но применять мультиплексор для этого особого смысла нет, экономии gpio это не даст, лучше в I2C библиотеке сделать SDA на 2 разных GPIO для разных сенсоров.
что касается конвертирования уровней, для конкретно вашего случая нужно 3 резистора ~200..300ohm
между gpio mcu и i2c-io (на соединенные входы SCL1,2 - 1 общий и по 1 отдельному на каждый вход-выход SDA1,2).
при этом можно включить встроенные в mcu пуллапы для gpio на которые навешаны SDA1,2 или навесить внешние 3.3..10k со стороны SDA1,2 на +3.3V.
но применять мультиплексор для этого особого смысла нет, экономии gpio это не даст, лучше в I2C библиотеке сделать SDA на 2 разных GPIO для разных сенсоров.
что касается конвертирования уровней, для конкретно вашего случая нужно 3 резистора ~200..300ohm
между gpio mcu и i2c-io (на соединенные входы SCL1,2 - 1 общий и по 1 отдельному на каждый вход-выход SDA1,2).
при этом можно включить встроенные в mcu пуллапы для gpio на которые навешаны SDA1,2 или навесить внешние 3.3..10k со стороны SDA1,2 на +3.3V.