विषयसूची:
- चरण 1: पुर्जे और उपकरण
- चरण 2: पहले से मौजूद हार्डवेयर
- चरण 3: सर्किट
- चरण 4: इसे एक साथ तार करना
- चरण 5: कोड
वीडियो: Cryptap: एक ताल आधारित दरवाज़ा बंद: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:24
मैंने hackaday.com पर कई डोर-अनलॉकिंग मैकेनिज्म देखे हैं, जिनसे प्रेरित होकर मैंने अपने दम पर एक बनाने का फैसला किया। इसमें दो-बटन इंटरफ़ेस है; एक पासवर्ड सबमिशन शुरू करने और समाप्त करने के लिए, और दूसरा वास्तव में उस लय में टैप करने के लिए जो आपका पासवर्ड है। एक स्टेटस लाइट भी है। पिछले कुछ महीनों में मैंने जिन हिस्सों को मैला किया था, उनका उपयोग करके मैं इसे वास्तव में सस्ते में बनाने में सक्षम था। मुझे केवल माइक्रोकंट्रोलर के लिए भुगतान करना था, जो कि $21 (https://www.pjrc.com/teensy/) था, और कुछ पिक्चर हैंगिंग वायर जो मेरे पास पहले से थे।
स्टार वार्स थीम या मेरे कमरे में प्रवेश करने के लिए कुछ टैप करने में बहुत मज़ा आता है। अब, मुझे अपने आप को फिर से अपने कमरे से बाहर बंद करने के बारे में चिंता करने की ज़रूरत नहीं है! इसके अलावा, यह अच्छा और geeky लगता है।
चरण 1: पुर्जे और उपकरण
मैंने टेन्सी को चुना क्योंकि यह मेरा पहला माइक्रोकंट्रोलर है, और मेरे पास अभी तक कोई प्रोग्रामर नहीं है। टेन्सी को मैक/विंडोज/लिनक्स के साथ संगत स्थापित करने के लिए केवल ए-मिनीबी यूएसबी केबल और मुफ्त सॉफ्टवेयर की आवश्यकता होती है। साथ ही, हेक्स फ़ाइल को अपलोड करना वाकई आसान है; बस संकलित करें, और Teensy पर बटन दबाएं।
मेरे लिए इस परियोजना की लागत $ 21 थी, साथ ही पिक्चर-हैंगिंग वायर। सड़क के हिस्से एक कॉफी पेरकोलेटर (रिले, एलईडी, कैपेसिटर) और एक राउटर (एलईडी, मॉड्यूलर जैक, पावर जैक, कैपेसिटर) से आए थे। नि: शुल्क नमूने 7805 5-वोल्ट नियामक, बटन और स्विच थे। मुझे अपने ईई लैब में "टूटे हुए हिस्से" बॉक्स में बहुत सारी चीज़ें मिलीं: केला कनेक्टर और केबल, तार, sn754410 ड्राइवर, चार-पिन हेडर और प्रतिरोधक। मेरे पास एक अतिरिक्त लैपटॉप चार्जर पड़ा था जिसका उपयोग मैं बिजली के लिए करता था, और एक Apple मॉडेम केबल जिसका टैब टूट गया था। अन्य हार्डवेयर: एक दीवार प्लेट। मैंने एक हॉट ग्लू गन, एक सोल्डरिंग आयरन, एक सुई फाइल और एक पावर ड्रिल का इस्तेमाल किया, जो काफी मानक हैं। मैंने जो सबसे असामान्य चीज इस्तेमाल की वह एक लंबा, लचीला धरनेवाला उपकरण था।
चरण 2: पहले से मौजूद हार्डवेयर
मैं बहुत भाग्यशाली था कि पहले से ही इतना स्थापित था। मेरा कमरा एडीए-सुलभ है, और विभिन्न पाइप, बिजली के बक्से और एक बिजली के दरवाजे की हड़ताल पहले से ही स्थापित थी। जिज्ञासावश डोर स्ट्राइक हटाने पर मैंने पाया कि वह जुड़ा नहीं था। मेरे कमरे के अंदर दरवाजे की हड़ताल से एक खाली दीवार प्लेट तक एक पाइप था, और वहां से एक और पाइप बाहर एक खाली दीवार प्लेट में था।
दरवाजे की हड़ताल कहती है कि इसे संचालित करने के लिए 24V@3A की आवश्यकता है, लेकिन मेरे पास 19V, 7.9A बिजली की आपूर्ति के साथ मैं प्राप्त करने में सक्षम था। दरवाजे की हड़ताल ध्रुवीकृत थी, इसलिए सुनिश्चित करें कि आपके पास ध्रुवीयता सही है!
चरण 3: सर्किट
दरवाजे की हड़ताल को नियंत्रित करने के लिए, मैंने कॉफी परकोलेटर में मिली रिले का इस्तेमाल किया। इस रिले को इसे चलाने के लिए 5V से अधिक TTL की आवश्यकता थी, इसलिए sn754410 का उपयोग TTL को 19V में अनुवाद करने के लिए किया गया, जिसने रिले को चलाया। Sn754410 वास्तव में एक क्वाड हाफ-एच ड्राइवर है, इसलिए मैं चिप का 3/4 हिस्सा बर्बाद कर रहा था, लेकिन मेरे पास कोई पावर ट्रांजिस्टर नहीं था, इसलिए मैंने यही इस्तेमाल किया।
Sn754410 चिप में दो VCC पिन हैं, एक 5V के लिए, दूसरा जो भी वोल्टेज आप बाहर आना चाहते हैं, जो मेरे लिए 19V था। यह वास्तव में बहुत अच्छी चिप है। आप इसका उपयोग मोटर्स और रिले को सीधे चलाने के लिए कर सकते हैं, क्योंकि यह 1A प्रति तिमाही चिप स्विच कर सकता है और इसमें अंतर्निहित सुरक्षा डायोड हैं। डेटाशीट पर एक नज़र डालें। अपने सर्किट में, मैंने sn754410 को सीधे अपने टेन्सी के आउटपुट पिन से जोड़ा। बटन सक्रिय-निम्न के रूप में जुड़े हुए हैं, जो माइक्रोकंट्रोलर के लिए बहुत आम है। वे सीधे टेनेसी से जुड़े हुए हैं, जिसका अर्थ है कि मुझे सॉफ्टवेयर में डिबगिंग करना है। स्थिति प्रकाश एक 1K ओम रोकनेवाला के माध्यम से Teensy से जुड़ा है; कुछ भी खास नहीं। सर्किट कैपेसिटर के बिना काम करता था, लेकिन मैंने उन्हें वैसे भी बस मामले में डाल दिया। 19V और 5V दोनों पावर रेल पर जमीन पर सुरक्षा कैप हैं। टेनेसी की प्रोग्रामिंग करते समय, 5V USB से आया था, लेकिन जब यह अपने आप चल रहा होता है, तो पावर लैपटॉप पावर ब्रिक से आती है। जब मैंने 7805 नियामक को सीधे 19V से जोड़ा, तो यह वास्तव में गर्म हो गया, इसलिए मैंने इनपुट वोल्टेज और करंट को नियामक तक सीमित करने के लिए प्रतिरोधों के एक नेटवर्क में डाल दिया। यह एक कीचड़ था, लेकिन अब सब कुछ एक प्रबंधनीय तापमान पर है।
चरण 4: इसे एक साथ तार करना
Teensy कोई समस्या नहीं थी। यह पिन के साथ आता है, जिससे आप इसे सीधे ब्रेडबोर्ड में प्लग कर सकते हैं।
मैंने लैब के टूटे हिस्से बॉक्स से लाल (+) और काले (-) केले केबल्स के साथ तारों को रंग-कोड करने का फैसला किया। उनके तारों से कुछ प्लग कटे हुए थे, इसलिए मैंने सोल्डर पॉइंट को बेनकाब करने के लिए कुछ प्लास्टिक को हटा दिया। मुझे वास्तव में पसंद है कि कैसे लैब केले के प्लग एक दूसरे में प्लग कर सकते हैं। मैंने ऐप्पल के फोन केबल का इस्तेमाल कमरे के बाहर बटन और स्टेटस लाइट को टेन्सी के अंदर से जोड़ने के लिए किया। चूंकि एक तरफ टूट गया था, मैंने उस छोर को काट दिया और चार-पिन हेडर में मिलाप किया, इसे गर्म गोंद से सील कर दिया। यह मेरे ब्रेडबोर्ड में अच्छी तरह से प्लग हो गया। जिस तरफ मैंने प्लग छोड़ा था वह राउटर से बचाए गए मॉड्यूलर जैक में चला गया। सभी चार तारों का उपयोग किया गया था (जीएनडी, स्टेटस लाइट, स्टार्ट / स्टॉप बटन, कोड बटन)। यदि आपने ध्यान नहीं दिया है, तो मुझे प्लग और कनेक्टर पसंद हैं। पावर जैक से जुड़ा पावर ब्रिक जिसे मैंने राउटर से स्वाइप किया था। लचीली ग्रैबर चीज़ के कारण, दीवार के पाइप के माध्यम से तारों को फैलाना बहुत मुश्किल नहीं था। इसने वास्तव में मेरा दिन बचा लिया।
चरण 5: कोड
मैंने अपना कोड टिप्पणी करने का प्रयास किया है। ध्यान रखें कि यह 1.0 सॉफ्टवेयर है, जिसका अर्थ है कि यह बग-मुक्त नहीं है। ## ऑपरेशन ## 1. यह संकेत देने के लिए स्टार्ट/स्टॉप बटन दबाएं कि आप कोड इनपुट शुरू करने के लिए तैयार हैं। स्थिति प्रकाश धीरे-धीरे चमकने लगता है। 2. कोड बटन पर अपने कोड में टैप करें। स्थिति प्रकाश 120 बीपीएम पर झपकाएगा, इसलिए यदि आप चाहें तो इसे अपने मेट्रोनोम के रूप में उपयोग कर सकते हैं। हालाँकि, क्रिप्टैप प्रोग्राम आनुपातिक रूप से एक दूसरे के सापेक्ष नाड़ी की लंबाई को मापेगा, इसलिए आप अपने स्वयं के टेम्पो का भी उपयोग कर सकते हैं। बस सुनिश्चित करें कि आप काफी सटीक हैं! 3. जब कोड इनपुट हो जाए, तो स्टार्ट/स्टॉप बटन को फिर से दबाएं। कार्यक्रम तब तय करेगा कि आपको अंदर जाने देना है या नहीं। चूंकि मनुष्य बहुत सटीक समय रखने वाले नहीं हैं (आपका वास्तव में नहीं है), मैंने सहिष्णुता अनुपात +/- 30% पर सेट किया है। इसका मतलब है कि बीट की लंबाई उस राशि से गलत हो सकती है, और फिर भी मस्टर पास कर सकती है। यह काफी समान धुनों के बीच अंतर बताने के लिए पर्याप्त है। डबल और ट्रिपल-लेंथ बीट्स के बीच हार्ड-टू-पहुंच ओवरलैप की एक छोटी राशि है, लेकिन कोड को तोड़ना अभी भी बहुत कठिन है। दरवाजे को अनलॉक करने के लिए, बीट्स एक दूसरे के लिए सही अनुपात में होनी चाहिए (+/- सहिष्णुता अनुपात), और बीट्स की संख्या सही होनी चाहिए। यदि कोई अमान्य पासवर्ड दर्ज किया जाता है, तो प्रोग्राम किसी भी उपयोगकर्ता इनपुट को अनदेखा करते हुए कुछ सेकंड के लिए प्रतीक्षा करता है। यह स्टेटस लाइट को भी जल्दी से फ्लैश करेगा। यदि सही कोड दर्ज किया गया है, तो स्थिति प्रकाश स्थिर रूप से चालू हो जाएगा और दरवाजा 8 सेकंड के लिए अनलॉक हो जाएगा। ## उपयोगकर्ता कॉन्फ़िगरेशन ## कुंजी को इस तरह से एक सरणी में संग्रहीत किया जाता है: # कुंजी लम्बाई 5 const int कुंजी परिभाषित करें = { 2, 1, 3, 3, 3}; // "आपको जन्मदिन मुबारक हो" सरणी बीट्स के बीच होने वाले समय की मात्रा को संग्रहीत करती है। इसलिए यदि आपके पासवर्ड में "हैप्पी बर्थडे टू यू" जैसे छह नोट हैं, तो एरे में पांच तत्व होने चाहिए। यदि आपका पासवर्ड वास्तव में लंबा है और इसमें 16 से अधिक बीट्स हैं, (वास्तव में कठिन, मैं इसकी अनुशंसा नहीं करता), तो आपको इस पंक्ति में परिभाषित संख्या बढ़ानी होगी: #define inputCodeLength 16## बाकी कोड # # मैं इंटरप्ट के बारे में उत्सुक था, इसलिए मेरे पास मेरे बटन ट्रिगर इंटरप्ट थे। इन व्यवधानों का उपयोग करना आसान बनाने के लिए, मैंने अपने इंटरप्ट हैंडलर को कुछ फ़ंक्शन पॉइंटर्स की जांच करने के लिए कहा था। यदि सूचक NULL पर सेट नहीं है, तो वह जिस फ़ंक्शन को इंगित करता है उसे लागू किया जाता है। ये cryptap.c के अंदर विभिन्न "मोड-सेटिंग" फ़ंक्शन के साथ सेट किए गए हैं। मैंने इनपुट दालों की अधिकतम संख्या निर्धारित करके बफर ओवरफ्लो से बचने का प्रयास किया। यदि दालों की अधिकतम संख्या इनपुट है, तो प्रोग्राम तुरंत पासवर्ड विश्लेषण शुरू करता है और यह तय करता है कि दरवाजे को अनलॉक करना है या नहीं। मुझे उम्मीद है कि कोड में मेरी टिप्पणियां मदद करेंगी। ## बग्स ## मैंने यूएसबी डिबगिंग कोड को हटाने की कोशिश की, लेकिन अगर मैं करता हूं तो कोड काम नहीं करेगा। इसलिए, मैंने usb_init () और विभिन्न प्रिंट () स्टेटमेंट्स को छोड़ दिया। मैं इसकी सराहना करता हूं अगर कोई उन्हें हटा सकता है और अभी भी कार्यक्रम काम कर रहा है। इससे भी बेहतर अगर वे समझा सकते हैं कि यह मेरे लिए काम क्यों नहीं करता। प्रोग्राम किए जाने के तुरंत बाद, टेन्सी कभी-कभी कोड इनपुट स्वीकार नहीं करता है। इसे हल करने के लिए, सर्किट को पावर-साइकिल करें।
सिफारिश की:
वाईफ़ाई से आरएफ - दरवाज़ा बंद: 3 कदम (चित्रों के साथ)
वाईफाई से आरएफ - डोर लॉक: अवलोकनयह निर्देश आपको अपने होम ऑटोमेशन सॉफ्टवेयर (जैसे ओपनएचएबी - फ्री होम ऑटोमेशन सॉफ्टवेयर जिसका मैं व्यक्तिगत रूप से उपयोग करता हूं) के माध्यम से अपने सामने के दरवाजे को लॉक / अनलॉक करने की क्षमता देगा। ऊपर की छवि ओपनएचएबी का एक नमूना स्क्रीनशॉट दिखाती है
चेहरे की पहचान दरवाज़ा बंद: 8 कदम
फेशियल रिकॉग्निशन डोर लॉक: बनाने में लगभग एक महीने, मैं फेशियल रिकग्निशन डोर लॉक पेश करता हूं! मैंने इसे जितना हो सके साफ-सुथरा बनाने की कोशिश की, लेकिन मैं केवल 13 साल की उम्र में ही इतना कर सकता हूं। यह फेशियल रिकग्निशन डोर लॉक रास्पबेरी पाई 4 द्वारा चलाया जाता है, जिसमें एक विशेष पोर्टेबल बैट
फ़िंगरप्रिंट स्कैनर और आरएफआईडी रीडर के साथ इलेक्ट्रिक दरवाज़ा बंद: 11 कदम (चित्रों के साथ)
फ़िंगरप्रिंट स्कैनर और आरएफआईडी रीडर के साथ इलेक्ट्रिक डोर लॉक: यह प्रोजेक्ट चाबियों के उपयोग की आवश्यकता से बचने के लिए डिज़ाइन किया गया था, अपने लक्ष्य तक पहुँचने के लिए हमने एक ऑप्टिकल फ़िंगरप्रिंट सेंसर और एक Arduino का उपयोग किया। हालांकि, ऐसे व्यक्ति हैं जिनके पास एक अस्पष्ट फिंगरप्रिंट है और सेंसर इसे पहचान नहीं पाएगा। फिर एक सोच
स्वचालित दरवाज़ा बंद: 5 कदम
स्वचालित दरवाज़ा बंद: अरे वहाँ !!यह मेरी पहली शिक्षाप्रद है! आशा है आप सभी को पसंद आएगा। इस प्रोजेक्ट में हम एक ऑटोमेटेड (पासवर्ड प्रोटेक्टेड) डोर लॉक बनाने जा रहे हैं। शास्त्रीय ताला और चाबी वस्तुतः १०० साल पुराना आविष्कार है, और जैसा कि हम जानते हैं "बदलें
का एक वायरलेस संस्करण क्या मेरा गैराज का दरवाजा खुला है या बंद है?: 7 कदम
का एक वायरलेस संस्करण… क्या मेरा गैराज का दरवाजा खुला है या बंद है?: हम एक सरल, सस्ता और विश्वसनीय संकेत प्रणाली चाहते थे जो हमें दिखाए कि हमारे गैरेज के दरवाजे खुले थे या बंद। बहुत सारे "क्या मेरे गैराज का दरवाजा खुला है" परियोजनाओं। इन परियोजनाओं का सबसे बड़ा बहुमत हार्ड वायर्ड है। मेरे मामले में भागो