विषयसूची:

इंटरएक्टिव टचलेस लाइट: 7 कदम (चित्रों के साथ)
इंटरएक्टिव टचलेस लाइट: 7 कदम (चित्रों के साथ)

वीडियो: इंटरएक्टिव टचलेस लाइट: 7 कदम (चित्रों के साथ)

वीडियो: इंटरएक्टिव टचलेस लाइट: 7 कदम (चित्रों के साथ)
वीडियो: World's Largest DIY Hologram! 2024, नवंबर
Anonim
इंटरएक्टिव टचलेस लाइट
इंटरएक्टिव टचलेस लाइट

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

शुरुआत के लिए, जब मैंने इस परियोजना को शुरू किया तो मुझे इलेक्ट्रॉनिक्स और न ही कैपेसिटिव टच सेंसिंग के बारे में कुछ भी नहीं पता था।

कुछ समस्याएं जिन पर मैं शुरू में आया था, वे गलतफहमी के कारण थीं कि वास्तव में क्या होता है। तो मैं इसे कैसे समझता हूं, इसका संक्षिप्त परिचय:

एक कैपेसिटिव सेंसर मुख्य रूप से कई घटकों का उपयोग करता है:

एक संधारित्र (इस परियोजना में हम एल्यूमीनियम पन्नी का उपयोग करते हैं, लेकिन प्रवाहकीय तरल पदार्थ आदि का उपयोग करना भी संभव है), तार (बेशक, इसके इलेक्ट्रॉनिक्स)

और एक रोकनेवाला, 10 MOhm से कम की कोई भी वस्तु प्रत्यक्ष स्पर्श से अधिक प्रतिरोध के लिए बहुत छोटा है।

जिस तरह से यह काम करता है वह बिंदु ए और बिंदु बी के बीच के समय के अंतर को मापता है। स्टार्ट पिन से यह एक एंडपिन को एक संकेत भेजता है, इसमें लगने वाले समय को टाइमर से मापा जाता है। प्रतिरोध मान को कम करके (संधारित्र (इस मामले में आपका हाथ) को सेंसर (एल्यूमीनियम पन्नी) के संधारित्र के करीब ले जाकर इस बार छोटा कर देता है, समय में अंतर वह है जो सेंसर एक मूल्य के रूप में वापस देता है।

सेंसर के कैपेसिटिव सतहों से प्रभावित होने के कारण हस्तक्षेप के कारण डेटा बेतहाशा अनिश्चित हो सकता है। यह संधारित्र को सही ढंग से इन्सुलेट करके और एक जमीन का उपयोग करके बड़े हिस्से के लिए हल किया जा सकता है (मैं बाद में दिखाऊंगा कि कैसे)।

तो अब यह उस रास्ते से बाहर है जिस तरह से हम अपनी ज़रूरत के सभी सामानों की सूची बनाना शुरू कर सकते हैं:

चरण 1: हमें क्या चाहिए?

इलेक्ट्रॉनिक्स:

1. 2 x 22M ओम + रेसिस्टर्स (प्रतिरोध मान जितना बड़ा होगा, आपका सेंसर उतना ही दूर प्रतिक्रिया करेगा, मैंने व्यक्तिगत रूप से 22M ओम का उपयोग किया, मेरे द्वारा अनुभव किए जाने योग्य डेटा प्राप्त करने के लिए न्यूनतम 10M ओम था)

2. 3x 330 ओम प्रतिरोधक

3. तार

4. ब्रेडबोर्ड

5. सर्किट बोर्ड (मेरा निरंतर तांबे की स्ट्रिप्स था)

6. एकाधिक सामान्य कैथोड आरजीबी एलईडी (मैंने 8 का उपयोग किया, लेकिन आपके पास कम या ज्यादा हो सकता है इस पर निर्भर करता है कि आप कितना प्रकाश चाहते हैं)

7.एल्यूमीनियम पन्नी

8. क्लिंग रैप

9. Arduino Uno

10. टेप

मामला:

1. लकड़ी मैंने 50 x 50 x 1.8 सेमी एमडीएफ का उपयोग किया (आप वास्तव में कुछ भी उपयोग कर सकते हैं। यह आपके इच्छित प्रभाव और आपके पास आपके पास मौजूद उपकरणों पर निर्भर करता है)

2. ऐक्रेलिक प्लेक्सीग्लस मैंने 50 x 50 x 0.3 सेमी (या चावल के कागज जैसी कोई अन्य पारदर्शी / पारभासी सामग्री) का उपयोग किया

3. सैंडपेपर (ठीक सैंडपेपर)

4. लकड़ी-गोंद

5. लिबास (वैकल्पिक)

6. एक्रिलिक गोंद

उपकरण:

वायर स्ट्रिपर

सोल्डरिंग आयरन + टिन

स्टेनली नाइफ

ड्रिल

सॉ (मैंने एक टेबल आरा का इस्तेमाल किया)

चरण 2: प्रोटोटाइप:

प्रोटोटाइप
प्रोटोटाइप
प्रोटोटाइप
प्रोटोटाइप

अब हमारे पास सब कुछ है और हम यह देखने के लिए एक प्रोटोटाइप बनाना शुरू कर सकते हैं कि यह कैसे काम करता है:

तैयारी का काम:

एल्युमिनियम फॉयल से ४ आयतें काट लें (मेरा आकार लगभग १० सेंटीमीटर गुणा ५ सेंटीमीटर है), इन्हें सीधे स्पर्श से बचाने के लिए क्लिंग रैप में लपेटें और एल्युमिनियम फॉयल से एक तार चिपका दें। मैंने बस पन्नी के एक छीने हुए सिरे को टेप किया (जब तक वे संपर्क में रहते हैं)।

यह सुनिश्चित करने के लिए कि एल्यूमीनियम सुरक्षित रूप से अछूता है, मैंने क्लिंग रैप में लपेटा और इसे कागजों के बीच इस्त्री किया (बस कुछ सेकंड के लिए ताकि यह पूरी तरह से पिघल न जाए)।

फिर छवि में देखे अनुसार सर्किट सेट करें।

पिन 4 का उपयोग दोनों सेंसरों के लिए सेंड पिन के रूप में किया जाता है, जबकि रिसीव पिन पिन 2 और 5 हैं। आप कई सेंड पिन का उपयोग कर सकते हैं, लेकिन यह परेशानी का कारण बनता है क्योंकि वे पूरी तरह से सिंक में नहीं हैं।

सब कुछ एक साथ मिलाप करने से पहले डिबगिंग उद्देश्यों के लिए इस सेटअप का उपयोग करें, यह सुनिश्चित करने के लिए कि सब कुछ वास्तव में इरादा के अनुसार काम करता है।

चरण 3: कोड:

अब हमारे पास सब कुछ है और हम सेंसर को डिबग करना शुरू कर सकते हैं।

मेरे कोड का उपयोग करने के लिए आपको Arduino से कैपेसिटिव सेंसिंग लाइब्रेरी डाउनलोड करनी चाहिए और इसे संदर्भ पृष्ठ द्वारा दिए गए निर्देशों के अनुसार स्थापित करना चाहिए: मुझे क्लिक करें

कोड: (मैं कोडिंग में अच्छा नहीं हूं, इसलिए यदि आप जानते हैं कि इसे बेहतर तरीके से कैसे किया जाए तो कृपया करें)

#शामिल करें // कोड लाइब्रेरी आयात करें

CapacitiveSensor cs_4_2 = CapacitiveSensor(4, 2); // पिन भेजें = 4, प्राप्त 2 और 5 कैपेसिटिव सेंसर cs_4_5 = कैपेसिटिव सेंसर (4, 5); कॉन्स्ट इंट रेडपिन = 11; कॉन्स्ट इंट ग्रीनपिन = 10; कॉन्स्ट इंट ब्लूपिन = 9; कॉन्स्ट इंट numIndexR = 10; // सरणी आकार const int numIndexG = 10; इंट कलरआर = 0; इंट कलरजी = 0; फ्लोट कलरबी = 0; इंट इंडेक्सआर [numIndexR]; इंट पॉज़इंडेक्सआर = 0; लंबा कुल आर = 0; // इसे लंबा होना चाहिए क्योंकि मेरे सरणी का कुल पूर्णांक के लिए बड़ा था। इंट एवरेजआर = 0; इंट इंडेक्सजी [numIndexG]; इंट पॉज़इंडेक्सजी = 0; लंबा कुल जी = 0; इंट एवरेजजी = 0; शून्य सेटअप () {पिनमोड (रेडपिन, आउटपुट); पिनमोड (ग्रीनपिन, आउटपुट); पिनमोड (ब्लूपिन, आउटपुट); के लिए (int thisIndexR = 0; thisIndexR < numIndexR; thisIndexR ++) {// सरणी को 0 indexR [thisIndexR] = 0 पर सेट करता है; } के लिए (int thisIndexG = 0; thisIndexG = 4500) {// सेंसर मानों को प्रयोग करने योग्य अधिकतम तक कैप करें, यह प्रत्येक प्रतिरोधी मान के लिए समान नहीं है और पर्यावरण से पर्यावरण में थोड़ा भिन्न भी हो सकता है, आपको इसे ट्विक करने की आवश्यकता हो सकती है आपकी अपनी जरूरतें। कुल १ = ४५००; } अगर (कुल २>= ४५००){ टोटल२ = ४५००; } TotalR = TotalR - indexR [posIndexR]; // यह यहां एक सरणी बनाता है जो लगातार एक सेंसर आउटपुट जोड़ता है और औसत उत्पन्न करता है। indexR [posIndexR] = कुल १; टोटलआर = टोटलआर + इंडेक्सआर [पॉजइंडेक्सआर]; posIndexR = posIndexR + 1; अगर (posIndexR>= numIndexR){ posIndexR = 0; } औसतR = कुलR / numIndexR; // हम आउटपुट को सुचारू करने के लिए कच्चे डेटा के बजाय औसत का उपयोग करते हैं, यह प्रक्रिया को थोड़ा धीमा कर देता है लेकिन यह वास्तव में एक अच्छा सहज प्रवाह भी बनाता है। टोटलजी = टोटलजी - इंडेक्सजी [पॉजइंडेक्सजी]; indexG [posIndexG] = कुल २; टोटलजी = टोटलजी + इंडेक्सजी [पॉजइंडेक्सजी]; posIndexG = posIndexG + 1; अगर (posIndexG>= numIndexG){ posIndexG = 0; } औसतG = कुलG / numIndexG; अगर (औसत आर> = 2000) {// हम नहीं चाहते कि एल ई डी लगातार मूल्य बदलता रहे जब तक कि आपके हाथ से इनपुट न हो, इसलिए यह सुनिश्चित करता है कि सभी निचले पर्यावरणीय रीडिंग को ध्यान में नहीं रखा जाता है। रंगआर = नक्शा (औसत आर, 1000, 4500, 255, 0); एनालॉगवर्इट (रेडपिन, कलरआर); } और अगर (औसत आर = 1000) {रंग जी = नक्शा (औसत जी, 1000, 4500, 255, 0); एनालॉगवर्इट (ग्रीनपिन, कलरजी); } और अगर (औसत जी <= 1000) {रंग जी = २५५; एनालॉगवर्इट (ग्रीनपिन, कलरजी); } अगर (colorR <= 125 && colorG <= 125) {//B थोड़ा अलग काम करता है क्योंकि मैंने केवल 2 सेंसर का इस्तेमाल किया है इसलिए मैंने दोनों सेंसर पर B मैप किया colorB = मैप (colorR, 255, 125, 0, 127.5) + मैप (रंग जी, 255, 125, 0, 127.5); एनालॉगवाइट (ब्लूपिन, कलरबी); } और {रंगबी = नक्शा (रंग आर, 255, 125, 127.5, 0) + नक्शा (रंग जी, 255, 125, 127.5, 0); अगर (रंग बी> = 255) {रंग बी = 255; } अगर (रंगबी <= 0) {रंगबी = 0; } एनालॉगराइट (ब्लूपिन, कलरबी); } सीरियल.प्रिंट (मिली () - प्रारंभ); // यह डिबगिंग उद्देश्यों के लिए है Serial.print("\t"); सीरियल.प्रिंट (रंग आर); सीरियल.प्रिंट ("\ t"); सीरियल.प्रिंट (रंग जी); सीरियल.प्रिंट ("\ t"); सीरियल.प्रिंट्लन (रंगबी); देरी(1); }

यह कोड क्या करता है सेंसर से कच्चा डेटा निकाल रहा है (सेंसर को प्रभावित करने वाले सभी विभिन्न कारकों के कारण यह डेटा हमेशा थोड़ा अनिश्चित होगा) और यह कच्चे डेटा को लगातार एक सरणी में रखता है, जब सरणी अधिकतम मूल्य तक पहुंच जाती है (मेरे मामले में 10) यह अंतिम मान को शुद्ध करता है और एक नया जोड़ता है। हर बार एक मूल्य जोड़ा जाता है यह औसत मूल्य की गणना करता है और इसे एक नए चर में डालता है। इस औसत चर का उपयोग किसी मान को 0 से 255 तक के मान पर मैप करने के लिए किया जाता है, यह वह मान है जिसे हम प्रत्येक चैनल की चमक बढ़ाने के लिए RGB पिन को लिखते हैं (चैनल R G और B हैं)।

अब यदि आप अपना कोड arduino पर अपलोड करते हैं और आप सीरियल मॉनिटर खोलते हैं तो आपको RGB मान कम दिखाई देने चाहिए जब आप प्रत्येक सेंसर पर अपना हाथ घुमाते हैं तो एलईडी का हल्का रंग भी बदलना चाहिए।

चरण 4: अब मामले के लिए:

अब मामले के लिए
अब मामले के लिए
अब मामले के लिए
अब मामले के लिए
अब मामले के लिए
अब मामले के लिए

मामला: मैंने अपने विश्वविद्यालय के माध्यम से उपलब्ध उपकरणों का उपयोग करके मामला बनाया है, इसलिए यह कार्यप्रवाह सभी के लिए लागू नहीं है। हालाँकि इसके बारे में कुछ खास नहीं है, USB पोर्ट के माध्यम से फिट होने के लिए इसे एक तरफ एक छेद की आवश्यकता होती है, लेकिन इसके अलावा यह सिर्फ एक खुला टॉप बॉक्स है।

आयाम इस प्रकार हैं:

पारदर्शी शीर्ष के लिए 15 x 15 सेमी

तथा

लकड़ी के आधार के लिए 15 x 8 सेमी (मेरे लिए लकड़ी की मोटाई 1.8 सेमी थी)।

मैंने एमडीएफ की एक प्लेट को सही आयामों में काटने के लिए एक टेबल का उपयोग किया जिसकी मुझे आवश्यकता थी (जो कि 4 पैनल 15 x 8 सीएम और 1 15 x 15 सीएम ग्राउंड पैनल है), जिसके बाद मैंने कोनों को 45 डिग्री के कोण में काट दिया। लकड़ी के गोंद और क्लैंप (इसे कम से कम 30 मिनट सूखने दें) का उपयोग करके मैंने सभी भागों को एक साथ चिपका दिया, मैंने प्लेक्सीग्लस के लिए एक ही प्रक्रिया का उपयोग किया लेकिन एक विशेष देखा ब्लेड के साथ।

लकड़ी के किनारों में से 1 में arduino USB प्लग की ऊंचाई पर केंद्र में एक छेद होना चाहिए ताकि arduino को प्लग इन किया जा सके।

मैंने लिबास के साथ आधार समाप्त किया। मैंने इसे प्रत्येक तरफ की सतह से थोड़ा बड़ा टुकड़ों में काट दिया।

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

एक्रिल के लिए विशिष्ट गोंद का उपयोग करके मैंने जिस टोपी को एक साथ चिपकाया, उसे एक्रिफिक्स कहा जाता है।

ध्यान रखें कि यदि आप ऐक्रेलिक प्लेक्सीग्लस का उपयोग करते हैं, तो गोंद प्लेक्सीग्लस को थोड़ा भंग कर देता है, इसलिए जितना संभव हो उतना सटीक और तेज़ हो (यह कुछ मिनटों के भीतर सूख जाता है, लेकिन सेकंड के भीतर हवा के संपर्क में आता है)।

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

यह सुनिश्चित करने के लिए कि टोपी ज्यादा फिसलती नहीं है, मैंने लकड़ी के घन के किनारों पर लकड़ी के कुछ छोटे सलाखों को चिपका दिया।

चरण 5: अंतिम परिणाम कुछ इस तरह दिखना चाहिए:

अंतिम परिणाम कुछ इस तरह दिखना चाहिए
अंतिम परिणाम कुछ इस तरह दिखना चाहिए

चरण 6: सोल्डरिंग

सोल्डरिंग!
सोल्डरिंग!
सोल्डरिंग!
सोल्डरिंग!

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

मेरे सर्किट बोर्ड में उपयोग में आसानी के लिए निरंतर तांबे की पट्टियां हैं।

प्रत्येक सेंसर के लिए मैंने प्रतिरोधों और तारों को मिलाप करने के लिए एक छोटा वर्ग काट दिया।

सेंड वायर (पिन 4 से प्रत्येक सेंसर तक जाने वाले तार) को एक अलग वर्ग के क्रम में मिलाया जाता है, जिसमें 1 तार पिन 4 में जाता है।

मैंने एक कामचलाऊ एलईडी पट्टी बनाने के लिए एक लंबी आयत रखी (इसे मापें ताकि यह टोपी के अंदर लेकिन आधार के किनारों पर फिट हो)। आप एक दूसरे के बाद क्रम में एल ई डी को मिलाप कर सकते हैं (छवि में ध्यान रखें कि मैंने गलती से सर्किट बोर्ड के गलत साइड पर एलईडी और प्रतिरोधों को मिला दिया, तांबे की स्ट्रिप्स हमेशा नीचे की तरफ होनी चाहिए)।

जब आप अलग-अलग हिस्सों को एक साथ मिलाप कर रहे हों, तो उन्हें मामले में फिट करें। मैंने अपने अलग-अलग तारों को एक साथ नहीं मिलाया ताकि जरूरत पड़ने पर मैं उन्हें आसानी से बदल सकूं।

आधार में सब कुछ फिट करने का समय: यह बहुत आसान कदम है, मामले के पीछे छेद के माध्यम से यूएसबी पोर्ट के साथ आर्डिनो को पहले स्थान पर होना चाहिए। अब सेंसर जोड़ें, सुनिश्चित करें कि सेंसर फ़ॉइल लकड़ी के दोनों तरफ फिट बैठता है, ग्राउंड फ़ॉइल सीधे इसके खिलाफ है। जब यह सब अच्छी तरह से फिट हो जाए, तो आरजीबी एलईडी को दाहिने पिन (9, 10, 11) में प्लग करें और इसे आधार के किनारों पर झुक जाने दें।

चरण 7: हम कर रहे हैं

यदि आपने इस सब का पालन किया है, तो अब आपके पास कैपेसिटिव टच कलर ब्लेंडिंग के साथ एक कार्यशील प्रकाश होना चाहिए। मज़े करो!

सिफारिश की: