Подключение и программирование tca9548a вместе с tcs34725

ShelDan_
Offline
Зарегистрирован: 09.10.2020

Здравствуйте. Для проекта необходимо собрать конфигурацию мультиплексора tca9548a совместно с датчиками цвета tcs34725. Проблема - Ардуино не определяет мультиплексор с датчиками цвета, но когда убираешь его, определяются tcs. Скорее всего решение заключается в подключении мультиплексора в правильные порты, с резисторами, но в даташите не нашел нужную информацию. Буду благодарен, если получу хоть какой-то ответ. (Темы форумов смотрел, нужного пока не нашел)

b707
Offline
Зарегистрирован: 26.05.2017

ShelDan_ пишет:
. Проблема - Ардуино не определяет мультиплексор с датчиками цвета, но когда убираешь его, определяются tcs.

что значит "определяет" и  "не определяет"? Как праверяли?

Цитата:
Скорее всего решение заключается в подключении мультиплексора в правильные порты

ну да, поскольку он работает по I2C. его можно включать только в SDA и SCL :) А вы куда подключаете?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

b707 пишет:

А вы куда подключаете?

Он не нашол. 

ShelDan_
Offline
Зарегистрирован: 09.10.2020

В Ардуино Уно есть порты A4 и A5. Wire.begin() включает I2C на этих портах.

b707
Offline
Зарегистрирован: 26.05.2017

ShelDan_ пишет:
В Ардуино Уно есть порты A4 и A5. Wire.begin() включает I2C на этих портах.

просто волшебство какое-то!

Это вы к чему?

ShelDan_
Offline
Зарегистрирован: 09.10.2020

Определяет адрес. В программе говорит о том, что я не понятно куда прошу получить информацию.

ShelDan_
Offline
Зарегистрирован: 09.10.2020

b707 пишет:

ShelDan_ пишет:
В Ардуино Уно есть порты A4 и A5. Wire.begin() включает I2C на этих портах.

просто волшебство какое-то!

Это вы к чему?


Это порты к Ардуино. А как сам мультиплексор подключать - не сильно понимаю.

b707
Offline
Зарегистрирован: 26.05.2017

ShelDan_ пишет:
Определяет адрес. В программе говорит о том, что я не понятно куда прошу получить информацию.

Вы более подробно писать умеете? Или мы должны с паяльником к вам выехать, чтобы получить полную информацию о проблеме?

В конце концов, у кого проблема - у вас или у нас? У меня подобный мультиплексор работает...

b707
Offline
Зарегистрирован: 26.05.2017

ShelDan_ пишет:
как сам мультиплексор подключать - не сильно понимаю.

SCL - SCL

SDA - SDA

A0, A1, A2 - выбираем адрес для мультиплексора

Датчики свои включаете в линии SDx SCx

 

Перед общением с конкретным датчиком выбираете нужный канал мультиплексора :

void selectI2CChannels(uint8_t ch) {
   if (ch > 7) return;
   Wire.beginTransmission(MUX_Address);
   Wire.write(1 << ch);
   Wire.endTransmission();
}

дальше работаете с датчиком как обычно через соответвующую библиотеку.

 

Подробнее тут https://www.instructables.com/TCA9548A-I2C-Multiplexer-Module-With-Arduino-and-N/