С аппаратным обеспечением это вполне возможно. Всего у вас есть 54 доступных вывода, из которых 14 являются широтно-импульсными выходами для ваших двигателей, а 16 - это контакты аналого-цифрового преобразователя (если ваши датчики выдают напряжение постоянного тока), так что вам не нужно беспокоиться о аппаратный мультиплексор. Кроме того, многие датчики используют коммуникационные шины, которые минимизируют количество дополнительных контактов, необходимых для каждого устройства, например, SPI или I2C. Я не предсказываю, что у тебя будут проблемы с выходом из строя.
Я предсказываю, что у вас будет больше проблем с «мультиплексированием» вашего процессора, а не его входов. Когда вы пытаетесь переключиться между 6 двигателями и несколькими датчиками, вы можете быть очень заняты, пытаясь поддерживать все это в рабочем состоянии. Я недостаточно знаком с Arduino и его эскизами, чтобы знать, способен ли он делать это «из коробки», и это также зависит от того, сколько обработки вы делаете (GPS? Плавающая точка? Интегрирование положения с акселерометра?) но я скажу, что ваш код, вероятно, должен быть намного лучше, чем простой цикл опроса.
И наконец, что вы подразумеваете под "привязью"? Если это просто источник питания для ROV, это довольно просто, но нужно больше думать, если у вас есть 150 м коммуникационная шина. Я не думаю, что у Arduino есть шина CAN или что-то еще, предназначенное для связи на 150 м. Вы не можете просто проложить USB-кабель к Arduino на таких расстояниях, но вы знали, что ...
Я не знаком с аппаратным обеспечением Arduino, но если информация от reemrevnivek верна, нет никаких проблем в управлении двигателем 6 с использованием выходов ШИМ. Они изменят скорость ваших двигателей без проблем, если это то, что вам нужно.
Относительно датчиков, зависит от того, какого типа и сколько датчиков у вас есть и где они подключены к Arduino, но, опять же, это не должно быть проблемой, учитывая, что вам не требуется высокоскоростное обновление этих датчиков.
Наконец, у вас может быть проблема с дальностью связи (150 м), рассмотрите возможность использования RS485 и некоторую контрольную сумму или контрольную сумму для связи.
источник