Датчик TSL2591 с Arduino Mega

i2c

У меня есть три датчика освещенности TSL2591, с сигналом I2C, которые мне нужно подключить (вместе) к Arduino Mega. Однако я не совсем уверен, как разделить выводы SDA и SCL трех датчиков, и я не знаю, как изменить их адрес, чтобы Arduino считывал и отображал данные каждого датчика.

Я уже прочитал техническое описание датчика, но там не так много информации об этом.

, 👍3

Обсуждение

информации мало ... какая информация есть? ... также, пожалуйста, добавьте ссылку на технический паспорт к вашему вопросу (не вставляйте ссылку в комментарии), @jsotola


1 ответ


5

Глядя на техническое описание, кажется, что TSL2591 не имеет настраиваемого механизма адреса, поэтому вам, скорее всего, придется использовать мультиплексор I2C.

Одним из примеров такого устройства является TCA9545A, низковольтный 4-канальный коммутатор I2C и SMbus с функциями логики прерываний и сброса, который может разделить одну линию I2C на 4 шины.

TCA9545A распиновка

Их очень легко использовать, а распиновка (и техническое описание) не требуют пояснений.

Не забудьте, что вам понадобятся резисторы 3k3 Ω на линиях INT, RESET, SDA и SCL от Arduino и на каждой из линий INTx, SDx и SCx от TCA9545A:

TCA9545A Типичная схема применения

,

У Adafruit есть модуль с TCA9548A. Преимущество в том, что эти чипы мультиплексора также будут выполнять сдвиг уровня для sda и scl. Это необходимо, поскольку плата arduino mega рассчитана на 5 В, а датчик — на 3,3 В. У arduino mega есть подтягивающие резисторы 10 кОм. Подтягивающие резисторы для всех датчиков все равно следует добавить, если их нет на модуле tsl2591., @Jot