Просто напишу здесь Если бы у меня возникла такая потребность я бы поставил обычное 4х контактное реле которое по сигналу определенного pin`а переключало с D+ D- на RX и TX, а их можно использовать и как com и как обычные цифровые входы/выходы d0 и d1
Unixon помогите мне пожалуйста. Я все думаю думаю, как реализовать соединение, имеется плата Aruino Mega 2560 и 9 микроконтроллеров ATMEGA328P-PU с бутлоадером. Паралелить RX TX на всех уно как то не стабильно, могут быть конфликты, но появилась такая мысль (картинка), т.к у меги 4 ком порта (1 нужен для связи с Anroid) то можно по 3 уно последовательно соединить, т.е подключаем RX одной к TX другой, а в скетче писать (примерный код): ///// void loop: var a=serial.Read SerialWrite(a) if(a==137) { ***Команда } delay(20); ///// На остальных все точно также но условия if другие, т.е другие чипы не будут обрабатывать команды и будут ждать соответствующих им команд (соответствующих значений 'a').
1) TX ведущего контроллера (Mega) можно соединить одновременно со всеми RX ведомых (Uno); Если такой вариант не подходит - поступить аналогично (2,3) и использовать 74***4051 или аналогичный мультиплексор либо дешифратор 3-к-8 + ключи. 2) Все TX ведомых нужно подключить через мультиплексор 8-к-1 к RX ведущего; 3) На ведущем выделить несколько ног для управления мультиплексором (для переключения каналов). Мультиплексор типа 74***4051 / MC14512 . Сам физический канал между контроллерами можно обернуть трансиверами RS485/422.