नॉब, स्लाइडर्स और स्विच वाले USB कंट्रोलर का निर्माण कैसे करें


34

एक USB डिवाइस के लिए एक इंटरफ़ेस के निर्माण के बारे में कैसे जाना जाता है जो कंप्यूटर पर बर्तनों, रैखिक / लॉग टेपर और क्षणिक / टॉगल स्विच को नियंत्रित करने की अनुमति देता है?

अगर कोई मुझे उच्च-स्तरीय विवरण दे सकता है, तो मैं इसकी सराहना करूंगा। मैं कल्पना पत्रक पढ़ सकता हूं, इसलिए विवरणों को समझना तब तक कोई समस्या नहीं है जब तक मुझे पता है कि चादरें कहां मिलनी हैं।

जवाबों:


29

मैं Teensy बोर्डों में से एक का उपयोग करेंगे । ये Arduino- जैसे माइक्रोकंट्रोलर बोर्ड हैं जिनमें USB सपोर्ट है। Arduino के विपरीत, वे किसी भी प्रकार के USB डिवाइस के रूप में पीसी को दिखाई दे सकते हैं। इसका मतलब है कि आप अपने स्वयं के कस्टम यूएसबी कीबोर्ड, जॉयस्टिक, मिडी डिवाइस आदि बना सकते हैं और पीसी का उपयोग मानक ड्राइवर कर सकते हैं।

Teensy Arduino IDE का समर्थन करता है , या आप C में प्रोग्राम कर सकते हैं और सीधे LUFA (USB समर्थन के लिए) का उपयोग कर सकते हैं।

मदद के लिए यहां कुछ प्रोजेक्ट लिंक दिए गए हैं।


10
इस प्रकार के आवेदन के लिए मैं एक HID होने का नाटक करने का सुझाव दूंगा। पहले से ही लिखे गए ड्राइवर, आप केवल एक माउस या इसी तरह के उपकरण का अनुकरण करते हैं।
कोरटुक

1
जॉयस्टिक के लिए +1, आपको एक mcu बोर्ड बनाने की भी आवश्यकता नहीं है, एनालॉग कुल्हाड़ियों के साथ एक बोर्केन जॉयस्टिक से बरामद किया गया बोर्ड ठीक काम करेगा ...
peufeu

6

मैं एक Arduino की तरह एक माइक्रोकंट्रोलर बोर्ड का उपयोग करेगा। आप ADC और डिजिटल I / O पढ़ते हैं और UART-> USB कनेक्शन का उपयोग करके पीसी को ASCII वर्ण भेजते हैं।

आपको कितने बाहरी हार्डवेयर की आवश्यकता होती है यह आपकी सटीकता पर निर्भर करता है। मुझे लगता है कि अधिकांश अनुप्रयोगों के लिए हार्डवेयर आंतरिक से माइक्रोकंट्रोलर पर्याप्त होगा। मैं हार्डवेयर में स्विच की आलोचना करूंगा।

USB इंटरफ़ेस के लिए बस एक साधारण पार्सर लिखें ताकि आप रीडिंग को क्वेरी कर सकें। उदाहरण के लिए यदि पीसी ने स्ट्रिंग "A00?" uC एनालॉग चैनल 0. "D00?" पर रीडिंग वापस भेज सकता है। यूसी डिजिटल इनपुट की स्थिति को वापस भेज सकता है। 0. एक डिजिटल आउटपुट को बदलने के लिए शायद "D00 = 1" या "D00" = "जैसा कुछ। ये एक निश्चित लंबाई में छोटे तार होते हैं। बहुत आसान होना चाहिए।


4

मुझे Arduinos का उपयोग करना पसंद है, वे प्रोग्राम के लिए सरल हैं और आप विभिन्न कंप्यूटरों से ऑनबोर्ड USB कनेक्शन के माध्यम से आसानी से अपने कंप्यूटर पर डेटा भेज सकते हैं। डेटा को Arduino प्रोग्रामिंग वातावरण सीरियल मॉनिटर पर भेजा जा सकता है - जो डीबगिंग के लिए उपयोगी है।

मैं तब सीरियल डेटा प्राप्त करने के लिए प्योर डेटा (पीडी) या मैक्स एमएसपी जैसे प्रोग्राम का उपयोग करता हूं। सभी प्रकार के उपयोगी प्रारूपों में इन कार्यक्रमों से डेटा भेजा जा सकता है। Cuz यह सॉफ्टवेयर में किसी भी प्रकार के लॉग कर्व्स या स्केलिंग करने के लिए काफी सरल है - आपको महंगे लॉग पॉट्स खरीदने या मूल्यों को खोजने के लिए कठिन उपयोग करने के बारे में चिंता करने की ज़रूरत नहीं है - बस एक ही मूल्य का जॉब-लॉट खरीदें और चिंता करें बाद में बारीकियों (1K या 10K आमतौर पर प्राप्त करना आसान है)।

यह मुफ्त है: http://puredata.info/

यह एक स्वैंकी संस्करण के लिए भुगतान किया जाता है, लेकिन इसका एक अच्छा डेमो है: http://cycling74.com/downloads/


4

एक Arduino प्राप्त करें

एक डेंजरशील्ड प्राप्त करें ।

USB कनेक्शन पर RS-232 के माध्यम से पीसी को डेंजरशील्ड सेंसर डेटा भेजने के लिए कोड लिखें।

कस्टम एप्लिकेशन को VB.NET में लिखें या कुछ डेटा को पीसी पर उपयोगी बनाने के लिए, जैसे कि Win32 विंडो संदेश या कुछ और।


3

मैं PoKeys का उपयोग करने का सुझाव दूंगा । 55 डिजिटल I / O, 7 एनालॉग इनपुट (12-बिट), PWM आउटपुट और बहुत कुछ जोड़ना बहुत आसान है। इसे कुछ इस तरह से भी जोड़ा जा सकता है ।


2

जैसा कि अधिकांश लोगों ने सुझाव दिया था, मैं एक Arduino या Sanguino के साथ जाऊंगा। बस उनके लिए google है। वे उपयोग करने में बेहद आसान हैं और आपके पास सभी आवश्यक घटक होने के बाद कुछ घंटों में उठ सकते हैं और चल सकते हैं।


2
"उनके लिए बस Google" यहां के उत्तर के रूप में स्वीकार नहीं किया गया है। यहां विवरण दें।
स्टीवन्वह

1

: ObDev वि यूएसबी AVR आधारित परियोजनाओं पर एक नजर डालें http://www.obdev.at/products/vusb/prjhid.html । मुझे लगता है कि यह वही हो सकता है जो आप देख रहे हैं: http://www.fredrikolofsson.com/pages/hardware.html


फ्रेड्रिक ओलोफसन के पास कुछ बहुत दिलचस्प चीजें हैं।
रॉबर्ट हार्वे


1

एक विकल्प जो सूट नहीं कर सकता है या नहीं, वह है व्यावसायिक रूप से उपलब्ध एनालॉग जॉयस्टिक्स / हैप्पीपैड (ईबे चाइना पर $ fckall से, या गेम स्टोर से) खरीदना और उनके एनालॉग इनपुट घटकों को अपने स्वयं के साथ बदलना, या मुख्य पीसीबी को बाहर निकालना और प्रत्यारोपण करना आपके हार्डवेयर में।

आपको कुछ विद्युत विशेषताओं से मेल खाने की आवश्यकता होगी, लेकिन कोडिंग / यूएसबी कॉम्स आदि की कड़ी मेहनत आपके लिए की जाती है और आमतौर पर कॉम्म्स प्रोटोकॉल / इनपुट मैपिंग अच्छी तरह से जाना जाता है।

PlayStation- शैली USB नियंत्रकों आदि के चीनी नॉक-ऑफ कुछ हिरन के लिए हो सकते हैं, जो हॉबीस्ट * duino IO बोर्डों आदि की कीमत से काफी नीचे है और जब आप पहले एक या दो को उड़ाते हैं, तो डिस्पोजेबल पर्याप्त सस्ता होता है।


0

GamepadBlock बनाता है के साथ एक साथ एक ATmega32U2 का उपयोग करें LUFA कई मूल खेल नियंत्रकों मतदान पर एक पूर्ण गति USB HID डिवाइस को लागू करने। ATmega में हार्डवेयर USB इंटरफ़ेस है और शुरू करना आसान था क्योंकि LUFA कई डेमो प्रोजेक्ट प्रदान करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.