2014-10-27 2 views
5

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

Идея состоит в том, чтобы использовать порты ввода-вывода --- VGA, ethernet, разъемы динамиков и т. Д. - на компьютере, чтобы напрямую разговаривать с датчиками и исполнительными механизмами в экспериментальной установке. Например. разрежьте одну сторону сетевого кабеля (с другим концом, подключенным к компьютеру) и отправьте каждую линию на другое устройство. Я знал постдока, который сделал что-то очень похожее с помощью BeagleBone. Он написал код сборки, который позволяет ему синхронизировать все с внутренними часами и использовать контакты GPIO, чтобы эффективно дать ему гибридный генератор сигналов/область, которая была полностью программируемой. Кажется, что то же самое должно быть возможно с ноутбуком, и это будет иметь дополнительное преимущество, которое вы можете выполнить с помощью анализа данных с того же устройства.

Основная потенциальная трудность, которую я предвижу, заключается в том, что аппаратное обеспечение на BeagleBone спроектировано с учетом такого типа ввода/вывода, в то время как я ожидаю, что аппаратное обеспечение на ноутбуке, вероятно, будет труднее контролировать напрямую. Я знаю, например, (с некоторого предварительного расследования, http://ask.metafilter.com/125812/Simple-USB-control-how-to-blink-an-LED-via-code), что USB-порты будут труднодоступны таким образом, а VGA (согласно VGA 15 pin port data read and write using Matlab) невозможно. Тем не менее, я ничего не нашел об использовании других портов, таких как Ethernet или громкоговорители.

Итак, главный вопрос: будет ли эта идея осуществимой (не вложив много месяцев для каждой новой модификации аппаратного обеспечения), и если да, то какой тип ввода/вывода (ethernet, разъемы динамиков и т. Д.), Скорее всего, быть лучшим выбором?

Вспомогательные вопросы:

  1. Где я могу найти материал, чтобы узнать, как я мог бы идти о выполнении этого плана? Я даже не уверен, какие ключевые слова подключаются к Google.

  2. Будет ли легкость, с которой я могу это сделать, сильно зависит от операционной системы или аппаратного бренда?

+1

Низкие параллельные порты содержат по меньшей мере 8 быстрых (> 64 кГц) переключателей для вывода и 8 быстрых «кнопок» (короткие датчики) для ввода и реализуются путем записи/записи записи одного адреса памяти с 8-битным значением, aka один байт. для ввода вы можете взломать дешевый USB-геймпад и припой на контакты мембранной кнопки, что даст вам быстрый 10-канальный дискретный контроллер ввода для менее чем 20 долларов. – dandavis

+1

выходы с ПК сложнее, но дешевые варианты включают подсветку numlock, динамики, геймпады с вибрацией/обратной связью, светодиодные диски USB-накопителя (для активации пинг-диска), выталкивание лотка для дисков rom, фотодатчики и мигание прямоугольников на мониторе, и, конечно, : много вещей, которые вы покупаете для задания (boo). – dandavis

+0

Большинство современных ПК очень бедны в подразделении простого ввода-вывода, и какие интерфейсы у них есть (например, USB), как правило, имеют удивительно высокую задержку. Если вам нужна тесная связь с реальным миром, вам понадобится встроенный процессор с прямым GPIO, такой как ARM SOC на beaglebone вашего друга, а не потребительский ноутбук. –

ответ

0

Единственный кабель, который я могу придумать для ПК, который может приблизиться к этому, будет параллельным кабелем для принтера, который в значительной степени ушел. Это 25-проводный кабель, который передает данные, чтобы он мог отправлять больше данных одновременно. Я просто не уверен, что вы можете настроить таргетинг на определенную строку или, если данные передаются слева направо, заполняются.

Использовать один на ноутбуке сегодня определенно будет сложно. Вы не найдете никаких портативных компьютеров с параллельными портами. Есть usb для параллельных кабелей и последовательных к параллельным кабелям, но я бы предположил, что единственный элемент управления, который у вас есть, будет иметь интерфейс USB или последовательный интерфейс, а не параллельный.

Что касается Ethernet, у вас есть 4 витая пара с использованием только двух пар и 2 пары, которые являются дополнительными.

Есть некоторые аппаратные средства, доступные под названием Zwave, которые вы можете захотеть изучить. Zwave позволит вам создать сеть устройств, которые обмениваются данными в сетке. Я не уверен, какое время ответа вам нужно.

Я на самом деле просто подумал о чем-то, что может быть хорошим решением. Проверьте оборудование безопасности. Для ПК есть много оборудования, которое контролирует двери, окна, датчики и т. Д. Эта отрасль может заинтересовать вас.

0

Я думаю, что самый простой способ - использовать USB-порт в качестве устройства для интерфейса человека (HID) и использовать специально созданную программу PIC и ПОС, которая включает в себя функции USB для кодирования данных, которые будут отправляться на компьютер, и таким образом, иметь возможность запрограммировать его независимо от ОС из-за того, что у всех мэров OS есть функциональность HID USB.

В любом случае, если вы использовали ваш MIC/VGA/HDMI на любом другом порту, вам по-прежнему требуется устройство для кодирования данных или его передачи, а другая программа внутри компьютера для декодирования отправляемых данных.

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

Надеюсь, это поможет, но именно поэтому USB был изобретен в первую очередь, чтобы сделать его аппаратным и независимым.