Можно ли подключить больше датчиков одного типа к одной плате, не используя при этом больше контактов, чем при использовании одного датчика?
Я такой же новичок в программировании Arduino и конкретной электронике, как и вы, поэтому даже не знаю, правильный ли вопрос я задаю.
Я заказал Arduino, макетную плату и несколько печатных плат, а теперь ищу несколько деталей, которые мне следует купить, чтобы реализовать несколько базовых проектов.
Я хотел бы начать с проекта по автоматизации сада, довольно простого. Датчики влажности, датчики температуры и водяной насос.
Могу ли я подключить все (4) датчика влажности к одной локальной цепи, а затем подключить ее к плате, чтобы ограничить количество используемых входных контактов? Мне все равно нужно будет получать независимые показания от датчиков. Или мне нужно будет использовать другую плату, включающую модули RF/Wireless/Bluetooth, чтобы получать информацию и затем отправлять ее на плату для дальнейшей обработки?
Прошу прощения, если то, что я только что сказал, не имеет смысла, и благодарю вас за уделенное время. Все, что у меня есть, это опыт работы с электроникой на низком-среднем уровне. Проверщики аккумуляторов, блоки питания, базовые датчики света, изготовление печатных плат и т. д.
@Andrei Lerca, 👍2
Обсуждение3 ответа
Если соединение представляет собой цифровой сенсорный вывод, то вы можете использовать ИС с параллельным входом и последовательным выходом, чтобы одновременно считать их все, а затем сместить их. Занимает 3 контакта на Arduino: защелку, тактовый и информационный.
Если соединение SPI, то вы можете соединить вместе контакты тактовых импульсов и MISO, а затем для каждого из них потребуется выбор подчиненного устройства. Вы можете управлять многими из них с помощью последовательной входной/параллельной выходной ИС или декодера.
Если соединение осуществляется по протоколу I2C и каждое устройство имеет свой адрес, то вы можете просто подключить их все параллельно.
Если датчик имеет аналоговый выход, то вы можете использовать аналого-цифровой преобразователь (АЦП), который может иметь несколько входов и часто имеет последовательный интерфейс.
Если вам не нужно, чтобы они работали одновременно, вы можете использовать мультиплексор, например, такой от Sparkfun:
https://www.sparkfun.com/products/9056
Это не похоже на вопрос, это похоже на ответ., @Nick Gammon
Все зависит от интерфейса между Arduino и датчиком.
Например, DS18B20 использует шину 1-Wire. Для этого требуется один цифровой вывод, и несколько DS18B20 могут быть подключены к одной и той же шине 1-Wire. Каждый DS18B20 имеет уникальный идентификатор, который делает это возможным.
Датчики влажности, такие как DHT11 или DHT22, требуют пин для каждого датчика. Они в любом случае неточны.
Датчики, такие как BME280, используют шину I2C. Шина I2C позволяет подключать множество датчиков. Каждый датчик I2C имеет адрес I2C. Иногда датчик может иметь только один адрес I2C, и поэтому только один такой датчик может быть подключен к шине I2C. Но иногда возможен трюк, чтобы иметь больше.
Этот список можно продолжать и продолжать. Многое возможно без дополнительного оборудования.
Поскольку вы собираетесь использовать датчики, а многие датчики рассчитаны на 3,3 В, вы купили плату Arduino на 3,3 В?
- Несколько неблокирующих таймеров обратного отсчета?
- Датчик касания — определение длительности нажатия/удержания и соответствующее изменение хода программы
- Функция digitalRead() ардуино не считывает входное значение, отправленное датчиком после обнаружения объекта
- Обнаружение выхода 2-проводного термостата
- Использование значения MAX30100 SpO2 для включения светодиода
- Arduino Uno - Raspberry PI - Поплавковые датчики - Водяные насосы
- Может ли Vin из ESP работать со многими датчиками напряжения и реле?
- Все ли контакты Arduino Uno выводят 5 В?
Помог ли какой-либо из ответов? Если да, то примите ответ, который помог. Если нет, то опубликуйте свой ответ и отметьте его как принятый в течение 48 часов. Спасибо., @Greenonline