विषयसूची:
- चरण 1: सामग्री
- चरण 2: योजना
- चरण 3: 3डी प्रिंट
- चरण 4: असेंबली - एल ई डी हटा दें
- चरण 5: असेंबली - होल हेडर के माध्यम से जोड़ें
- चरण 6: असेंबली - एलईडी संलग्न करें
- चरण 7: असेंबली - फिजेटआईआर संलग्न करें
- चरण 8: असेंबली - बटन जोड़ना
- चरण 9: विधानसभा - सब कुछ एक साथ रखना
- चरण 10: सॉफ्टवेयर - कोड
- चरण 11: सॉफ्टवेयर - सीआईआर कमांड
- चरण 12: कार्यक्रम चलाना
- चरण 13: परिणाम
वीडियो: आपके दादाजी के लिए प्रौद्योगिकी: 13 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
आप कितनी बार अपने दादा-दादी के घर "तकनीकी समस्या" में मदद करने गए हैं, जो एक अनप्लग्ड पावर केबल, एक मृत रिमोट बैटरी या उनके टीवी पर स्रोत को स्विच करने में सक्षम नहीं होने के कारण समाप्त हो गया? मुझे पता है कि मेरे लिए ऐसा अक्सर होता है। जबकि उनकी अधिकांश समस्याओं को केवल कुछ नए एए के लिए स्टोर पर जाकर हल किया जा सकता है, कभी-कभी वे अधिक अनुकूलित समाधान से लाभान्वित हो सकते हैं।
उदाहरण के लिए, मेरी प्रेमिका के दादाजी को एक नया टेलीविजन मिला और हमने उन्हें यह सिखाने की कोशिश की कि स्रोत को कैसे बदला जाए ताकि वह डीवीडी और टीवी के बीच स्विच कर सकें - लेकिन वह इसका पता नहीं लगा सके। वह असफल दृष्टि से भी निपट रहा है और जटिल प्रक्रियाओं को याद करने की कोशिश करने में बहुत दिलचस्पी नहीं रखता है, वह बस अपने शो देखना चाहता है जब वह चाहता है। बिना किसी सफलता के हमारी पिछली यात्रा के चरणों को शांति से समझाने की कोशिश करने के बाद, मैंने फैसला किया कि मैं उसे अपना साधारण दो-बटन रिमोट कंट्रोल बना दूंगा। यह उन्हें अपने टेलीविजन पर इनपुट स्रोत को दर्द रहित रूप से बदलने की अनुमति देगा, अपने प्रिय मैटलॉक डीवीडी और प्राइस इज राइट के बीच आसानी से स्विच कर सकता है।
चरण 1: सामग्री
- फिजेटआईआर
- PhidgetSBC4 (या रास्पबेरी पाई जैसा कोई एकल बोर्ड कंप्यूटर)
- सोल्डरिंग आयरन
- साइड कटर
- वायर स्ट्रिपर्स
- जम्पर तार
- यूएसबी केबल
- फिजेट केबल
- दीवार
- थ्रू-होल हेडर
- तापरोधी पाइप
चरण 2: योजना
रिमोट बनाने के लिए, मुझे टेलीविजन पर कंज्यूमर इंफ्रारेड (CIR) कमांड भेजने की क्षमता की जरूरत थी। मैंने इस कार्य के लिए फिगेटिर का उपयोग करने का निर्णय लिया। PhidgetIR एक USB नियंत्रित डिवाइस है जिसमें CIR कमांड भेजने और प्राप्त करने दोनों की क्षमता है। मैंने इसे कुछ कारणों से चुना:
- मैं इस परियोजना को जल्द से जल्द पूरा करना चाहता था और इसे उपयोग में लाना चाहता था, इसलिए मेरे आस्टसीलस्कप और ब्रेडबोर्ड को तोड़ने का विचार आकर्षक नहीं था। इसके अलावा, इस बात की कितनी संभावना है कि मेरे हैंड-सोल्डर सर्किट अभी भी एक या दो साल में काम कर रहे होंगे?
- फिजेटआईआर में सीआईआर कमांड को "सीखने" की क्षमता है जिससे विकास बेहद सरल हो जाता है।
- आप PhidgetIR के साथ लगभग किसी भी मुख्यधारा की प्रोग्रामिंग भाषा का उपयोग कर सकते हैं। इसका मतलब था कि मैं जावा का उपयोग कर सकता था और चीजों को जल्दी से पूरा कर सकता था।
- अंत में, मैं फ़िदगेट्स के लिए काम करता हूं, इसलिए मैं एपीआई के साथ सहज हूं, और हमेशा अतिरिक्त उपकरण मौजूद रहते हैं।
क्योंकि मैंने फ़िदगेटआईआर का उपयोग करना चुना, मुझे इसे चलाने के लिए एक कंप्यूटर की आवश्यकता थी। मैं चाहता था कि यह प्रोजेक्ट एक सामान्य रिमोट की तरह एक स्टैंड-अलोन एप्लिकेशन हो, इसलिए एक डेस्कटॉप या लैपटॉप बाहर था। मैंने फ़िडगेटएसबीसी4 (डेबियन लिनक्स चलाने वाला एक सिंगल-बोर्ड कंप्यूटर) का उपयोग करना चुना, क्योंकि इसने मुझे बिना किसी अतिरिक्त हार्डवेयर के दोनों पुश बटन के साथ इंटरफेस करने की अनुमति दी। उन्हें सीधे बिल्ट-इन VINT हब से वायर किया जा सकता है। नोट: आप इस प्रोजेक्ट के लिए रास्पबेरी पाई का भी उपयोग कर सकते हैं। अंत में, कार्यात्मक रूप से ध्वनि होने के अलावा, मैं चाहता था कि यह परियोजना बहुत अच्छी लगे, इसलिए मैंने फैसला किया कि एक 3 डी प्रिंटेड संलग्नक आवश्यक होगा।
चरण 3: 3डी प्रिंट
इस परियोजना के लिए, जियोमैजिक का उपयोग बाड़े को मॉडल करने के लिए किया गया था। PhidgetIR और PhidgetSBC4 दोनों के लिए 3D स्टेप फाइलें उपलब्ध हैं जिन्होंने प्रक्रिया को सरल बनाया है। इस चरण के दौरान बाड़े के आकार और कार्यक्षमता के संबंध में कुछ निर्णय लिए गए:
- PhidgetIR में दो IR LED हैं जिन्हें कमांड भेजने के लिए टीवी की ओर इशारा करना पड़ता है। PhidgetIR बोर्ड के चारों ओर के बाड़े को डिजाइन करने के बजाय, IR LED को डीसोल्डर किया जा सकता है और बाड़े के किनारे के छेदों में चिपकाया जा सकता है। फिर खाली जगह का उपयोग करते हुए, फ़िडगेटआईआर बोर्ड को एल ई डी से दूर रखा जा सकता है।
- PhidgetSBC4 पर VINT हब कनेक्टर्स को ऊपर की ओर झुकाया जा सकता है, जो अभी भी पुशबटन कनेक्शन के लिए एक्सेस की अनुमति देगा, और एक बड़ा एनक्लोजर बनाने से भी रोकेगा।
मैंने बटनों के लिए एक लेबल जोड़ने का भी फैसला किया और एक लेबल जो उस दिशा को इंगित करता है जिसका सामना करना चाहिए ताकि आईआर एल ई डी सही दिशा में इंगित हो। मैंने काले एबीएस प्लास्टिक से स्थानीय रूप से संलग्नक मुद्रित किया।
चरण 4: असेंबली - एल ई डी हटा दें
IR LED को अंततः बाड़े के किनारे के छेदों में चिपका दिया जाएगा। इसका मतलब है कि उन्हें पहले डिसाइड करने की जरूरत है।
चरण 5: असेंबली - होल हेडर के माध्यम से जोड़ें
इसके बाद, थ्रू-होल हेडर जोड़े गए जहां एल ई डी हुआ करते थे, जिससे उन्हें 4-पिन जम्पर तार का उपयोग करके कनेक्ट करना आसान हो गया। आकस्मिक संपर्क को रोकने के लिए हीट-सिकुड़न ट्यूबिंग का उपयोग करें।
चरण 6: असेंबली - एलईडी संलग्न करें
बाड़े के किनारे में एलईडी को गोंद करें।
चरण 7: असेंबली - फिजेटआईआर संलग्न करें
फिजेटआईआर को बाड़े में संलग्न करें, और एल ई डी कनेक्ट करें।
चरण 8: असेंबली - बटन जोड़ना
पुश बटन को फ़िडगेटएसबीसी पर बिल्ट-इन VINT हब से कनेक्ट करने की आवश्यकता होती है, इसलिए मैंने एक फ़िडगेट केबल को आधे में काट दिया और सिरों को बटनों में मिला दिया। ध्यान दें कि केवल सफेद तार (सिग्नल) और काले (जमीन) की आवश्यकता होती है।
चरण 9: विधानसभा - सब कुछ एक साथ रखना
सब कुछ एक साथ लाने के लिए कुछ केबल प्रबंधन की आवश्यकता थी, हालांकि, बाड़े ने अच्छी तरह से काम किया।
चरण 10: सॉफ्टवेयर - कोड
इस परियोजना के लिए केवल एक जावा फ़ाइल की आवश्यकता है जिसे आप यहां पा सकते हैं। कार्यक्रम एक फिजेटआईआर ऑब्जेक्ट और दो डिजिटल इनपुट ऑब्जेक्ट का उपयोग करता है। आप इन वस्तुओं को इस तरह बना सकते हैं:
फ़िदगेटिर आईआर = नया फ़िदगेटआईआर ();
डिजिटल इनपुट टीवीबटन = नया डिजिटल इनपुट (); डिजिटल इनपुट अन्य बटन = नया डिजिटल इनपुट ();
डिजिटल इनपुट ऑब्जेक्ट को VINT हब पर भौतिक पुशबटन में मैप किया जाता है। अटैच, डिटैच, एरर और स्टेट चेंज इवेंट्स को भी सब्सक्राइब किया गया है:
tv.setIsHubPortDevice (सच);
टीवीबटन.सेटहबपोर्ट(4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener(onStateChangeListener); टीवीबटन.ओपन (); OtherButton.setIsHubPortDevice (सच); अन्यबटन.सेटहबपोर्ट(५); OtherButton.addAttachListener (onAttachListener); OtherButton.addDetachListener (onDetachListener); OtherButton.addErrorListener (onErrorListener); OtherButton.addStateChangeListener(onStateChangeListener); अन्यबटन.ओपन ();
ऊपर उल्लिखित राज्य परिवर्तन श्रोता इस तरह दिखता है:
Privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener(){@OverridepublicvoidonStateChange(DigitalInputStateChangeEvent disce){
DigitalInput ch =(DigitalInput) disce.getSource (); प्रयास करें {if(ch.getHubPort()==4&& disce.getState()==true){ tvButtonActivated =true;}if(ch.getHubPort()==5&& disce.getState()==true){ otherButtonActivated =true;}}catch(PhidgetException ex){ System.out.println("Error:"+ ex.getDescription());}}};
जब एक बटन सक्रिय होता है, तो ईवेंट कोड निष्पादित होगा और एक ध्वज सेट करेगा। इन झंडों को संदर्भित किया जाएगा और मुख्य लूप में रीसेट किया जाएगा। मुख्य लूप बस बटन स्थिति में बदलाव की प्रतीक्षा करता है, और फिर आईआर कमांड भेजता है जो ट्रांसमिट फ़ंक्शन का उपयोग करता है जो कि फिजेटआईआर एपीआई से उपलब्ध है।
जबकि (सच) {अगर (टीवीबटन सक्रिय) {
टीवीबटन सक्रिय = झूठा; Log.log (LogLevel. INFO, "चेंजिंग सोर्स - टीवी"); ir.transmit (sourceButtonString, codeInfo); थ्रेड.स्लीप (500); ir.transmit (दाएं बटनस्ट्रिंग, कोडइन्फो); थ्रेड.स्लीप (500); ir.transmit(enterButtonString, codeInfo);}if(otherButtonActivated){ OtherButtonActivated=false; Log.log(LogLevel. INFO, "चेंजिंग सोर्स - डीवीडी"); ir.transmit (sourceButtonString, codeInfo); थ्रेड.स्लीप (500); ir.transmit (बाएं बटनस्ट्रिंग, कोडइन्फो); थ्रेड.स्लीप (500); ir.transmit(enterButtonString, codeInfo);} Thread.sleep(250);}
चरण 11: सॉफ्टवेयर - सीआईआर कमांड
यहां एक उदाहरण दिया गया है कि कमांड कैसे बनाया जाए (इस मामले में वॉल्यूम अप कमांड):
// आईआर कोड
IRCodeInfo स्रोतबटनसीआई =नया IRCodeInfo (); स्ट्रिंग वॉल्यूमअप = "77e1d0f0";//स्रोत बटन सेट करें sourceButtonCI.bitCount=32; SourceButtonCI.encoding = IRCodeEncoding. SPACE; स्रोतबटनसीआई.गैप=108921; स्रोतबटनसीआई.ट्रेल=५४९; sourceButtonCI.zero=newint[2]; स्रोतबटनसीआई.शून्य[0]=549; स्रोतबटनसीआई.शून्य[1]=627; sourceButtonCI.one=newint[2]; स्रोतबटनसीआई.एक[0]=549; sourceButtonCI.one[1]=1755; sourceButtonCI.header=newint[2]; स्रोतबटनसीआई.हेडर[0]=9084; स्रोतबटनसीआई.हेडर[1]=४६००; sourceButtonCI.repeat=newint[3]; स्रोतबटनसीआई.रिपीट[0]=9084; sourceButtonCI.repeat[1]=2308; sourceButtonCI.repeat[2]=549; sourceButtonCI.length= IRCodeLength. CONSTANT;
इस आदेश के लिए जानकारी प्राप्त करने के लिए, मैंने केवल फ़िडगेट लाइब्रेरी के साथ आने वाले फ़िडगेटर उदाहरण का उपयोग किया। रिमोट को फिजेटआईआर की ओर इंगित करने और वॉल्यूम अप बटन दबाए रखने के बाद, आईआर कोड को "सीखता है", और उदाहरण को पॉप्युलेट करता है। इस जानकारी को बस कोड में कॉपी किया जा सकता है।
चरण 12: कार्यक्रम चलाना
जावा फ़ाइल को बाहरी कंप्यूटर पर लिखा और संकलित किया जा सकता है। PhidgetRemote.java और phidget22.jar को एक ही फोल्डर में रखें और निम्न कमांड चलाएँ:
Windowsjavac -classpath.;phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.:phidget22.jar PhidgetRemote.java
संकलन के बाद, उत्पन्न वर्ग फ़ाइलों को PhidgetSBC4 में कॉपी करें, और इसे बूट पर चलाने के लिए कॉन्फ़िगर करें।
चरण 13: परिणाम
जब मैंने अपनी प्रेमिका के दादाजी को रिमोट दिया और उसे दिखाया कि इसका उपयोग कैसे किया जाता है, तो वह चकित रह गया कि यह कितना सरल है। इसे कार्रवाई में देखने के लिए वीडियो देखें!
रिमोट कंट्रोल प्रतियोगिता 2017 में तीसरा पुरस्कार
सिफारिश की:
जीवित पिक्सेल - कल्पना कीजिए कि प्रौद्योगिकी में जीवन है: 4 कदम (चित्रों के साथ)
लिविंग पिक्सल - इमेजिन टेक्नोलॉजी में लाइफ है: स्मार्ट होम उत्पादों को हमारे जीवन में अधिक आम होते देख, मैंने लोगों और इन उत्पादों के बीच संबंधों के बारे में सोचना शुरू कर दिया है। अगर एक दिन, स्मार्ट होम उत्पाद हर किसी के जीवन का एक अनिवार्य हिस्सा बन जाते हैं, तो हमें क्या रवैया अपनाना चाहिए
फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन: 6 कदम (चित्रों के साथ)
फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन: वर्तमान मौसम का पता लगाने के अनगिनत तरीके हैं, लेकिन तब आप केवल बाहर के मौसम को जानते हैं। क्या होगा यदि आप अपने घर के अंदर, एक विशिष्ट कमरे के अंदर मौसम जानना चाहते हैं? यही मैं इस परियोजना के साथ हल करने का प्रयास करता हूं। फैनएयर मूल का उपयोग करता है
लूसिफ़ेरिन, आपके पीसी के लिए वायरलेस बायस लाइटिंग: 6 कदम (चित्रों के साथ)
ल्यूसिफरिन, आपके पीसी के लिए वायरलेस बायस लाइटिंग: ल्यूसिफरिन जीवों में पाए जाने वाले प्रकाश उत्सर्जक यौगिक के लिए एक सामान्य शब्द है जो फायरफ्लाइज और ग्लो वर्म्स जैसे बायोलुमिनसेंस उत्पन्न करते हैं। जुगनू लूसिफ़ेरिन एक जावा फास्ट स्क्रीन कैप्चर पीसी सॉफ़्टवेयर है जिसे ग्लो वर्म लूसिफ़ेरिन फ़र्मवेयर के लिए डिज़ाइन किया गया है, जो
आपके लिए DIY GPS डेटा लॉगर नेक्स्ट ड्राइव/हाइकिंग ट्रेल: 11 कदम (चित्रों के साथ)
अगली ड्राइव/हाइकिंग ट्रेल के लिए DIY GPS डेटा लकड़हारा: यह एक GPS डेटा लकड़हारा है जिसका उपयोग आप कई उद्देश्यों के लिए कर सकते हैं, मान लीजिए कि यदि आप अपनी लंबी ड्राइव को लॉग करना चाहते हैं तो आपने गिरते रंगों की जांच के लिए सप्ताहांत में लिया। या आपका कोई पसंदीदा रास्ता है जहां आप हर साल पतझड़ के दौरान जाते हैं और आप
पहनने योग्य कस्टम लाइट पैनल (प्रौद्योगिकी अन्वेषण पाठ्यक्रम - TfCD - Tu Delft): 12 कदम (चित्रों के साथ)
पहनने योग्य कस्टम लाइट पैनल (प्रौद्योगिकी अन्वेषण पाठ्यक्रम - TfCD - Tu Delft): इस निर्देश में आप सीखेंगे कि आप अपनी खुद की रोशन छवि कैसे बना सकते हैं जिसे आप पहन सकते हैं! यह विनाइल डिकल से ढकी ईएल तकनीक का उपयोग करके और इसमें बैंड लगाकर किया जाता है ताकि आप इसे अपनी बांह के चारों ओर पहन सकें। आप इस p के कुछ हिस्सों को भी बदल सकते हैं