Какой наилучший метод последовательной связи между Arduino и спектральным датчиком?

У меня есть датчик видимого спектра Adafruit AS7262. Я хочу получать данные датчика с помощью Arduino.
Датчик имеет два варианта последовательной связи: UART (асинхронный) или I2C (синхронный). Я хочу знать, какой метод больше подходит для связи датчика с микроконтроллером Arduino. Я думал, что UART более подходит, потому что у датчика есть свои собственные главные часы, другими словами, если я выберу I2C, то Arduino должен работать как «ведомый», и я не думаю, что это очень подходит, потому что у Arduino есть свои собственные главные часы также. По этой причине я считаю, что асинхронный метод более надежен, но я в этом не уверен.

, 👍0


2 ответа


1

I2C на этом устройстве является подчиненным, а не ведущим. Несмотря на то, что у него есть собственные часы, он предназначен для работы в качестве подчиненного устройства, читаемого ведущим.

У вас не возникнет проблем с использованием интерфейса I2C — фактически Adafruit использует его для своей собственной библиотеки программного обеспечения.

Поскольку у производителя уже есть библиотека на основе I2C, я бы использовал ее, если только нет веской причины использовать вместо нее UART.

,

0

Arduino будет выступать в качестве главного контроллера и отправлять вызов подчиненным устройствам. AS7262 — это сенсорное устройство, Arduino отправит команду вызова, а затем получит данные от своих датчиков. Иногда возникает путаница, поскольку разработчики привыкли к настольному компьютеру как к ведущему компьютеру, но в этом случае Arduino получает данные и выполняет прямое действие, например, отправляет информацию на компьютер, подключенный через USB или Wi-Fi, или просто выполняет управление с обратной связью с другим цифровым или аналоговым устройством.

Дополнительную информацию по этой теме можно найти в сообществе Arduino здесь

Также

,