विषयसूची:

घूर्णन फोन माउंट: 7 कदम
घूर्णन फोन माउंट: 7 कदम

वीडियो: घूर्णन फोन माउंट: 7 कदम

वीडियो: घूर्णन फोन माउंट: 7 कदम
वीडियो: Installation Mpow Car Phone Holder Washable Strong Sticky Gel Pad Car Phone Mount🚗🚕 2024, जुलाई
Anonim
घूर्णन फोन माउंट
घूर्णन फोन माउंट

यह निर्देश दक्षिण फ्लोरिडा विश्वविद्यालय (www.makecourse.com) में मेककोर्स की परियोजना की आवश्यकता को पूरा करने के लिए बनाया गया था।

एक घूमने वाला फ़ोन माउंट करना चाहते हैं ताकि आप अपने फ़ोन की सामग्री को पोर्ट्रेट या लैंडस्केप ओरिएंटेशन में बिना उसे पकड़े देख सकें? फिर, आगे मत देखो।

इस परियोजना को बनाने के लिए, आपको आवश्यकता होगी:

- Arduino माइक्रोकंट्रोलर और IDE

- कोड अपलोड करने के लिए यूएसबी केबल

- ब्रेड बोर्ड

- जम्पर तार

- एलसीडी प्रदर्शन

- सर्वो

- कॉलम जो सर्वो से जुड़ सकता है

- आईआर रिमोट

- आईआर रिसीवर

- 10k ओम रोकनेवाला

- केनू एयरफ्रेम + फोन क्लिप (या फोन को जगह में रखने के लिए कुछ)

- पोर्टेबल पावर के लिए 9 वी बैटरी या सिर्फ यूएसबी संचालित Arduino

चरण 1: IR रिसीवर सर्किट बनाएँ

IR रिसीवर सर्किट बनाएँ
IR रिसीवर सर्किट बनाएँ
IR रिसीवर सर्किट बनाएँ
IR रिसीवर सर्किट बनाएँ

सबसे पहले, Arduino से GND और +5V को अपने ब्रेडबोर्ड पर पावर रेल पर कूदें। फिर, अपने 10k ओम रेसिस्टर को +5V पावर रेल से अपने IR रिसीवर फोटोट्रांसिस्टर के आउटपुट पिन पर जंप करें। इसके बाद, IR रिसीवर के आउटपुट पिन से Arduino पर पिन 11 से कनेक्ट करने के लिए एक जम्पर वायर का उपयोग करें। फिर, जमीन भेजने के लिए दो जम्पर तारों का उपयोग करें और IR रिसीवर पर संबंधित पिनों को +5V भेजें। उपरोक्त योजनाबद्ध में चित्रित आरसी फ़िल्टर आवश्यक नहीं है। अंत में, मैंने इस चरण में दिखाया गया योजनाबद्ध नहीं बनाया, और इसके लिए स्रोत चित्र में मौजूद है।

चरण 2: सर्वो, कॉलम और फोन धारक को कनेक्ट करें

सर्वो, कॉलम और फोन होल्डर को कनेक्ट करें
सर्वो, कॉलम और फोन होल्डर को कनेक्ट करें
सर्वो, कॉलम और फोन होल्डर को कनेक्ट करें
सर्वो, कॉलम और फोन होल्डर को कनेक्ट करें
सर्वो, कॉलम और फोन होल्डर को कनेक्ट करें
सर्वो, कॉलम और फोन होल्डर को कनेक्ट करें

अब, जमीन से कूदने के लिए दो जम्पर तारों का उपयोग करें और ब्रेडबोर्ड पावर रेल के +5V क्रमशः सर्वो के भूरे और लाल तारों में। फिर, सर्वो के नारंगी तार में Arduino पर पिन 9 संलग्न करने के लिए एक जम्पर तार का उपयोग करें।

फिर, दूसरी तस्वीर में दिखाए गए अनुसार सर्वो के सिर पर एक कॉलम संलग्न करें।

अंत में, फोन को कॉलम में रखने के लिए कुछ संलग्न करें, जैसे कि केनु एयरफ्रेम +, जैसा कि तीसरी तस्वीर में दिखाया गया है।

चरण 3: सर्वो रीडआउट के लिए एलसीडी डिस्प्ले कनेक्ट करें

सर्वो रीडआउट के लिए एलसीडी डिस्प्ले कनेक्ट करें
सर्वो रीडआउट के लिए एलसीडी डिस्प्ले कनेक्ट करें

एलसीडी डिस्प्ले पर अपने ब्रेडबोर्ड पावर रेल से संबंधित पिन तक जंप ग्राउंड और +5V। इसके अलावा, एसडीए और एससीएल पिन को एलसीडी से अरडियूनो पर कूदें। Arduino के SDA और SCL पिन को Arduino बोर्ड के पीछे से पहचाना जा सकता है और AREF के ऊपर दो पिन और पिन 13 के ऊपर ग्राउंड हैं। SCL पिन सबसे अधिक है। यह एलसीडी डिस्प्ले को वर्तमान सर्वो स्थिति को पढ़ने की अनुमति देता है।

चरण 4: Arduino को प्रोग्राम करने के लिए संलग्न कोड और पुस्तकालयों का उपयोग करें

Arduino को प्रोग्राम करने के लिए संलग्न कोड और पुस्तकालयों का उपयोग करें
Arduino को प्रोग्राम करने के लिए संलग्न कोड और पुस्तकालयों का उपयोग करें

RotatingMountCode.zip फ़ाइल डाउनलोड करें। Arduino IDE स्थापित करें और डाउनलोड की गई फ़ाइल को Documents\Arduino में अनज़िप करें। सुनिश्चित करें कि आप मेरे स्केच और लाइब्रेरी फ़ोल्डर की सामग्री को अपने स्केच और लाइब्रेरी फ़ोल्डर में कॉपी करते हैं। ServoIRandLCD स्केच खोलें और इसे अपने Arduino पर अपलोड करें।

कोड स्पष्टीकरण के लिए बाद के चरण देखें।

चरण 5: वांछित शक्ति स्रोत को Arduino से कनेक्ट करें और माउंट को घुमाने के लिए रिमोट का उपयोग करें

वांछित शक्ति स्रोत को Arduino से कनेक्ट करें और माउंट को घुमाने के लिए रिमोट का उपयोग करें!
वांछित शक्ति स्रोत को Arduino से कनेक्ट करें और माउंट को घुमाने के लिए रिमोट का उपयोग करें!
वांछित शक्ति स्रोत को Arduino से कनेक्ट करें और माउंट को घुमाने के लिए रिमोट का उपयोग करें!
वांछित शक्ति स्रोत को Arduino से कनेक्ट करें और माउंट को घुमाने के लिए रिमोट का उपयोग करें!

या तो अपने कंप्यूटर में प्लग किए गए Arduino को छोड़ दें या इसे अपने कंप्यूटर से अनप्लग करें और Arduino को DC पावर प्रदान करने के लिए 9V बैटरी का उपयोग करें। अंत में, सर्वो को नियंत्रित करने के लिए एक सस्ते आईआर रिमोट का उपयोग करें और इसलिए फोन माउंट का उन्मुखीकरण!

रिमोट पर नंबर 1 को सर्वो स्थिति को 0 डिग्री, नंबर 2 से 90 डिग्री और नंबर 3 से 180 डिग्री पर सेट करना चाहिए। इस बीच रिमोट पर + और - बटन को क्रमशः सर्वो के कोण को 1 डिग्री से बढ़ाना या घटाना चाहिए।

नोट: यदि आप यहां चित्रित एक से भिन्न IR रिमोट का उपयोग करते हैं, तो संभव है कि विभिन्न बटनों के अनुरूप IR कोड बदल गए हों। यदि ऐसा है, तो इसके बजाय उन IR कोड का उपयोग करने के लिए ServoIRandLCD स्केच को संशोधित करें।

चरण 6: स्रोत कोड स्पष्टीकरण के लिए इसे पढ़ें

सोर्स कोड स्पष्टीकरण के लिए इसे पढ़ें
सोर्स कोड स्पष्टीकरण के लिए इसे पढ़ें
सोर्स कोड स्पष्टीकरण के लिए इसे पढ़ें
सोर्स कोड स्पष्टीकरण के लिए इसे पढ़ें

Arduino स्केच के लिए स्रोत कोड नीचे या पहले संलग्न.zip फ़ाइल में पाया जा सकता है। आवश्यक पुस्तकालय चरण 4 में केवल पहले संलग्न.zip फ़ाइल में ही मिल सकते हैं।

पहली चीज जो कोड करता है वह है स्केच में सभी कार्यों को चलाने के लिए आवश्यक आवश्यक पुस्तकालय शामिल हैं। इसके बाद, यह Arduino पर पिन 9 को सर्वो के लिए PWM- सक्षम सिग्नल पिन घोषित करता है। यह Arduino पर पिन 11 को IR रिसीवर के लिए उपयोग किया जाने वाला पिन भी बनाता है। इसके बाद, यह एक पूर्णांक चर घोषित करता है जिसका उपयोग सर्वो की स्थिति को डिग्री में ट्रैक रखने के लिए किया जाता है और इसे शुरू में 0 डिग्री पर सेट करता है। फिर, यह एक IRrecv ऑब्जेक्ट, एक सर्वो ऑब्जेक्ट, और myDisplay LCD ऑब्जेक्ट (जो उसी लाइन में भी कॉन्फ़िगर किया गया है) के लिए आवश्यक ऑब्जेक्ट को इंस्टेंट करता है ताकि इन ऑब्जेक्ट्स को बाद में उपयोग किया जा सके।

इसके बाद, सेटअप फ़ंक्शन में, सीरियल पोर्ट को 9600 बिट/सेकंड पर शुरू किया जाता है, ताकि यदि वांछित हो तो सर्वो की स्थिति का ट्रैक रखने के लिए सीरियल मॉनिटर का उपयोग किया जा सकता है। यह myservo ऑब्जेक्ट को पिन 9 से भी जोड़ता है, IR रिसीवर शुरू करता है, और LCD डिस्प्ले को इनिशियलाइज़ करता है।

मुख्य लूप फंक्शन में, जिसके बॉडी को केवल तभी निष्पादित किया जाता है जब IR रिसीवर से IR ट्रांसमिशन प्राप्त होता है, IR रिसीवर डिकोड (और परिणाम) फ़ंक्शन का उपयोग करके IR रिमोट से भेजे गए सिग्नल को डिकोड करता है और फिर यदि स्टेटमेंट निर्धारित करता है कि क्या प्राप्त आईआर मूल्य के आधार पर सर्वो को सेट करने के लिए। राइट फ़ंक्शन का उपयोग सर्वो को उसकी उपयुक्त डिग्री पर सेट करने के लिए किया जाता है, और रीड फ़ंक्शन का उपयोग सर्वो के वर्तमान कोण को खोजने और आवश्यकतानुसार इसे बढ़ाने या घटाने के लिए किया जाता है।

अंत में, सर्वो का वर्तमान कोण myservo.read() फ़ंक्शन का उपयोग करके सीरियल मॉनिटर और एलसीडी डिस्प्ले दोनों को भेजा जाता है, और मुख्य लूप अनिश्चित काल तक पुनरावृत्त होता है।

सोर्स कोड:

#शामिल करें

#define सर्वोपिन 9 // यह पिन 9 को सर्वो नियंत्रण लीड (नारंगी) के लिए उपयोग किए जाने वाले पिन के रूप में परिभाषित करता है

इंट RECV_PIN = 11; // IR फोटो-ट्रांजिस्टर आउटपुट को पिन 11. पर भेजता है

इंट करंटएंगल = 0; // currentAngle पूर्णांक चर घोषित करें और 0. पर सेट करें

IRrecv irrecv (RECV_PIN); // एक IR रिसीवर ऑब्जेक्ट decode_results परिणामों को तुरंत चालू करें; // एक decode_results ऑब्जेक्ट को तुरंत चालू करें। यह वस्तु IR रिसीवर से अलग है।

सर्वो मायसर्वो; // 'myservo' नामक एक सर्वो ऑब्जेक्ट को तुरंत चालू करें // अधिकतम आठ सर्वो ऑब्जेक्ट बनाए जा सकते हैं

लिक्विड क्रिस्टल_आई२सी मायडिस्प्ले(०x२७, १६, २); // LCD ऑब्जेक्ट को इंस्टेंट करें और कॉन्फिगरेशन सेट करें

व्यर्थ व्यवस्था() {

सीरियल.बेगिन (९६००); // सीरियल पोर्ट शुरू करें

myservo.attach (सर्वोपिन); // पिन 9 पर सर्वो को सर्वो ऑब्जेक्ट से जोड़ता है

ircv.enableIRIn (); // रिसीवर शुरू करें

myDisplay.init (); // एलसीडी को इनिशियलाइज़ करें

myDisplay.बैकलाइट (); // एलसीडी बैकलाइट चालू करें

}

शून्य लूप () {

अगर (irrecv.decode(&results)) // अगर ट्रांसमिशन प्राप्त हुआ …

{ सीरियल.प्रिंट ("आईआर मान प्राप्त हुआ:");

Serial.println(results.value); // प्रदर्शन मूल्य प्राप्त हुआ

// प्राप्त कमांड की व्याख्या करें … अगर (results.value == 16724175) //1 {// बाएं myservo.write(0); }

अगर (results.value == 16718055)//2 {//middle myservo.write(90); }

अगर (results.value == १६७४३०४५)//३ {//right myservo.write(180); }

अगर (results.value == 16754775) //+ {//increment currentAngle = myservo.read (); myservo.write(currentAngle + 1); } अगर (results.value == १६७६९०५५) //- {// decrement currentAngle = myservo.read (); myservo.write(currentAngle - 1); } }

अपरिवर्तनीय। फिर से शुरू (); // अगला मान प्राप्त करें

// सीरियल मॉनिटर प्रिंट सीरियल.प्रिंट ("वर्तमान सर्वो स्थिति:");

Serial.println (myservo.read ()); // यह सर्वो स्थिति को पुनः प्राप्त करता है और इसे सीरियल मॉनिटर को भेजता है

// एलसीडी प्रिंट myDisplay.clear ();

myDisplay.print ("सर्वो डिग्री:");

myDisplay.print(myservo.read ());

देरी (200); // सर्वो एक्चुएशन को स्थिर बनाने में देरी

}

चरण 7: मदद के लिए मेरा यूट्यूब वीडियो देखें

मेरा असूचीबद्ध YouTube वीडियो देखें जो पूरी तरह से चर्चा करता है और परियोजना को प्रदर्शित करता है यदि आपके कोई प्रश्न हैं!

सिफारिश की: