Для обзора блок мультиплексор TCA9548A

Для решения задачи подключения I2C устройств с одинаковым адресом, у которых нет возможности смены адреса

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
KeyArduino
Сержант
Сообщения: 130
Зарегистрирован: 21.07.2019{, 19:16}
Репутация: 125
Имя: Дмитрий
Контактная информация:

Для обзора блок мультиплексор TCA9548A

#1

Сообщение KeyArduino » 28.11.2021{, 13:10}

Приветствую господа офицеры! Я автор канала "Ключ к Arduino". Разработайте пожалуйста блок для мультиплексора TCA9548A, много пользователей обращаются ко мне с просьбой сделать обучающее видео по подключению устройств по шине I2C с одинаковым адресом, а это если нет возможности на самом модуле перемычками сменить адрес, можно сделать только через модуль мультиплексора TCA9548A, а блока по нему нет.
Заранее благодарен.
Автор канала "Ключ к Arduino" Дмитрий Бахирев

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Для обзора блок мультиплексор TCA9548A

#2

Сообщение AlexCrane » 28.11.2021{, 14:30}

KeyArduino, Сам блок создать не проблема. Проблема в том что многие датчики, дисплеи инициализируются в секции setup, а вот этот момент отловить не реально, ведь перед этим нужно переключиться на нужный порт...
Или комплектом к блоку для TCA еще писать комплект блоков для всех датчиков, можно, но не очень хочется... :D

Или я может что не правильно понимаю....

Протестируй
TCA9548A_test.flp
(820.54 КБ) 50 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
KeyArduino
Сержант
Сообщения: 130
Зарегистрирован: 21.07.2019{, 19:16}
Репутация: 125
Имя: Дмитрий
Контактная информация:

Для обзора блок мультиплексор TCA9548A

#3

Сообщение KeyArduino » 28.11.2021{, 15:01}

AlexCrane писал(а):
28.11.2021{, 14:30}
писать комплект блоков для всех датчиков

А отдельный блок инициализации не получится сделать, как дополнительный, можно с возможностью вбивания модулей в рукопашную самим пользователем, ну что то в этом роде, что бы решить проблему.
А данный блок что Вы скинули, что он умеет, с какими модулями работать?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Для обзора блок мультиплексор TCA9548A

#4

Сообщение AlexCrane » 28.11.2021{, 15:23}

KeyArduino, Перед каждой строчкой инициализации I2C датчика (типа HTU.begin илиHTU.init и пр.) вставить вручную в секцию setup строку mux_193016837.set_port((4)); где 193016837 - номер дается при компиляции, 4 - номер порта куда подключен датчик.

Блок умеет переключать порты на TCA9548A
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
KeyArduino
Сержант
Сообщения: 130
Зарегистрирован: 21.07.2019{, 19:16}
Репутация: 125
Имя: Дмитрий
Контактная информация:

Для обзора блок мультиплексор TCA9548A

#5

Сообщение KeyArduino » 28.11.2021{, 16:13}

Спасибо за помощь, но начинающим ардуинщикам, а их основная масса этот способ будет затруднителен, для многих код это что то страшное

ecoins
Полковник
Сообщения: 2927
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Для обзора блок мультиплексор TCA9548A

#6

Сообщение ecoins » 28.11.2021{, 17:41}

А еще можно использовать контроллеры с несколькими i2c - например ESP32, STM32, Arduino DUE и пр.
Или использовать сенсоры с SPI, например BME280.

Naladchik
Капитан
Сообщения: 823
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

Для обзора блок мультиплексор TCA9548A

#7

Сообщение Naladchik » 28.11.2021{, 18:09}

KeyArduino писал(а):
28.11.2021{, 16:13}
для многих код это что то страшное
Скорее всего это именно тот случай, когда без ручной правки кода никак.
Win10-64. FLProg Portable.
Изображение

Аватара пользователя
Vuktor
Сержант
Сообщения: 237
Зарегистрирован: 11.04.2021{, 14:44}
Репутация: 12
Имя: Vuktor

Для обзора блок мультиплексор TCA9548A

#8

Сообщение Vuktor » 28.11.2021{, 20:39}

AlexCrane писал(а):
28.11.2021{, 15:23}
Перед каждой строчкой инициализации I2C датчика (типа HTU.begin илиHTU.init и пр.) вставить вручную в секцию setup строку mux_193016837.set_port((4)); где 193016837 - номер дается при компиляции, 4 - номер порта куда подключен датчик.
А вот тут можно поподробнее (для тех кому не так повезло)

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Для обзора блок мультиплексор TCA9548A

#9

Сообщение Sancho » 29.11.2021{, 09:11}

Vuktor писал(а):
28.11.2021{, 20:39}
AlexCrane писал(а):
28.11.2021{, 15:23}
Перед каждой строчкой инициализации I2C датчика (типа HTU.begin илиHTU.init и пр.) вставить вручную в секцию setup строку mux_193016837.set_port((4)); где 193016837 - номер дается при компиляции, 4 - номер порта куда подключен датчик.
А вот тут можно поподробнее (для тех кому не так повезло)
Думаю, AlexCrane, Александр, имеет ввиду добавить указанную строчку, чтобы переключить в данный момент, перед посылкой строк инициализации, выход мк к нужной шине I2C.
Т.е., к примеру, переключаемся на порт 4, инициализируем микруху с адресом хх, переключаемся на порт 5 и инициализируем мс с таким же адресом, но, возможно, даже с другими настройками и т.д. в setup.
Также мс хороша тем, что согласовывает разные уровни сигналов.
СпойлерПоказать
2021-11-29_09-02-11.png
Но кому нужно 8 каналов по I2C ? - посмотреть бы на задумку! Есть ведь на 2 или 4. 43А и 46А соответственно.

Отправлено спустя 6 минут 8 секунд:
Имхо, под такие вещи код лучше, и правильнее, писать руками.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Для обзора блок мультиплексор TCA9548A

#10

Сообщение support » 29.11.2021{, 09:31}

Интересные модули, заказал себе несколько, буду интегрировать. Думаю через месяц (учитываем время доставки) появится в рограмме
Автор программы FLProg.

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Для обзора блок мультиплексор TCA9548A

#11

Сообщение aidar_i » 29.11.2021{, 10:29}

Может кто нибудь отправит автору модуль, чтобы быстрее было.
support писал(а):
29.11.2021{, 09:31}
Интересные модули, заказал себе несколько, буду интегрировать. Думаю через месяц (учитываем время доставки) появится в рограмме

Аватара пользователя
KeyArduino
Сержант
Сообщения: 130
Зарегистрирован: 21.07.2019{, 19:16}
Репутация: 125
Имя: Дмитрий
Контактная информация:

Для обзора блок мультиплексор TCA9548A

#12

Сообщение KeyArduino » 01.12.2021{, 13:00}

Naladchik писал(а):
28.11.2021{, 18:09}
Скорее всего это именно тот случай, когда без ручной правки кода никак.
Всё больше людей имеют фантазию и желание что нибудь сделать на ардуинке, но не имеют знаний, некоторым просто это программирование кодом не дано

Отправлено спустя 3 минуты 26 секунд:
support писал(а):
29.11.2021{, 09:31}
Интересные модули, заказал себе несколько, буду интегрировать. Думаю через месяц (учитываем время доставки) появится в рограмме
Здравствуйте Сергей! Очень рад слышать что официально модули появятся в программе, спасибо за ваши труды!

Аватара пользователя
Vuktor
Сержант
Сообщения: 237
Зарегистрирован: 11.04.2021{, 14:44}
Репутация: 12
Имя: Vuktor

Для обзора блок мультиплексор TCA9548A

#13

Сообщение Vuktor » 01.12.2021{, 23:12}

Vuktor писал(а):
28.11.2021{, 20:39}
А вот тут можно поподробнее (для тех кому не так повезло)
Если у меня есть Flprog, я считаю, что мне уже повезло))

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Для обзора блок мультиплексор TCA9548A

#14

Сообщение holodaleksey » 09.01.2024{, 19:27}

support писал(а):
29.11.2021{, 09:31}
Интересные модули, заказал себе несколько, буду интегрировать. Думаю через месяц (учитываем время доставки) появится в рограмме
Сергей, доброго времени и с началом нового года для для успешных решений!

Не получилось эти мультиплексоры в программу добавить?
Подпись удалена мною по требованию администрации форума, что является нарушение демократии )

ecoins
Полковник
Сообщения: 2927
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Для обзора блок мультиплексор TCA9548A

#15

Сообщение ecoins » 09.01.2024{, 21:53}

holodaleksey писал(а):
09.01.2024{, 19:27}
Сергей, доброго времени и с началом нового года для для успешных решений!

Не получилось эти мультиплексоры в программу добавить?
И Сергей сделал, но пока в блоки не включал.
Большинство блоков устройств через i2c ecoins на основе его решений поддерживают адресацию через мультиплексор TCA9584A.
Вас какое-то конкретное устройство интересует?
С уважением, ecoins.

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Для обзора блок мультиплексор TCA9548A

#16

Сообщение holodaleksey » 09.01.2024{, 21:59}

ecoins писал(а):
09.01.2024{, 21:53}
holodaleksey писал(а):
09.01.2024{, 19:27}
Сергей, доброго времени и с началом нового года для для успешных решений!

Не получилось эти мультиплексоры в программу добавить?
И Сергей сделал, но пока в блоки не включал.
Большинство блоков устройств через i2c ecoins на основе его решений поддерживают адресацию через мультиплексор TCA9584A.
Вас какое-то конкретное устройство интересует?
С уважением, ecoins.
О да( vl6180 или tof050, что по сути одно и тоже. 2 штуки на один esp (8266 или 32).
Пс. Скетчи от пололу и адальтфулта на 2 или 3 датчика у меня не работают.
Подпись удалена мною по требованию администрации форума, что является нарушение демократии )

ecoins
Полковник
Сообщения: 2927
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Для обзора блок мультиплексор TCA9548A

#17

Сообщение ecoins » 09.01.2024{, 22:30}

holodaleksey писал(а):
09.01.2024{, 21:59}
О да( vl6180 или tof050, что по сути одно и тоже. 2 штуки на один esp (8266 или 32).
Пс. Скетчи от пололу и адальтфулта на 2 или 3 датчика у меня не работают.
Заказал дальномеры, в начале февраля должны подойти, попробуем сделать и проверить.

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Для обзора блок мультиплексор TCA9548A

#18

Сообщение holodaleksey » 09.01.2024{, 23:12}

Купил 2 модуля, ну вот руки только сейчас дошли, один норм, а второй с самого начала через раз работал и вчера погас окончательно. Завтра за ещё одним в магаз съезжу, так что послезавтра если будет возможность железо потестить готов.
И вот здесь ещё отвечу не по теме этой ветки, а про датчики:
viewtopic.php?f=44&t=8277&p=127405#p127405
Подпись удалена мною по требованию администрации форума, что является нарушение демократии )

Ответить

Вернуться в «Спросить у знатоков»