Как подключить выход к входу Pullup другого arduino

:tldr; Могут ли возникнуть проблемы, если один подключает ВЫСОКИЙ выход одного arduino к PULLUP_INPUT другого при использовании различных источников питания?

Привет, я строю некоторые устройства для подземелья ЛАРПА (подумайте о комнате побега).

Для этого у нас есть интерфейсы, загадки и переключатели(триггеры). Интерфейсы обеспечивают доступ к системам звука/света/DMX для загадок. Загадки проверяют условия и отправляют информацию о состоянии в интерфейсы.

Чтобы все было проще, состояния являются булевыми (например, загадка решена, критическая ошибка допущена...).

Я хотел бы использовать PULLUP_INPUTs на приемном конце, чтобы использовать простые переключатели GND в качестве элементов управления. В некоторых случаях коммутатор может быть подключен непосредственно к интерфейсу. В основном есть загадка между ними. В этих случаях ВЫХОД Arduino загадки будет подключен к PULLUP_INPUT Arduino интерфейса. Там будет несколько загадок, связанных с одним или даже несколькими интерфейсами. Из-за длины кабеля, различных источников питания и т.д. потенциал GND задействованных Arduino может быть различным. Поэтому я предполагаю, что эта разница будет протекать через подтягивающий резистор интерфейсов в их 5В. Внутренний ПУЛЛУП составляет ~20 Ком, поэтому ток не должен быть проблемой, но может ли напряжение, которое может быть немного выше, чем на входе, вызвать проблемы?

Или было бы лучше установить выход загадки Arduino на вход, в то время как сигнальная линия должна быть высокой, чтобы она получала высокое сопротивление? Переключение между: OUTPUT:LOW while active и INPUT while inactive.

, 👍1

Обсуждение

Если к контакту приложить напряжение выше Vcc, ток будет протекать только через разъем, но через защитные диоды..., @Sim Son

Спасибо! Это должно решить мои проблемы., @Karl Sanathos

Возможно, мне было неясно: на самом деле это плохо. Эти зажимные диоды предназначены для защиты iOS от переходных процессов, а не от постоянного перенапряжения. Применение постоянного напряжения типа 0,5 В выше Vcc может привести к разрушению GPIO... но это актуально только в том случае, если два устройства имеют разные Vcc., @Sim Son


1 ответ


Лучший ответ:

1

Подключение любого сигнала, находящегося в пределах диапазона напряжения приемного устройства Arduino, безопасно. Таким образом, если вы используете Arduino UNOs или аналогичный с рабочим уровнем 5 В, вы можете подключить любой сигнал между 0 и 5 В к входу. Не имеет значения, находится ли вход в режиме подтягивания или нет. Таким образом, подключение выхода к входу другого Arduino (или даже того же Arduino) безопасно. В дополнение к значениям сигнала, вам нужно подключить землю обоих Arduino.

Единственное, чего вы не должны делать, - это соединять два выхода вместе (потому что если один из них высокий, а другой низкий, то у вас есть ярлык, который потенциально сожгёт одну или обе платы). И вам нужно быть осторожным, если вы используете разные типы Arduino, такие как Uno и Due, потому что они работают на разных уровнях напряжения.

,

Все правильно, но также обратите внимание: двум микроконтроллерам требуется один и тот же эталон, но у них разные источники питания, поэтому вам также потребуется соединить их заземления вместе., @JRobert

Верно, добавил он., @PMF

Да, все GND также подключены. Насколько я понимаю, вывод ввода-вывода, для которого установлено значение INPUT_PULLUP, подключен через внутренний резистор к 5 В-контакту его Arduino. ВЫХОД напрямую подключен к 5VPin, когда он ВЫСОК. В зависимости от нагрузки и точности каждого линейного преобразователя реальное напряжение между выводом 5 В и GND может отличаться для каждого Arduino. Я читал, что это напряжение имеет решающее значение для любого Arduino и не должно меняться. Нагрузка на любой Arduino может измениться. Поэтому я боюсь, что ток может вернуться в INPUT_PULLUP. Я предполагаю, что разница будет <100мВ.. Может быть, я перестарался с этими мыслями., @Karl Sanathos

@Карлсанатос: Внутренний резистор, который используется для создания подтягивания, достаточно велик, чтобы любой ток, который вы пытаетесь извлечь из него, был достаточно мал, чтобы не причинить никакого вреда. Напряжение на входных контактах абсолютно не критично, если оно не значительно превышает 5 В. Если он составляет около 2,5 В, показания на входе могут быть случайными, но все равно это ничего не сломает., @PMF