Как можно создать интерфейс для USB-устройства, который позволяет подключать к компьютеру кюветы, линейные / логарифмические контуры и мгновенные переключатели / тумблеры?
Если бы кто-то мог дать мне описание высокого уровня, я был бы признателен. Я могу читать спецификации, поэтому понимание деталей не является проблемой, если я знаю, где их найти.
Я бы использовал плату микроконтроллера, как Arduino. Вы читаете АЦП и цифровой ввод / вывод и отправляете символы ASCII на ПК, используя соединение UART-> USB.
Сколько внешнего оборудования вам нужно, зависит от требуемой точности. Я думаю, что для большинства приложений достаточно встроенного в микроконтроллер оборудования. Я бы разоблачил переключатели в оборудовании.
Для интерфейса USB просто напишите простой парсер, чтобы вы могли запросить показания. Например, если ПК отправил строку «A00?» УК может отправить обратно показания по аналоговому каналу 0. "D00?" УК может отправить обратно состояние цифрового входа 0. Чтобы изменить цифровой выход, может быть что-то вроде «D00 = 1» или «D00 = 0». Это короткие строки фиксированной длины. Должно быть очень легко разобрать.
источник
Мне нравится использовать Arduinos, они просты в программировании, и вы можете легко отправлять данные на свой компьютер с различных входов через встроенное USB-соединение. Данные могут быть отправлены в среду программирования Arduino Serial Monitor - что полезно для отладки.
Затем я использую такую программу, как Pure Data (PD) или Max MSP, чтобы получить последовательные данные. Данные могут быть отправлены из этих программ во всех видах полезных форматов. Потому что это достаточно просто сделать любые кривые логарифмирования или масштабировать в программном обеспечении - вам не нужно беспокоиться о покупке дорогих бревен или о труднодоступных ценностях - просто купите рабочую партию того же значения и позаботьтесь о подробности позже (обычно легко получить 1K или 10K).
Это бесплатно: http://puredata.info/
Это платная за шикарную версию, но у нее есть хорошая демонстрация: http://cycling74.com/downloads/
источник
Получить Arduino
Получите DangerShield .
Введите код для отправки данных датчика DangerShield на ПК через RS-232 через USB-соединение.
Напишите пользовательское приложение, например, VB.NET или что-то для преобразования данных во что-то полезное на ПК, например, сообщения Windows Win32 или что-то подобное.
источник
Я бы предложил использовать PoKeys . Очень легко добавить 55 цифровых входов / выходов, 7 аналоговых входов (12 бит), ШИМ-выходы и многое другое. Это может даже сочетаться с чем-то вроде этого .
источник
Я бы пошел с Arduino или Sanguino, как предлагали большинство людей. Просто Google для них. Они чрезвычайно просты в использовании, и вы можете начать работу через несколько часов, как только у вас будут все необходимые компоненты.
источник
Посмотрите на проекты ObDev V-USB AVR: http://www.obdev.at/products/vusb/prjhid.html . Я думаю, что это может быть именно то, что вы ищете: http://www.fredrikolofsson.com/pages/hardware.html .
источник
Если вам просто нужны ручки, проверьте YoctoKnob: http://www.yoctopuce.com/EN/products/yocto-knob
источник
Альтернатива, которая может подходить или не подходить, состоит в том, чтобы купить имеющиеся в продаже аналоговые джойстики / джойстики (от $ fckall на ebay china или в магазине игр) и заменить их аналоговые входные компоненты своими собственными, или просто вырвать основную печатную плату и пересадить в ваше оборудование.
Вам нужно будет соответствовать некоторым электрическим характеристикам, но тяжелая работа по кодированию / USB-соединениям и т. Д. Выполняется за вас, и обычно протоколы связи / отображение входных данных хорошо известны.
Китайские подделки USB-контроллеров в стиле PlayStation и т. Д. Можно купить за несколько долларов, что значительно ниже цены на любительские платы duino IO и т. Д. И достаточно дешево, чтобы быть одноразовым, когда вы взорвете первый или два.
источник
В GamepadBlock использует в ATmega32U2 вместе с LUFA осуществить полную скорость USB HID устройство опрашивать несколько оригинальных игровых контроллеров. ATmega имеет аппаратный интерфейс USB, и начать работу было легко, поскольку LUFA предоставляет несколько демонстрационных проектов.
источник