2012-05-03 12 views
6

हाल ही में मैंने ऑप्टिकल माउस की सुंदरता को एक वृद्धिशील स्थिति एन्कोडर के रूप में खोजा।ऑप्टिकल माउस एन्कोडर

एक ऑप्टिकल माउस में आमतौर पर एक घटक होता है जिसमें एक कैमरा एक यूएसबी इंटरफेस से जुड़े एक छवि प्रोसेसर से जुड़ा होता है। संकल्प कैमरा संकल्प पर निर्भर करता है। इंटरनेट पर इस प्रकार के घटकों के डेटाशीट को वापस ढूंढना आसान है जो वर्णन करते हैं कि उनके साथ कैसे पढ़ना/लिखना है।

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

दूसरा सवाल यह है कि यूएसबी पोर्ट पर एन्कोडर माउस से निर्देश/डेटा को पढ़ने/लिखने का तरीका क्या है? क्या कोई मुझे सी ++ में एक ट्यूटोरियल/उदाहरण के लिए एक लिंक भेज सकता है?

अग्रिम में बहुत बहुत धन्यवाद,

स्टीफन

+1

यह बिल्कुल स्पष्ट नहीं है। आप क्या हासिल करने का प्रयास कर रहे हैं? –

+0

ऐसा लगता है कि आप एक बहुत से कोड लिखने के लिए कह रहे हैं, एक विशिष्ट प्रश्न के उत्तर के लिए नहीं। – Linuxios

+1

यदि यह आरएस -232 माउस था, तो यह संभवतः ऐसा करना आसान होगा क्योंकि एक सरल प्रोटोकॉल है जो ओएस को एक सीरियल पोर्ट पर माउस ढूंढने देता है (पोर्ट को 1200 बिट्स/सेकंड, 7 डेटा बिट्स, 1 स्टॉप बिट के लिए कॉन्फ़िगर करें , कोई समानता नहीं, आरटीएस और डीटीआर बंद करें, 100 (?) एमएस का इंतजार करें, आरटीएस और डीटीआर चालू करें, माउस वापस पत्र "एम" भेजता है और सामान्य ऑपरेशन शुरू करता है)। तारों के साथ थोड़ा सा बजाना आप यह सुनिश्चित कर सकते हैं कि विंडोज़ बूट होने पर माउस को खोजने का मौका न हो। फिर आप सीरियल पोर्ट को प्रोग्राम कर सकते हैं और माउस को अपने आप इस्तेमाल कर सकते हैं। –

उत्तर

4

USB माउस माइक्रोकंट्रोलर शायद एक HID डिवाइस रूप में अपनी पहचान यूएसबी फ्रेम भेजने के लिए hardcoded है। उस स्थिति में थोड़ी उम्मीद है कि आप माउस को माउस के रूप में उपयोग करने से रोकने में सफल हो सकते हैं। आखिरकार यह एक माउस है।

यदि आप DIY में हैं, तो आप माउस बोर्ड को घटक/तारों को बेकार करके और सीधे अपने Arduino के साथ एन्कोडर्स को नियंत्रित करने का प्रयास कर सकते हैं। इस तरह, Arduino एन्कोडर से डेटा पढ़ सकता है और इसे अपने यूएसबी सीरियल पोर्ट का उपयोग कर पीसी पर भेज सकता है।

वहाँ एक उदाहरण देखें: http://en.wikipedia.org/wiki/USB_human_interface_device_class अंश:

http://www.martijnthe.nl/2009/07/interfacing-an-optical-mouse-sensor-to-your-arduino/

HID डिवाइस के बारे में अधिक जानकारी के लिए यूएसबी के स्तर पर और ऑपरेटिंग सिस्टम का स्तर: "USB HID से संबंधित एपीआई के दो स्तर हैं यूएसबी स्तर पर, उपकरणों के लिए उनके प्रोटोकॉल और ऑपरेटिंग सिस्टम को डेटा को पार्स करने के लिए प्रोटोकॉल होता है। ऑपरेटिंग सिस्टम तब अनुप्रयोगों के लिए एक उच्च स्तरीय दृश्य प्रदान करता है, जिसमें व्यक्तिगत उपकरणों के लिए समर्थन शामिल करने की आवश्यकता नहीं होती है लेकिन उपकरणों के वर्गों के लिए। यह अमूर्त परत किसी गेम को किसी भी यूएसबी नियंत्रक के साथ काम करने की अनुमति देती है आर उदाहरण, यहां तक ​​कि खेल के बाद भी बनाया गया। "

+0

तो माउस को अपना डेटा भेजने की अनुमति देना संभव नहीं है लेकिन विंडोज़ में जानकारी डेटा का उपयोग नहीं कर रहा है? दूसरे शब्दों में विंडोज़ में माउस के रूप में वास्तव में केवल एक माउस का उपयोग करना और अधिक कनेक्ट करना संभव नहीं है? मुझे प्लग और प्ले के साथ कोई अनुभव नहीं है, लेकिन मुझे उम्मीद थी कि ओएस के किनारे कम से कम कुछ कॉन्फ़िगर किया जा सकता है। – noste99

+0

यदि आप जानते थे कि माउस माइक्रोक्रोनरोलर को पुन: प्रोग्राम कैसे करें, तो आप इसे यूएसबी फ्रेम भेज सकते हैं। लेकिन एक Arduino प्रोग्रामिंग एक आसान तरीका तरीका दिखता है। समस्या विंडोज पक्ष पर नहीं है। यह है कि माउस ओएस को बताते हुए फ्रेम भेज रहा है: मैं एक माउस हूं। यही कारण है कि आप किसी भी यूएसबी माउस को कनेक्ट कर सकते हैं और ओएस प्लग इसे खेल सकते हैं :) – fjardon

+1

बहुत बहुत धन्यवाद। लिंक बहुत उपयोगी हैं। एक Arduino एक अच्छा समाधान हो सकता है, लेकिन मुझे इस विचार को स्वीकार करने में कठिनाइयां हैं कि अधिकांश समय के लिए मेरा पीसी/सीपीयू निष्क्रिय है, लेकिन चीजें जटिल हो जाती हैं क्योंकि अतिरिक्त प्रोसेसर को जोड़ने की आवश्यकता होती है। मैं अनुभव एकत्र करने और खोज जारी रखने के लिए उपर्युक्त सूचीबद्ध यूआरएल में जो कहा गया है उसे आजमाएं। सहायता के लिए बहुत - बहुत धन्यवाद। – noste99

2

Raw Input एपीआई पर एक नज़र डालें, यह देखने के लिए कि क्या आप इस तरह की घटनाओं को चुन सकते हैं और विंडोज़ पर अभिनय करने से रोक सकते हैं।

+0

संकेत के लिए धन्यवाद। यह मेरे लिए नया है इसलिए मुझे और जानने के लिए कुछ समय चाहिए। – noste99

+0

+1 इसके बारे में नहीं पता था। बिल्कुल वही दिखता है जो यहां जरूरी है। – fjardon

+0

डीनमा, आपने जो भी सुझाव दिया है, उसमें विस्तार से अध्ययन किए बिना, क्या रॉ इनपुट इनपुट एपीआई का उपयोग कर किसी डिवाइस को लिखना संभव है? ऐसा लगता है कि मुझे केवल उस डेटा को पढ़ा जाता है जो भेजा जाता है और निर्णय लेता है कि इसका उपयोग करना है या नहीं। स्टीफन – noste99

संबंधित मुद्दे