विषयसूची:

एक लेजर पॉइंटर और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें: 4 कदम
एक लेजर पॉइंटर और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें: 4 कदम

वीडियो: एक लेजर पॉइंटर और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें: 4 कदम

वीडियो: एक लेजर पॉइंटर और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें: 4 कदम
वीडियो: EPIC Online Technology Meeting on Plastic Sorting, Recycling and Waste Management 2024, नवंबर
Anonim
एक लेजर सूचक और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें
एक लेजर सूचक और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें
एक लेजर सूचक और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें
एक लेजर सूचक और एक Arduino के साथ फ्लोरोसेंट रोशनी को नियंत्रित करें

अल्फा वन लैब्स हैकरस्पेस के कुछ सदस्यों को फ्लोरोसेंट फिक्स्चर द्वारा दी गई कठोर रोशनी पसंद नहीं है। वे व्यक्तिगत जुड़नार को आसानी से नियंत्रित करने में सक्षम होने का एक तरीका चाहते थे, शायद एक लेज़र पॉइंटर के साथ?मैं उस पर सही था। मैंने सॉलिड स्टेट रिले का ढेर खोदा और उन्हें लैब में लाया। मैंने एक Arduino ड्यूमिलेनोवा खरीदा और एलईडी ब्लिंक उदाहरण स्केच के उपयोग को वास्तव में एक हैलोजन लैंप को ब्लिंक करने के लिए प्रदर्शित किया। मुझे एलईडी को प्रकाश सेंसर के रूप में उपयोग करने के बारे में कुछ जानकारी मिली [1] और तकनीक का प्रदर्शन करने वाला एक Arduino स्केच [2]। मैंने पाया कि एल ई डी लगभग पर्याप्त संवेदनशील नहीं थे - लेजर को सीधे प्रकाश उत्सर्जक भाग, या एलईडी में इंगित करना था दर्ज नहीं होगा। इसलिए मैंने फोटोट्रांसिस्टर्स पर स्विच किया। वे बहुत अधिक संवेदनशील हैं, और आवृत्तियों की एक विस्तृत श्रृंखला पर हैं। ट्रांजिस्टर पर उचित फिल्टर के साथ मैं इसे लाल बत्ती के प्रति अधिक संवेदनशील बना सकता था, और कोणों की एक विस्तृत श्रृंखला से लेकर सेंसर तक। अस्वीकरण और चेतावनी: यह निर्देशयोग्य 120 या 240 वोल्ट पर लाइन (मुख्य) वोल्टेज से संबंधित है। यदि आप इस सर्किट का निर्माण करते हैं तो सामान्य ज्ञान का उपयोग करें - यदि आपको किसी चीज़ के बारे में संदेह है, तो किसी ऐसे व्यक्ति से पूछें जो जानता हो। आप अपनी (और दूसरों की) सुरक्षा, और स्थानीय विद्युत कोड के अनुपालन के लिए जिम्मेदार हैं।

चरण 1: स्केच और कुछ सिद्धांत

मैं मान लूंगा कि आप जानते हैं कि अपने Arduino को कैसे पावर देना है, और एक स्केच संकलित और लोड करना है। प्रत्येक लैंप के लिए मैं टेलीफोन केबल का उपयोग करता हूं, क्योंकि यह सस्ता है, इसमें चार कंडक्टर हैं, और मेरे पास वैसे भी एक गुच्छा था। मैंने सामान्य + के लिए लाल, जमीन के लिए काला, फोटोट्रांसिस्टर कलेक्टर के लिए हरा, और रिले नियंत्रण के लिए पीला + का उपयोग किया। एक फोटोट्रांसिस्टर उस पर पड़ने वाले प्रकाश की मात्रा के साथ बदलता रहता है। Arduino में एनालॉग टू डिजिटल कन्वर्टर (ADC) जमीन के सापेक्ष पिन पर वोल्टेज को मापता है। मैंने फोटोट्रांसिस्टर डेटा शीट को देखा और एक मल्टीमीटर से सत्यापित किया कि ट्रांजिस्टर पूर्ण प्रकाश में 10mA पास करते हैं। ओम के नियम का उपयोग करते हुए, यह 5V पर लगभग 500 ओम है, लैंप को नियंत्रित करने के लिए मैंने एक ठोस राज्य रिले मॉड्यूल का उपयोग किया। वर्तमान रेटिंग में ये अपेक्षाकृत सस्ते हैं, जिनकी हमें आवश्यकता है, 4A तक के लिए लगभग $ 4। शून्य-क्रॉसिंग डिटेक्टर के साथ रिले मॉड्यूल खरीदना सुनिश्चित करें, खासकर अगर फ्लोरोसेंट लाइट, मोटर, या वॉल-वार्ट ट्रांसफॉर्मर जैसे अपरिवर्तनीय कुछ भी नियंत्रित करते हैं। उन्हें कहीं भी चालू या बंद करना, लेकिन शून्य बिंदु वोल्टेज स्पाइक्स का कारण बन सकता है जो आपके उपकरण के जीवन को कम कर देगा, और सबसे खराब आग लग जाएगी।

चरण 2: रोशनी को तार देना

तारों की रोशनी
तारों की रोशनी
तारों की रोशनी
तारों की रोशनी
तारों की रोशनी
तारों की रोशनी

छत में एक नज़र डालें और तय करें कि आप Arduino कंट्रोलर को कहाँ माउंट करेंगे। याद रखें कि इसे 7-12v बिजली की आपूर्ति की आवश्यकता होगी। अरुडिनो से उस प्रत्येक प्रकाश तक की दूरी से लगभग दो फीट लंबी टेलीफोन तार (या कैट 5 या जो भी) की लंबाई में कटौती करें। स्विच से गिट्टी में बिजली लाइनों से कनेक्शन पर एक नज़र डालें। आप कनेक्टर्स को ऑर्डर करने में सक्षम हो सकते हैं (नेवार्क इलेक्ट्रॉनिक्स वैगो 930 श्रृंखला बेचता है, जो कि हमारे पास था)। तब आपको मौजूदा तारों को काटने की आवश्यकता नहीं होगी और अगर कुछ गलत हो जाता है तो आप सिस्टम को हटा सकते हैं। जमीन (काले) को रिले इनपुट में मिलाएं - और इनपुट को रिले करने के लिए नियंत्रण (पीला) + (चित्र में रंग कोड है जो मैंने पहले पन्ने पर रखा था, उससे अलग, क्योंकि मैंने अपना विचार बदल दिया था कि क्या समझ में आएगा)। मिलाप या पेंच (आपके रिले के आधार पर) रिले के माध्यम से काले (गर्म) तार। हीट सिकुड़न और बिजली के टेप का उपयोग करना सुनिश्चित करें! अपने कनेक्टर में काले तारों को दबाएं और सफेद (तटस्थ) और जमीन (हरा) कनेक्टर से कनेक्टर तक सीधे होते हैं। तारों का दूसरा छोर Arduino पर निम्नानुसार जाता है: सभी लाल तार (सामान्य कैथोड या कलेक्टर) एनालॉग 0 (पोर्ट C0) पर जाएं, और सभी ब्लैक टू ग्राउंड। प्रत्येक हरा (एनोड या एमिटर) 8-13 (पोर्ट बी 0-5) पिन पर जाता है और पीले तार पिन 2-7 (पोर्ट डी 2-7) पर जाते हैं। सुनिश्चित करें कि हरे और पीले तार मेल खाते हैं, क्योंकि सेंसर को उचित रिले को नियंत्रित करने की आवश्यकता है! यदि आप पीले रंग को पिन 2 में डालते हैं, तो उसी स्थिरता से हरा पिन 8 में चला जाता है।

चरण 3: स्केच और डिज़ाइन नोट्स का परीक्षण

इस चरण में मैं उन कुछ परीक्षाओं और क्लेशों के बारे में बात करूँगा जिनका मुझे रास्ते में सामना करना पड़ा, और मैंने उनके माध्यम से कैसे काम किया, इस उम्मीद में कि यह उपयोगी होगा। यदि विज्ञान सामग्री आपकी चीज़ नहीं है तो अगले चरण पर जाने के लिए स्वतंत्र महसूस करें:-) पहला कदम यह तय करना था कि कैपेसिटिव सेंसिंग या प्रतिरोधक सेंसिंग का उपयोग करना है या नहीं। प्रतिरोधक संवेदन एक प्रतिरोधक के माध्यम से सेंसर को एनालॉग पिन में से एक से जोड़ रहा है और एनालॉग कर रहा है और एक थ्रेशोल्ड के खिलाफ तुलना कर रहा है। यह लागू करने के लिए सबसे सरल है, लेकिन बहुत सारे अंशांकन लेता है। कैपेसिटिव सेंसिंग का सिद्धांत यह है कि जब रिवर्स बायस्ड (- से + लेड और इसके विपरीत), एक एलईडी करंट को प्रवाहित नहीं होने देगी, लेकिन इलेक्ट्रॉन एक तरफ एकत्र होंगे और संधारित्र को प्रभावी ढंग से चार्ज करते हुए, दूसरी तरफ छोड़ दें। एलईडी पर सामान्य रूप से उत्सर्जित होने वाली आवृत्ति पर प्रकाश गिरने से वास्तव में एक छोटा प्रवाह प्रवाहित होगा, जो इस संधारित्र को निर्वहन करता है। इसलिए यदि हम एलईडी 'संधारित्र' को चार्ज करते हैं और गिनते हैं कि एक रोकनेवाला के माध्यम से निर्वहन में कितना समय लगता है, तो हमें इसका अंदाजा हो जाता है कि एलईडी पर कितनी रोशनी पड़ रही है। यह वास्तव में विभिन्न उपकरणों में अधिक विश्वसनीय होने के लिए काम करता है, और यहां तक कि फोटोट्रांसिस्टर्स के लिए भी काम करता है! चूंकि हम एक सटीक लुमेन माप नहीं कर रहे हैं, और लेजर पॉइंटर को परिवेश की तुलना में बहुत अधिक चमकीला दिखना चाहिए, हम केवल एक थ्रेशोल्ड डिस्चार्ज समय की तलाश करते हैं। इस साहसिक कार्य का दूसरा महत्वपूर्ण हिस्सा डिबगिंग है। प्रोग्रामिंग गैर-एम्बेडेड सिस्टम से परिचित लोगों के लिए, कोड में महत्वपूर्ण बिंदुओं पर प्रिंट स्टेटमेंट जोड़ना एक लोकप्रिय तरीका है। यह एम्बेडेड सिस्टम पर भी लागू होता है, लेकिन जब प्रत्येक माइक्रोसेकंड मायने रखता है, Serial.write("x is"); सीरियल.लेखन (एक्स); वास्तव में काफी महत्वपूर्ण है, और आप इस प्रक्रिया में बहुत सी घटनाओं को याद कर सकते हैं। इसलिए याद रखें कि अपने प्रिंट स्टेटमेंट को हमेशा क्रिटिकल लूप्स से बाहर रखें, या जब भी आप किसी इवेंट की उम्मीद करें। कभी-कभी एक एलईडी को ब्लिंक करना आपको यह बताने के लिए पर्याप्त है कि आप कोड में एक निश्चित बिंदु पर पहुंच गए हैं।

चरण 4: वेब नियंत्रण जोड़ना

वेब नियंत्रण जोड़ना
वेब नियंत्रण जोड़ना

यदि आपने स्केच को देखा, तो आपने देखा कि मैं सीरियल पोर्ट भी पढ़ता हूं, और कुछ एकल वर्ण कमांड पर कार्य करता हूं। 'एन' कैरेक्टर सभी लाइटों को जला देता है और 'एफ' उन्हें बंद कर देता है। संख्या '0'-'5' उस डिजिटल आउटपुट से जुड़े प्रकाश की स्थिति को टॉगल करती है। तो आप दूर से अपनी रोशनी को नियंत्रित करने के लिए आसानी से एक सीजीआई स्क्रिप्ट (या सर्वलेट, या जो भी वेब तकनीक आपकी नाव तैरती है) को एक साथ फेंक सकते हैं। Serial.writes भी आउटपुट देता है जब भी उपयोगकर्ता इनपुट से एक प्रकाश बदल दिया जाता है, इसलिए पृष्ठ में वर्तमान स्थिति दिखाने के लिए अजाक्स अपडेट हो सकते हैं। एक और चीज जिसका मैं प्रयोग करने जा रहा हूं वह एक कमरे में गति का पता लगा रही है। लोग प्रकाश को प्रतिबिंबित करते हैं, और जैसे-जैसे वे आगे बढ़ते हैं वह प्रकाश बदल जाएगा। मेरे पास लिखे गए बयानों का वह 'डेल्टा' हिस्सा है।

सिफारिश की: