Самый простой способ обнаружить нажатие кнопки

У меня есть кнопка, которая при нажатии включает небольшой свет (свет мигает, как счетчик) - есть ли простой способ перехватить этот сигнал, чтобы мое окно Windows также могло определить, нажата ли кнопка? У меня есть доступ к порту RS232 и USB; Я также могу читать с порта RS232. Мне все равно, какой сигнал он посылает, пока есть что-то, что я могу записать при нажатии кнопки.

Ответы (1)

Если вы пишете приложение для Windows, и именно в этой среде вы хотите зафиксировать нажатие кнопки, один довольно простой способ добиться этого - заставить программу Windows открыть интерфейс Com: порта. Порт Com: может быть подключен либо к аппаратному порту UART на компьютере, либо к подключаемому кабелю адаптера USB-Serial.

Вы должны подключить схему кнопки во внешнем устройстве к линейному входу рукопожатия CTS к порту Com:. Может потребоваться небольшая схема транзисторного адаптера с некоторыми добавленными резисторами для достижения надлежащих уровней сигнала, чтобы соединение работало правильно. Тип адаптера, если это необходимо, будет во многом зависеть от характера работы схемы кнопки переключателя, и поэтому невозможно предложить вам подходящую схему.

Как только вы подключите интерфейс схемы, вы можете настроить программу Windows для отслеживания сообщений о событиях, которые срабатывают при каждом нажатии переключателя и вызывают переключение состояния линии Com: port CTS. В логике обработчика событий вы можете добавить любой код, подходящий для вашего приложения. Несомненным преимуществом этого подхода является то, что в программе Windows нет программного протокола передачи данных и квитирования, с которыми можно было бы возиться.

Обратите внимание, что я использовал эту технику в прошлом, чтобы позволить ножной педали в стиле гитары запускать входные данные в программу Windows, которая использовалась для поддержки калибровки электронных продуктов на производственной линии на заводе.

Вот схема простого однобитового входа RS232: cedarlakeinstruments.com/SharedFiles/io.html
@Lyndon - Эти схемы - отличное начало. Если кто-то использует фактический порт RS232 для этого типа 1-битного ввода, я хотел бы устранить необходимость в дополнительном источнике питания +9 -> +12 В, заставив программу ПК установить выход RTS в состояние, чтобы этот порт Com: выходной контакт переходит в состояние +V. Затем подтяжка для входа CTS может подключаться к линии RTS.
@MichaelKaras это звучит ОЧЕНЬ многообещающе - я попробую это завтра! очень взволнован.
ак! Я дал ссылку на старую версию схемы. Вот обновленный вариант: cedarlakeinstruments.com/blog/archives/46 . Я использовал его, чтобы прочитать аркадную кнопку в программе .NET для небольшого проекта.
@lyndon спасибо - в итоге я взломал старую клавиатуру - это оказалось проще всего. Спасибо.