Как подключить 20 выходов и 20 входов к плате Arduino?

Я инженер-механик, начинающий свое путешествие с Arduino, поэтому, пожалуйста, извините меня, если я помещу какое-то очень обобщенное сообщение.

  • Мне нужно последовательно управлять 20 выходными реле, а затем проверить, сработало ли правильное реле. Если было запущено правильное реле, следующее реле будет запущено с задержкой в 1-2 секунды.
  • Я планирую сделать это с помощью Arduino Uno, чтобы генерировать сообщения об ошибках, если какой-либо вывод не был запущен.

Однако Uno не располагает достаточными входными и выходными данными для этого. Каковы варианты?

Я хочу спросить вас о следующем:-

  1. Имеются ли платы расширения ввода-вывода для Uno? Если да, то будет полезно поделиться подробностями;
  2. Друг посоветовал использовать мультиплексор. Могу ли я использовать мультиплексор для преобразования 4-контактного выхода Arduino в 16-контактный выход и, возможно, использовать сохраненные контакты для мониторинга входов? Если да, то как?
  3. Есть ли что-то доступное, например, обратный мультиплексор, в котором чип может преобразовывать 16 выходных сигналов в 4-контактный вход для Arduino?

Пожалуйста, дайте мне знать лучшее решение по приведенным ниже параметрам - надежность в эксплуатации, стоимость, компактность.

Спасибо за ваше время и поддержку.

, 👍0

Обсуждение

`используйте мультиплексор для преобразования 4-контактного выхода с arduino в 16-контактный выход " ... нет, для этого используйте де-мультиплексор, но это будет включать только одно реле за раз, @jsotola

пожалуйста, подробно опишите, как должны вести себя реле, @jsotola

ваш вопрос не является конкретным для arduino ... здесь это не по теме ... лучше подходит для https://electronics.stackexchange.com/questions, @jsotola

В любой момент времени будет включено только 1 реле. Я планирую использовать нормально разомкнутое соединение реле для включения двигателя. "Нормально замкнутое" соединение будет принято в качестве входного сигнала для проверки того, что включено только одно реле. Я надеюсь, что это то, о чем вы хотели спросить. Причина, по которой я спросил здесь, заключается в том, чтобы спросить, есть ли платы расширения ввода-вывода для Arduino uno, @DMP

`Есть ли что-нибудь доступное, например, обратный мультиплексор"... это неверно ... здесь вы описываете мультиплексор ... https://hackaday.com/wp-content/uploads/2016/08/mux-demux.gif, @jsotola

@jsotola Это немного грубо? Это вопрос для начинающих о подключении к arduino. Трудно представить, что это не по теме., @RowanP

@RowanP как это может быть специфично для arduino? ... вопрос был бы тем же самым, если бы OP использовал RPi, beaglebone или любой другой микроконтроллер ... кроме того, это не вопрос, который спрашивает, как подключить коммутатор к arduino, @jsotola

@jsotola Это правда. Но ОП не спрашивает об этих других микроконтроллерах. Они спрашивают о конкретном контексте Arduino. Уже есть хорошие ответы, которые остаются в этом контексте, они будут полезны другим читателям, начиная с Arduino., @RowanP


2 ответа


2

Поищите платы расширения портов для arduino, их много, многие стоят меньше доллара. Как правило, они имеют 8 или 16-канальные конструкции. Вероятно, у них будут чипы PCF8574 или PCF8575. Это низкое напряжение (обычно 5 В) для Arduino. Вам придется использовать интерфейс, если он подключен к другому напряжению. Каждый из этих модулей каналов может быть индивидуально запрограммирован в качестве входа или выхода. Вы можете включить или любой из выходов в любом порядке и по любому шаблону, который вы хотите. Эти устройства работают с интерфейсом I2C, поэтому вам нужно всего две линии от Arduino, чтобы управлять до 8 из этих модулей. Контакты должны быть помечены как A4 (SDA), A5 (SCL) в зависимости от модели Arduino, которая у вас есть. Удачи!

,

На форуме Arduino есть полезное сравнение расширителей портов PCF8575 и MCP23017 I2C. https://forum.arduino.cc/t/i2c-port-expanders-pcf8575c-vs-mcp23017/260337, @RowanP


1

Вместо использования плат расширения вы можете использовать Arduino Mega или Arduino Due. У них более чем достаточно выводов GPIO для 20 входов и 20 выходов. Цена не намного выше по сравнению с дополнительной платой расширения и необходимой дополнительной проводкой.

,

Если вы идете по этому маршруту, имейте в виду, что Mega составляет 5 В (как и Uno), но Due работает на 3,3 В. Скорее всего, вам захочется соответствовать выбранным вами реле и датчикам., @RowanP