Протокол связи и аппаратное обеспечение для связи на расстоянии 50-100 футов между 2-3 Arduino Mega
Здесь новичок. Реализовал несколько небольших проектов, присматриваюсь к чему-то более масштабному и нуждаюсь в совете, с чего начать.
Я создаю гитарную педальную панель эффектов, которую хочу удалённо переключать с помощью моей педальной панели. Ведущим устройством будет моя педальная панель. Я нажимаю один переключатель, и это переключает множество параметров на педальной панели.
Я хочу, чтобы вся логика переключения при нажатии определённой кнопки была реализована на плате рядом со мной. Я нажимаю кнопку, ведущее устройство посылает ведомому команду «переключить реле 1, 4, 5 и 6» или что-то в этом роде.
Большую часть времени я бы делал это на расстоянии около 10 футов, но были ситуации, когда расстояние в 50–100 футов было бы более подходящим.
Вопрос: какой протокол связи использовать и какой тип кабеля? В идеале было бы использовать Ethernet-кабель или микрофонный кабель (двухжильный, с заземлением и экраном), так как они повсюду. Какие разъёмы на Mega использовать? Я знаю, что у Mega есть последовательные порты 1, 2 и 3, но не уверен, какие ещё.
Я говорю «2–3 платы Arduino» в заголовке, потому что есть вероятность, что в будущем у меня появится вторая ведомая плата, но пока обо всём по порядку...
Спасибо!
@Dustin Lobner, 👍-1
Обсуждение1 ответ
Возможно, вариантов довольно много. Что касается аппаратного уровня, мой первый Выбор был бы в пользу RS-485. Обычно он поддерживается витая пара медных проводов, как одна из четырех пар Ethernet Кабель. Вы также можете попробовать микрофонный кабель (это витая пара?). Это имеет тенденцию быть достаточно устойчивым к шуму окружающей среды и Предполагается работа на расстоянии до 1200 м.
Для использования RS-485 с Arduino Mega вам придется найти подходящий Щит приёмопередатчика. Вам нужен один последовательный порт для отправки и приёма. данных и цифровой выход для переключения приемопередатчика между режим передачи и режим приема.
На уровне программного обеспечения, если у вас есть только одно ведущее устройство и одно ведомое устройство устройство, единственная сложность в том, что нужно знать, когда переключаться между режимами передачи и приёма. Если у вас несколько ведомых устройств, устройство по той же ссылке, то вам придется разработать что-то вроде схема адресации, которая позволяет каждому ведомому устройству знать, когда ведущее устройство разговаривая с ним.
Вы можете соединить два устройства с помощью RS-485, используя скромное недорогое оборудование, как я описал [здесь](http://www.gammon.com.au/forum/?id=11428)., @Nick Gammon
- Взлом старых автомобильных DVD-мониторов с помощью arduino
- Отправка структуры данных с 2 полями int из Arduino в Raspberry через NRF24L01
- Плохие данные : Последовательная связь Arduino Mega и NodeMCU
- Связь Arduino с ROS через UART
- Чтение внутренних регистров RS485
- Связь между 2 платами arduino
- Преобразовать код Arduino MEGA в код Arduino DUE?
- Убедиться, что плата всегда подключена к одному и тому же порту
это может помочь... https://youtu.be/caMit7nzJsM?si=SyBdavyQN3niKYqH, @jsotola