विषयसूची:
- चरण 1: पूर्वापेक्षाएँ
- चरण 2: बोर्ड का निर्माण
- चरण 3: योजनाबद्ध
- चरण 4: Arduino सॉफ़्टवेयर में इरिमोट लाइब्रेरी जोड़ें
- चरण 5: अपने रिमोट कंट्रोल से कोड रिकॉर्ड करें
- चरण 6: अपने रिमोट कंट्रोल के लिए वेब पेज बनाएं
- चरण 7: रिमोट कंट्रोल कोड को अपने Arduino पर अपलोड करें
- चरण 8: अपने कंप्यूटर से वेब सर्वर से कनेक्ट करें
- चरण 9: वैकल्पिक चरण: उपयोग में आसान बनाने के लिए अपनी होस्ट फ़ाइल को संपादित करें
वीडियो: Arduino ब्राउज़र आधारित रिमोट कंट्रोल (लिनक्स): 9 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:18
हमारे बच्चे हैं। मैं उनसे बहुत प्यार करता हूं लेकिन जब वे बच्चों के चैनल चालू करते हैं तो वे सैटेलाइट और टीवी के रिमोट कंट्रोल को छिपाते रहते हैं। कई वर्षों तक दैनिक आधार पर ऐसा होने के बाद, और मेरी प्यारी पत्नी ने मुझे क्रिसमस के लिए एक Arduino रखने की इजाजत दी, मैंने फैसला किया कि यह Arduino के साथ कुछ उपयोगी (उसकी आंखों में!) बनाने का समय था। तो यहाँ हमारे पास इसकी परिणति है: Arduino के लिए एक वेब-आधारित इंटरफ़ेस जो मेरे रिमोट को बदल देता है और मेरे आंतरिक नेटवर्क से सुलभ है। जब मुझे पता चलता है कि मेरा ईथरनेट शील्ड मेरे आर्डिनो को एक स्केच रखने की अनुमति क्यों नहीं देगा, तो मैं एक नया स्केच लिखूंगा जो वेब सर्वर के रूप में ईथरनेट शील्ड का उपयोग करता है, जिसका अर्थ है कि मुझे अपने कंप्यूटर पर अपाचे स्थापित करने की आवश्यकता नहीं है। देखते रहो, मैं वहाँ पहुँच जाऊँगा!
चरण 1: पूर्वापेक्षाएँ
हार्डवेयर: Arduino पक्ष: Arduino - मैं एक Arduino Uno R2 ब्रेडबोर्ड का उपयोग कर रहा हूं - आपकी स्थानीय इलेक्ट्रॉनिक्स की दुकान, या रसोई यदि आप एक प्रामाणिक ब्रेडबोर्ड माउंटिंग बाड़े चाहते हैं - मैंने एक पारदर्शी ढक्कन के साथ एक पुराने प्लास्टिक के मामले का उपयोग किया है। एक टूटे हुए रिमोट कंट्रोल से (धन्यवाद किड्स!) इन्फ्रारेड रिसीवर - मुझे एक मैजिक आई रिमोट एक्सटेंडर से मेरा मिला ट्रांजिस्टर - मैंने एक BC547 रेसिस्टर का उपयोग किया - मैंने 1k ओम ब्रेडबोर्ड जम्पर तारों पर सेट 1.5k ओम वैरिएबल रेसिस्टर का उपयोग किया - मुझे मेरा मिल गया एक सॉलिड कोर RJ45 केबल रील से कंप्यूटर साइड: सर्वर USB लीड के रूप में उपयोग करने के लिए कंप्यूटर Arduino सॉफ़्टवेयर: Arduino सॉफ़्टवेयर - arduino.cc इरमोट लाइब्रेरी से - https://www.arcfn.com/2009/08/multi-protocol- से- इंफ्रारेड-रिमोट-लाइब्रेरी.एचटीएमएल (धन्यवाद केन, बढ़िया काम!) अपाचे वेब सर्वर जिसमें PHP स्थापित है - apache.org आंतरिक आईपी पता - मेरा है 192.168.0.9 आपके रिमोट कंट्रोल की तस्वीर - गूगल या आपके कैमरे पर ली गई तस्वीर। मैंने अपना 200x600 रिज़ॉल्यूशन पर सहेजा है
चरण 2: बोर्ड का निर्माण
एक आर्डिनो के लिए ब्रेडबोर्ड का उपयोग करने की अत्यधिक अनुशंसा की जाती है। मैंने अपने Arduino और एक ब्रेडबोर्ड को एक ही बाड़े में लगाया और उन सभी पिनों को तार दिया जिनका मैं नियमित रूप से सीधे ब्रेडबोर्ड पर स्थायी रूप से उपयोग करता हूं। इस परियोजना के लिए उपयोग किए गए Arduino पिन: 5v, ग्राउंड डिजिटल पिन 3, 11 (पिन 3 IR LED को नियंत्रित करता है, पिन 11 IR रिसीवर से जुड़ता है)
चरण 3: योजनाबद्ध
यह योजनाबद्ध बहुत सरल है, 4 घटक और 6 तार। आईआर एलईडी कनेक्शन: रोकनेवाला के पैरों में से एक को Arduino डिजिटल पिन से कनेक्ट करें 3 रोकनेवाला के दूसरे पैर को ट्रांजिस्टर के बेस पिन से कनेक्ट करें (मेरे मामले में मध्य पैर) ट्रांजिस्टर के एमिटर को जमीन से कनेक्ट करें कलेक्टर को कनेक्ट करें एलईडी के नकारात्मक पैर के लिए ट्रांजिस्टर का (छोटा पैर, एलईडी का सपाट पक्ष) एलईडी के सकारात्मक पैर (लंबे पैर, घुमावदार पक्ष) को 5v पिन IR रिसीवर कनेक्शन से कनेक्ट करें (आपको इसके लिए पिनआउट खोजने की आवश्यकता होगी आपका विशेष IR रिसीवर): GND पिन टू ग्राउंड VS पिन से 5v VO पिन से Arduino डिजिटल पिन 11
चरण 4: Arduino सॉफ़्टवेयर में इरिमोट लाइब्रेरी जोड़ें
इरमोट केन शिरिफ द्वारा लिखित एक महान पुस्तकालय है और https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html पर उनके ब्लॉग से उपलब्ध है https://arcfn से पुस्तकालय डाउनलोड करें.com/files/IRremote.zip और इसे वैसे ही इंस्टॉल करें जैसे आप arduino के लिए किसी अन्य लाइब्रेरी में करेंगे। उनके ब्लॉग में पुस्तकालय और इसे स्थापित करने के तरीके के बारे में बहुत सारी उपयोगी जानकारी है।
चरण 5: अपने रिमोट कंट्रोल से कोड रिकॉर्ड करें
यहाँ उबाऊ (लेकिन अपरिहार्य) भाग की शुरुआत है: रिमोट कंट्रोल पर हर बटन को दबाकर, आउटपुट स्ट्रिंग को सहेजना और इसे वर्चुअल रिमोट कंट्रोल पर मैप करना। आपको इसे केवल एक बार करने की आवश्यकता है, लगभग 20 मिनट या उससे भी अधिक समय लगने की अपेक्षा करें। अपना आउटपुट सहेजने के लिए टेक्स्ट एडिटर शुरू करें। एक नया दस्तावेज़ बनाएं और अपने रिमोट कंट्रोल पर प्रत्येक बटन टाइप करें, प्रति पंक्ति एक: पावर अप डाउन लेफ्ट राइट.. वगैरह Arduino IDE प्रारंभ करें और "फ़ाइलें-> उदाहरण-> IRremote-> IRrecvDump" पर क्लिक करें और इसे अपलोड करें आपका Arduino। यह उदाहरण रिमोट कोड को सीरियल पोर्ट पर डंप कर देगा। सीरियल पोर्ट मॉनिटर शुरू करें और अपने रिमोट कंट्रोल पर एक कुंजी दबाएं। आपको सीरियल मॉनिटर विंडो में एक स्ट्रिंग दिखाई देगी: "डिकोडेड *: * (* बिट्स)"। इस लाइन को कॉपी करें और इसे अपने दस्तावेज़ में उपयुक्त लाइन पर सेव करें। तब तक दोहराएं जब तक कि आपकी सभी कुंजियाँ टेक्स्ट फ़ाइल में संग्रहीत न हो जाएँ। मुझे पता है कि यह बिट कितना मजेदार है, मैंने इसे अब तक दो बार किया है: पी अब हमें टेक्स्ट फ़ाइल में थोड़ी खोज और प्रतिस्थापन करने की ज़रूरत है: "डिकोडेड" की जगह "" के साथ खोजें ": 0x" के साथ बदलें "," के लिए खोजें (" के साथ बदलें "," बिट्स के लिए खोजें)" के साथ बदलें "" तो एक पंक्ति के लिए जैसे: डीकोडेड एनईसी: 0x000110 (15 बिट) अब हमारे पास एक लाइन होनी चाहिए जो कहती है: एनईसी, 000110, १५
चरण 6: अपने रिमोट कंट्रोल के लिए वेब पेज बनाएं
अब हमें आपके रिमोट कंट्रोल की आपकी छवि के बटनों को मैप करने की आवश्यकता है।
मैंने बटनों को मैप करने के लिए https://www.maschek.hu/imagemap/imgmap का उपयोग किया और उस कोड को संशोधित किया जो वेबसाइट आपको इसे काम करने के लिए देती है।
"अपने कंप्यूटर पर एक छवि का उपयोग करें: [फ़ाइल चुनें]" पर क्लिक करें, अपनी छवि का चयन करें, [अपलोड] पर क्लिक करें, प्रत्येक बटन पर आयतों, मंडलियों आदि को छोड़ें [स्वीकार करें] पर क्लिक करें। एचआरईएफ के लिए /remote.php?command= और टेक्स्ट दस्तावेज़ से उस बटन के लिए लाइन उदाहरण के लिए /remote.php?command=NEC, 000110, 15 यदि आप भी भरते हैं तो यह बुद्धिमान होगा (और डिबगिंग में अत्यधिक सहायता) Alt: बटन के नाम के साथ लेकिन यह आप पर निर्भर है।
प्रत्येक बटन के लिए दोहराएं।
सब कुछ कर दिया? फिर हम जारी रखेंगे। उस पेज के नीचे "कोड" है, उस पर क्लिक करें और इमेजमैप के लिए कोड दिखाने वाला एक बॉक्स खुलेगा। उसे कॉपी करें और एक नए टेक्स्ट डॉक्यूमेंट में पेस्ट करें। यह हमारे वेब पेज का मुख्य भाग है।
यहाँ मेरा पूरा वेब पेज है, बस इसे बदलें…
ऊपर अपने स्वयं के कोड के साथ और अपनी रिमोट कंट्रोल छवियों के साथ इसे अपनी वेब निर्देशिका (/var/www on linux) में Remote.php के रूप में सहेजें। अपनी खुद की छवियों के लिए लाइनें बदलें:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino एलईडी नियंत्रण
चरण 7: रिमोट कंट्रोल कोड को अपने Arduino पर अपलोड करें
एक नया स्केच बनाएं और उसमें निम्नलिखित कोड पेस्ट करें: /* * WebRemote * एक IR LED को Arduino PWM पिन 3 से जोड़ा जाना चाहिए। * संस्करण 0.1 जुलाई, 2009 * यह कोड कॉपीराइट ग्रेगरी फेंटन, https://labby.co। uk/2012/02/irremote-arduino-experimentation/ * IRremote लाइब्रेरी कॉपीराइट 2009 केन शिरिफ, https://arcfn.com */ #include टेम्प्लेट इनलाइन प्रिंट और ऑपरेटर <<(प्रिंट और obj, T arg) { obj.print(arg)); वापसी ओबीजे; } बूलियन समाप्त = झूठा; डेटा में चार [६४]; // उपयुक्त बाइट इंडेक्स के रूप में आकार = 0; #define EOP "\n" आईरसेंड भेजें; शून्य सेटअप () {Serial.begin (९६००); सीरियल << "सीरियल पोर्ट इनिशियलाइज़्ड" << EOP; } शून्य लूप () {स्ट्रिंग pch, sType, sTemp; चार इनचर, एसटेस्ट, के; इंट एसबिट्स; लंबा हेक्स; इंट आई, जे; जबकि (1) { जबकि (सीरियल उपलब्ध ()> 0) {इनचार = सीरियल.रीड (); अगर (सूचकांक == 0) {पीसीएच = ""; } if(inChar == '\r' || inChar == '\n' || inChar == '/') // EOP {समाप्त = सच; सूचकांक = 0; टूटना; } और { अगर (सूचकांक <64) // सरणी आकार {pch + = inChar; सूचकांक++; } } } अगर (समाप्त) {// यहां डेटा में डेटा पार्स करें … pch.toUpperCase (); मैं = pch.indexOf('') != -1 ? pch.indexOf (''): pch.indexOf (','); sType = pch.substring(0, i); मैं++; // स्किप ओवर ',' या '' pch.lastIndexOf(''): pch.lastIndexOf(', '); // j अब हेक्स sHex = 0 के बाद ',' या '' की ओर इशारा करता है; sTemp = pch.substring(i, j); if(sTemp.substring(0, 2) == String("0X")) sTemp = sTemp.substring(2); for(i = 0; i <sTemp.length(); i++) { k = sTemp; if(!((k >= '0' && k = 'A' && k <= 'F')) ब्रेक; हेक्स *= 16; if(k >= '0' && k <= '9') sHex += (k - '0'); और अगर (के >= 'ए' && के <= 'एफ') एसएचएक्स += ((के - 'ए') + 10); if(!((k >= '0' && k = 'A' && k <= 'F')) ब्रेक; } sTemp = pch.substring(j+1); एसबिट्स = 0; for(i = 0; i <sTemp.length(); i++) { k = sTemp; एसबिट्स *= 10; if(k >= '0' && k <= '9') sBits += (k - '0'); } if(sType.length()>0) { सीरियल << pch << EOP << "कोड टाइप:"<< sType << "Hex:"; सीरियल.प्रिंट (sHex, HEX); सीरियल << "बिट्स:" << एसबिट्स; } SendIt (sType, sHex, sBits); पीएचसी = ""; समाप्त = 0; } } } शून्य सेंड इट (स्ट्रिंग एस टाइप, लॉन्ग एसएचएक्स, इंट एसबिट्स) { के लिए (इंट आई = 0; आई < 2; आई ++) { अगर (एस टाइप। बराबर (स्ट्रिंग ("आरसी 6"))) { irsend.sendRC6 (sHex, एसबिट्स); } और अगर (sType.equals(String("RC5"))) {irsend.sendRC5(sHex, sBits); } और अगर (sType.equals(String("SONY"))) {irsend.sendSony(sHex, sBits); } और अगर (sType.equals(String("NEC"))) {if (!i) irsend.sendNEC(sHex, sBits); } और अगर (sType.equals(String(""))) {Serial << "Delaying" << EOP; देरी (450); } देरी (30); } }
चरण 8: अपने कंप्यूटर से वेब सर्वर से कनेक्ट करें
.. या फोन या एंड्रॉइड या आईपैड या जो कुछ भी: अपने ब्राउज़र में https://webserver आईपी पते/remote.php पर जाएं मेरे लिए पता https://192.168.0.9/remote.php है लेकिन आपका निस्संदेह अलग होगा। यदि सब कुछ काम कर रहा है तो आपको अपने रिमोट कंट्रोल की एक तस्वीर देखनी चाहिए जिसमें बटन हैं जिन पर आप क्लिक कर सकते हैं।
चरण 9: वैकल्पिक चरण: उपयोग में आसान बनाने के लिए अपनी होस्ट फ़ाइल को संपादित करें
एक कदम जो मैंने किया वह था मेरी होस्ट फ़ाइल (/etc/linux पर होस्ट, C:\Windows\System32\Drivers\etc\hosts विंडोज़ पर) को संपादित करना। ध्यान दें कि इस फ़ाइल को केवल एक प्रशासनिक कमांड प्रॉम्प्ट (विंडोज़) में संपादित किया जा सकता है या su (linux) द्वारा लाइन जोड़ें ip.add.re.ss रिमोट सर्वर आईपी पते के साथ ip.add.re.ss को बदलें और फ़ाइल को सहेजें. आपको हर उस डिवाइस पर ऐसा करने की आवश्यकता होगी जिसे आप संक्षिप्त नाम के साथ वेब पेज तक पहुंचना चाहते हैं। अब आप रिमोट को https://remote/remote.php के साथ एक्सेस कर सकते हैं यह मेरा पहला उचित निर्देश है, सौम्य रहें और अगर कोई समस्या है तो मुझे बताएं ताकि मैं उन्हें ठीक कर सकूं।
सिफारिश की:
Arduino आधारित GSM/SMS रिमोट कंट्रोल यूनिट: 16 कदम (चित्रों के साथ)
Arduino आधारित GSM/SMS रिमोट कंट्रोल यूनिट: ! ! ! सूचना ! ! !मेरे क्षेत्र में स्थानीय सेलफोन टावर के उन्नयन के कारण, मैं अब इस जीएसएम मॉड्यूल का उपयोग करने में सक्षम नहीं हूं। नया टावर अब 2जी डिवाइस को सपोर्ट नहीं करता है। इसलिए, मैं अब इस परियोजना के लिए कोई समर्थन नहीं दे सकता। ऐसे वाई-फाई के साथ
साधारण रिमोट कंट्रोल किट चार-चैनल आरसी टॉय रिमोट कंट्रोल में तब्दील: 4 कदम
साधारण रिमोट कंट्रोल किट चार-चैनल आरसी खिलौना रिमोट कंट्रोल में परिवर्तित: 如何将通用遥控器套件转换为玩具模型中使用的四通道遥控器。遥控器套件非常便宜。它采用2262和2272芯片和433个模块构建。 मैं
HyperDuino के लिए MBlock ब्राउज़र आधारित कोडिंग के साथ शुरुआत करना: ३ चरण
HyperDuino के लिए MBlock ब्राउज़र आधारित कोडिंग के साथ शुरुआत करना: HyperDuino के साथ mBlock वेब आधारित ट्यूटोरियल में आपका स्वागत है। यह आपको दिखाएगा कि कैसे mBlock सेट करें और अपना कोड अपने HyperDuino पर अपलोड करें। यह आपको यह भी दिखाएगा कि स्मार्ट कार के लिए भी एक बेसिक कोड कैसे बनाया जाता है। शुरू करने के लिए सही में कूदें
Eskate या Hydrofoil के लिए Arduino आधारित रिमोट कंट्रोल: 5 कदम (चित्रों के साथ)
एस्केट या हाइड्रोफॉइल के लिए Arduino आधारित रिमोट कंट्रोल: यह निर्देश आपको दिखाएगा कि एक एस्केट या इलेक्ट्रिक हाइड्रोफॉइल के साथ उपयोग करने के लिए एक भौतिक रिमोट कैसे बनाया जाए जिसमें आपको आवश्यक सभी कोड और हार्डवेयर शामिल हों। इसमें बहुत सारी सोल्डरिंग शामिल है, लेकिन इसे बनाना भी मजेदार है। रिमोट क्या कर सकता है? सह
रिमोट रिमोट कंट्रोल: 11 कदम (चित्रों के साथ)
रिमोट रिमोट कंट्रोल: मेरा एक नवजात बच्चा है और वह नहीं सोचता कि उसे मेरी पत्नी के रूप में काफी देर तक सोना चाहिए और मैं भी उसे चाह सकता हूं। एक चीज जो उसे अपने पालने में खुश रखती है वह है मोबाइल जो उसके ऊपर लटकता है। तो जब वह जागता है अगर हमें एक और 25 मिनट या उससे अधिक की आवश्यकता होती है