W jaki sposób buduje się interfejs dla urządzenia USB, który umożliwia łączenie garnków, zwężeń liniowych / logów oraz chwilowych / przełączanych przełączników do komputera?
Byłbym wdzięczny, gdyby ktoś mógł podać mi ogólny opis. Potrafię czytać arkusze specyfikacji, więc zrozumienie szczegółów nie stanowi problemu, o ile wiem, gdzie je znaleźć.
Użyłbym płytki mikrokontrolera jak Arduino. Odczytujesz ADC i cyfrowe we / wy i wysyłasz znaki ASCII do komputera za pomocą połączenia UART-> USB.
Ile potrzebujesz zewnętrznego sprzętu zależy od wymaganej dokładności. Sądzę, że dla większości aplikacji wystarczający byłby sprzęt wewnętrzny mikrokontrolera. Chciałbym ogłosić przełączniki sprzętowo.
Dla interfejsu USB wystarczy napisać prosty parser, aby można było odczytać odczyt. Na przykład, jeśli komputer wysłał ciąg „A00?” uC może odesłać odczyt na kanale analogowym 0. „D00?” uC może odesłać stan wejścia cyfrowego 0. Aby zmienić wyjście cyfrowe, może coś takiego jak „D00 = 1” lub „D00 = 0”. Są to krótkie sznurki o stałej długości. Powinny być bardzo łatwe do przeanalizowania.
źródło
Lubię korzystać z Arduinos, są one łatwe do zaprogramowania i można łatwo wysyłać dane do komputera z różnych wejść przez wbudowane złącze USB. Dane mogą być przesyłane do środowiska programistycznego Arduino Serial Monitor - przydatnego do debugowania.
Następnie używam programu takiego jak Pure Data (PD) lub Max MSP, aby odbierać dane szeregowe. Dane mogą być wysyłane z tych programów we wszelkiego rodzaju przydatnych formatach. Ponieważ w oprogramowaniu jest wystarczająco proste wykonywanie krzywych kłód lub skalowanie - nie musisz się martwić o kupowanie drogich doniczek lub trudnych do znalezienia wartości - wystarczy kupić zadanie o tej samej wartości i martwić się o szczegóły później (1K lub 10K jest zwykle łatwo dostępne).
Ten jest bezpłatny: http://puredata.info/
Ten jest płatny za swanky wersję, ale ma dobre demo: http://cycling74.com/downloads/
źródło
Zdobądź Arduino
Zdobądź DangerShield .
Napisz kod, aby wysłać dane czujnika DangerShield do komputera przez RS-232 przez połączenie USB.
Napisz niestandardową aplikację, taką jak VB.NET lub coś, co przekształci dane w coś użytecznego na PC, na przykład komunikaty okna Win32 lub coś takiego.
źródło
Sugerowałbym użycie PoKeys . Bardzo łatwe dodanie 55 cyfrowych wejść / wyjść, 7 wejść analogowych (12-bitowych), wyjść PWM i innych. Może nawet być połączony z czymś takim to .
źródło
Wybrałbym Arduino lub Sanguino, jak sugeruje większość ludzi. Po prostu google dla nich. Są niezwykle łatwe w użyciu i możesz zacząć działać w ciągu kilku godzin, gdy będziesz mieć wszystkie niezbędne komponenty.
źródło
Spójrz na projekty oparte na ObDev V-USB AVR: http://www.obdev.at/products/vusb/prjhid.html . Myślę, że ten może być właśnie tym, czego szukasz: http://www.fredrikolofsson.com/pages/hardware.html .
źródło
Jeśli potrzebujesz tylko gałek, sprawdź YoctoKnob: http://www.yoctopuce.com/EN/products/yocto-knob
źródło
Alternatywą, która może nie pasować, jest zakup dostępnych w handlu analogowych joysticków / joypadów (od $ fckall w serwisie eBay china lub w sklepie z grami) i zamiana ich analogowych komponentów wejściowych na własne lub po prostu zerwanie głównej płytki drukowanej i przeszczep do twojego sprzętu.
Musisz dopasować niektóre parametry elektryczne, ale ciężka praca związana z kodowaniem / komunikacją USB itp. Jest dla Ciebie wykonywana i zwykle protokoły komunikacyjne / mapowanie danych wejściowych są dobrze znane.
Chińskie podróbki kontrolerów USB w stylu PlayStation itp. Można dostać za kilka dolarów, co jest znacznie poniżej ceny hobbystycznych * kart duo IO itp. I jest wystarczająco tanie, aby można je było wyrzucić, gdy wysadzisz pierwszego lub dwóch.
źródło
W GamepadBlock posługuje się ATmega32U2 razem z lufa do wdrożenia pełnego urządzenie USB HID prędkości do sondowania kilka oryginalnych kontrolerów gier. ATmega ma sprzętowy interfejs USB i rozpoczęcie pracy było łatwe, ponieważ LUFA zapewnia kilka projektów demonstracyjnych.
źródło