Как Arduino может проверить, подключен ли он к ПК и включен ли компьютер?

Я искал в Интернете, есть ли способ проверить, подключен ли Arduino к ПК или нет.

Например: если мой компьютер включен, Arduino будет слушать любые полученные последовательные команды, НО если мой компьютер выключен, Arduino будет получать некоторые случайные символы.

Как Arduino может проверить, подключен ли он к ПК и включен ли компьютер?

, 👍3

Обсуждение

Прочтите [Как эта строка кода определяет, подключен ли последовательный интерфейс?](http://arduinoprosto.ru/q/438/how-does-this-code-line-detect-if-a-serial-interface -подключен). Если он не дает удовлетворительного ответа, обновите свой вопрос, чтобы отразить ваши дополнительные требования., @JRobert

Вам придется написать какое-нибудь приложение на своем компьютере, которое, например, отправляет «PONG» при получении «PING». Затем вы можете время от времени «пинговать» компьютер, чтобы проверить, отвечает ли он (таким образом, подключен/включен)., @Paul

Альтернативно вы можете проверить линию USB 5 В, которая будет указывать на то, что ваш компьютер включен (обычно). Но это работает только в том случае, если вы обычно запускаете его с домкрата. (Так что на самом деле это не относится к Nano, но вы можете сделать альтернативную схему.) Возможно, вы могли бы измерить сопротивление на линиях передачи данных, но я не уверен, безопасно ли это/возможно., @Paul

Проверили ли вы, будут ли порты USB на вашем компьютере оставаться под напряжением, если компьютер выключен?, @Gerben

«Если мой компьютер выключен, Arduino будет иметь некоторые заранее определенные шаблоны». - что вы имеете в виду?, @Nick Gammon

Это настольный ПК или ноутбук?, @black


2 ответа


-1

перемычка сброса -> земля и rx -> tx (при отключенном питании) подключите питание, откройте последовательный монитор в Arduino IDE, введите что-нибудь и введите. если последовательный монитор отображает то, что вы набрали, значит, у вас хорошее соединение, и вам следует поискать проблемы в другом месте.

Нашел это решение на сайте сообщества arduino.cc.

,

Как ваше предложение позволяет Arduino определить, подключен ли он и какую часть кода запустить, как это было запрошено в исходном сообщении?, @fred_dot_u


2

По предложению Пола и amp; Гербен, ты можешь проверить линию USB 5 В, есть ли на ней напряжение или нет.

Из вашего вопроса я предполагаю, что Arduino не питается от линии USB. Я также предполагаю, что на порт USB не подается питание, когда компьютер выключен.

Все, что вам нужно сделать, это подключить VUSB к цифровому входу через резистор, как показано ниже:
Принципиальная схема


В качестве альтернативы вы можете заставить компьютер отправить заранее определенное сообщение, сообщающее Arduino, что он активен.

Если Arduino получает это сообщение, на контакте 13 загорается светодиод. Если Arduino не получил сообщение «Я жив» какое-то время (т. е. по истечении тайм-аута), светодиод выключается.

Для автоматизации этой задачи можно написать простую программу для ПК.

,