विषयसूची:

कंप्यूटर आईआर रिमोट कंट्रोलिंग: 4 कदम
कंप्यूटर आईआर रिमोट कंट्रोलिंग: 4 कदम

वीडियो: कंप्यूटर आईआर रिमोट कंट्रोलिंग: 4 कदम

वीडियो: कंप्यूटर आईआर रिमोट कंट्रोलिंग: 4 कदम
वीडियो: Realme TV Remote not Working | Troubleshooting Steps to Solve the Problem | Realme Remote 100% Fix 2024, नवंबर
Anonim
कंप्यूटर आईआर रिमोट कंट्रोलिंग
कंप्यूटर आईआर रिमोट कंट्रोलिंग

कई अन्य उद्देश्यों के अलावा मैं अपने पीसी को मल्टीमीडिया सेंटर के रूप में उपयोग कर रहा हूं। कभी-कभी मैं संगीत सुनने या फिल्म या टीवी देखने के लिए सोफे पर आराम कर रहा होता हूं और हर बार जब बेवकूफ विज्ञापन दिखाई देते हैं या मैं सो रहा होता हूं तो वॉल्यूम समायोजित करने या टीवी चैनल बदलने के लिए उठने का मन नहीं करता है। शांति। इसलिए मैंने अपने पीसी को एक मानक आईआर रिमोट कंट्रोल के साथ नियंत्रित करने का फैसला किया है ताकि मैं कीबोर्ड पर माउस या म्यूट कुंजी के लिए उग्र रूप से हथियाने के बजाय तुरंत बटन दबा सकूं।

परियोजना में कई भाग होते हैं:

  1. रिमोट कंट्रोल
  2. पीसी सॉफ्टवेयर
  3. आईआर रिसीवर मॉड्यूल

चरण 1: रिमोट कंट्रोल

दूरस्थ नियंत्रण
दूरस्थ नियंत्रण

पहला आइटम - रिमोट कंट्रोल - के साथ काम करने के लिए तुच्छ है। बस किसी भी IR नियंत्रण का उपयोग करें जो आपको पसंद हो। मैंने आईआर रिसीवर के साथ सेट के रूप में बिक्री के लिए इस्तेमाल किया - चित्र देखें। मैंने इस प्रकार के लिए निर्णय लेने का एकमात्र कारण यह है कि मेरे पास यह पहले से ही घर पर था।

चरण 2: सॉफ्टवेयर

मैंने टर्मिनल में चलने वाले जीएनयू/लिनक्स ओएस के लिए प्रोग्राम बनाया है। स्रोत कोड डाउनलोड/उपयोग/साझा/संशोधित करने के लिए स्वतंत्र है। कोड को संकलित करने के लिए टर्मिनल में gcc -o RemotePC RemotePC.c जैसे कमांड जारी करें। प्रोग्राम को चलाने के लिए./remotePC टाइप करें।

इस चरण में निम्नलिखित जानकारी उन लोगों को संबोधित है जो रुचि रखते हैं कि चीजें कैसे काम करती हैं।

कार्यक्रम का विवरण

प्रोग्राम पहले जांचता है कि फ़ाइल /dev/ttyACM0 या ttyACM1 मौजूद है या नहीं। यदि ऐसा है तो फ़ाइल की समूह आईडी शून्य से भिन्न होने के लिए जाँच की जाती है। इसका मतलब है कि सीरियल पोर्ट को आम उपयोगकर्ता द्वारा पढ़ा और लिखा जा सकता है। 0xAA 0x55 मान के साथ दो बाइट्स तब पोर्ट को यह संकेत देने के लिए लिखे जाते हैं कि प्रोग्राम डेटा प्राप्त करने के लिए तैयार है। आने वाले डेटा की तुलना संग्रहीत मानों से की जाती है। यदि मिलान पाया जाता है तो पूर्वनिर्धारित क्रिया निष्पादित की जाती है।

वॉल्यूम नियंत्रण

प्रोग्राम ध्वनि को चालू/बंद करने, सिस्टम स्तर पर वॉल्यूम स्तर को बढ़ाने/घटाने में सक्षम है। यह पैक्टल प्रोग्राम के उपयोग से प्राप्त किया जाता है। आदेश तब इस तरह दिखते हैं:

पैक्टल सेट-सिंक-म्यूट 0 टॉगल

पैक्टल सेट-सिंक-वॉल्यूम 0 + 10%

पैक्टल सेट-सिंक-वॉल्यूम 0 -10%

यदि आवश्यक हो तो मांगे गए पैकेजों को स्थापित करें।

वीएलसी मीडिया प्लेयर नियंत्रण

कार्यक्रम ऑडियो/वीडियो को शुरू/रोक भी सकता है और वीएलसी मीडिया प्लेयर की प्लेलिस्ट में ट्रैक को पिछले/अगले में बदल सकता है। इस मामले में डेस्कटॉप बस का उपयोग किया जाता है। आदेश:

dbus-send --type=method_call --dest=org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. PlayPause

dbus-send --type=method_call --dest=org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Next

dbus-send --type=method_call --dest=org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player.पिछला

चरण 3: आईआर रिसीवर मॉड्यूल

आईआर रिसीवर मॉड्यूल
आईआर रिसीवर मॉड्यूल
आईआर रिसीवर मॉड्यूल
आईआर रिसीवर मॉड्यूल
आईआर रिसीवर मॉड्यूल
आईआर रिसीवर मॉड्यूल

परियोजना का तीसरा भाग सबसे जटिल है फिर भी बहुत सरल है। विचार यह है कि आईआर रिसीवर एमसीयू को सिग्नल आउटपुट करेगा जो इसे अद्वितीय संख्या में बदल देगा। इसके बाद यह नंबर यूएसबी के जरिए पीसी को भेजा जाएगा।

मॉड्यूल को पीसी केस के अंदर माउंट करने का इरादा है और केबल के साथ मदरबोर्ड पर यूएसबी स्लॉट से जुड़ा है। यदि आप USB से बाहरी कनेक्शन पसंद करते हैं तो आपको मामूली समायोजन करना होगा।

एमसीयू

मैंने PIC16F1829 माइक्रोकंट्रोलर पर मॉड्यूल बनाया है। MCU का चुनाव महत्वपूर्ण नहीं है, यदि आप स्रोत कोड को समायोजित करने में सक्षम हैं तो आप किसी अन्य MCU का उपयोग कर सकते हैं। मैंने इस PIC को दो कारणों से चुना है। पहले मेरे पास यह उपलब्ध था और दूसरा इसके पिन विभिन्न परीक्षण परियोजनाओं में गहन उपयोग से आंशिक रूप से क्षतिग्रस्त हो गए थे। इसलिए मैं इसे पूरी तरह से अनुपयोगी होने से पहले स्थायी परियोजना में उपयोग करना चाहता था।:-)

आईआर रिसीवर

दूसरा भाग जिस पर मॉड्यूल आधारित है, वह है IR रिसीवर VS1838B - जो पहले चरण में उल्लिखित है।

यूएआरटी / यूएसबी कनवर्टर

तीसरा भाग MCP2221 है जो UART/I2C/USB कनवर्टर है।

कार्य मॉड्यूल बनाने के लिए इन 3 भागों को संयोजित करना है जो आईआर रिमोट कंट्रोल से सिग्नल प्राप्त करने और उन्हें पीसी को सौंपने में सक्षम होंगे।

वायरिंग

पहली तस्वीर में ब्रेडबोर्ड पर टेस्टिंग सर्किट है। दूसरे में वायरिंग योजनाबद्ध है।

भागों की सूची

1 पीसी PIC16F1829 (या कोई अन्य एमसीयू)

1 पीसी वीएस1838 बी (या कोई अन्य आईआर रिसीवर)

1 पीसी एमसीपी2221 (या कोई अन्य यूएआरटी/यूएसबी कनवर्टर)

2 पीसी 4-पिन हेडर

1 पीसी 6-पिन हैडर

1 पीसी रोकनेवाला 100R

2 पीसी रोकनेवाला 10K

2 पीसी रोकनेवाला 330R

1 पीसी संधारित्र 470 एनएफ

2 पीसी इलेक्ट्रोलाइटिक कैपेसिटर 4.7 यूएफ

1 पीसी स्विच (वैकल्पिक)

पीसीबी असेंबली

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

फर्मवेयर

MPLAB X IDE और XC8 कंपाइलर के उपयोग से लिखे गए PIC का सोर्स कोड नीचे डाउनलोड के लिए उपलब्ध है।

स्रोत कोड नोट

उन लोगों के लिए जो यह जानना चाहते हैं कि कार्यक्रम वास्तव में क्या कर रहा है, निम्नलिखित पंक्तियाँ हैं।

सभी सेटिंग्स हो जाने के बाद लाल एलईडी चालू है और एमसीयू 0x55AA डेटा की प्रतीक्षा कर रहा है। उसके बाद एलईडी हरी हो जाती है और एमसीयू इंटरप्ट के उपयोग से आईआर रिसीवर से सिग्नल का पता लगाना शुरू कर देता है। यह समय अंतराल को मापता है और रिकॉर्ड करता है कि सिग्नल उच्च और निम्न स्तरों में है। इन समयों को फिर 32-बिट संख्या में बदल दिया जाता है जो पीसी को भेजी जाती है।

समय और अंतिम संख्या के बीच संबंध एनईसी प्रोटोकॉल द्वारा दिया गया है।

चरण 4: डिवाइस का उपयोग कैसे करें

डिवाइस का उपयोग कैसे करें
डिवाइस का उपयोग कैसे करें
डिवाइस का उपयोग कैसे करें
डिवाइस का उपयोग कैसे करें
डिवाइस का उपयोग कैसे करें
डिवाइस का उपयोग कैसे करें

फर्मवेयर

फर्मवेयर को PIC पर अपलोड करें। मैं पिकिट 3 प्रोग्रामर का उपयोग करता हूं।

हार्डवेयर

आईआर रिसीवर मॉड्यूल स्थापित करें जैसा कि चित्रों में देखा गया है:

  1. यूएसबी हेडर को या तो उपयुक्त 4-वायर केबल के साथ पीसी केस के अंदर मदरबोर्ड पर आंतरिक यूएसबी स्लॉट से या बाहरी रूप से मानक यूएसबी केबल के साथ यूएसबी स्लॉट से कनेक्ट करें। दूसरे मामले में आपको किसी तरह से अपनी मदद करनी होगी, उदा। जैसा कि तीसरी तस्वीर में एक प्रेरणा के लिए देखा गया है।
  2. 5 वी पावर केबल को पीसी केस के अंदर पावर स्रोत को 4-पिन हेडर से अटैच करें। या बाहरी उपयोग के मामले में मॉड्यूल को दूसरे तरीके से पावर दें।

मदरबोर्ड के यूएसबी सॉकेट पिन विवरण देखें। मुझे यकीन नहीं है कि वायरिंग किसी प्रकार के मानक का पालन करती है या नहीं, इसलिए यह सुनिश्चित करना बेहतर है। मेरे मामले में ऊपरी पंक्ति में 5 पिन और निचले एक में 4 पिन वाली दो पिन पंक्तियाँ हैं। बाएँ से दाएँ पिन +5 V, D-, D+, Gnd हैं। पहली पंक्ति में 5 वां पिन जुड़ा नहीं है। मैंने केबल को संलग्न किया जैसा कि दूसरी तस्वीर में देखा गया है।

सॉफ्टवेयर

टर्मिनल में प्रोग्राम चलाएँ। यदि सब कुछ सही रहा तो कार्यक्रम का अंतिम संदेश "डेटा की प्रतीक्षा कर रहा है…" है। अब जब आप रिमोट कंट्रोल पर बटन दबाते हैं तो टर्मिनल में प्राप्त कोड दिखाई देगा। इस तरह आपको पता चल जाएगा कि कौन सा बटन किस कोड का उत्सर्जन करता है।

अब कुछ प्रोग्रामिंग सामग्री आपका इंतजार कर रही है लेकिन चिंता न करें। प्रोग्राम के सोर्स कोड में बस कुछ चीजों को बदलना होगा ताकि प्रोग्राम आपके रिमोट कंट्रोल पर प्रतिक्रिया दे सके। यदि आप चाहें तो टेक्स्ट एडिटर में या किसी आईडीई में रिमोटपीसी.सी फ़ाइल खोलें और मेरे कोड को अपने कोड से बदलें। बस उन बटनों को दबाएं जिन्हें आप प्रत्येक क्रिया के लिए एक-एक करके उपयोग करना चाहते हैं। बस टर्मिनल में दिखाई देने वाले कोड को कॉपी करें और उन्हें संबंधित क्रिया के साथ स्रोत कोड पर पेस्ट करें।

जब आप समाप्त कर लें तो प्रोग्राम को समाप्त कर दें और कोड को कमांड gcc -o RemotePC RemotePC.c के साथ पुन: संकलित करें। प्रोग्राम को फिर से चलाएँ और यह अब से आपके रिमोट कंट्रोल पर प्रतिक्रिया देगा।

मैं प्रोग्राम में हार्डकोडेड क्रियाओं के साथ इस तरह का उपयोग करता हूं क्योंकि मुझे राज्य में परियोजना के आगे विकास के साथ अपना समय बर्बाद करना व्यर्थ लगता है जब उदाहरण के लिए उपयोगकर्ता के अनुकूल ग्राफिक्स वातावरण में कोड/क्रियाओं को जोड़ना/बदलना संभव है। लेकिन अगर आप ऐसा करना चाहते हैं या इससे भी ज्यादा आप कर सकते हैं।

सिफारिश की: