हमारे दैनिक जीवन में सुरक्षा एक प्रमुख चिंता का विषय है, और डिजिटल ताले इन सुरक्षा प्रणालियों का एक महत्वपूर्ण हिस्सा बन गए हैं। हमारी जगह को सुरक्षित करने के लिए कई प्रकार की तकनीकें उपलब्ध हैं, जैसे पीर आधारित सुरक्षा प्रणाली, आरएफआईडी आधारित सुरक्षा प्रणाली, लेजर सुरक्षा अलार्म, बायो-मैट्रिक्स सिस्टम आदि। अब भी, डिजिटल लॉक हैं जो हमारे स्मार्ट फोन का उपयोग करके संचालित किए जा सकते हैं, इसका मतलब नहीं है अलग-अलग चाबियों को रखने की अधिक आवश्यकता है, बस एक स्मार्ट फोन सभी तालों को संचालित कर सकता है, यह अवधारणा इंटरनेट ऑफ थिंग्स पर आधारित है।
इस परियोजना में, हमने 8051 माइक्रोकंट्रोलर का उपयोग करते हुए एक सरल इलेक्ट्रॉनिक कोड लॉक समझाया है, जिसे केवल एक पूर्वनिर्धारित कोड द्वारा अनलॉक किया जा सकता है, यदि हम गलत कोड दर्ज करते हैं, तो सिस्टम बजर द्वारा साइरन अलर्ट करता है। हमने पहले से ही Arduino का उपयोग करके एक डिजिटल लॉक बनाया है।
कार्य स्पष्टीकरण:
इस प्रणाली में मुख्य रूप से AT89S52 माइक्रोकंट्रोलर, कीपैड मॉड्यूल, बजर और एलसीडी शामिल हैं। At89s52 माइक्रोकंट्रोलर पासवर्ड की कीपैड मॉड्यूल लेने, पासवर्ड पूर्वनिर्धारित पासवर्ड की तुलना करने, बजर ड्राइविंग और एलसीडी डिस्प्ले को स्थिति भेजने जैसी पूरी प्रक्रियाओं को नियंत्रित करता है। कीपैड का उपयोग माइक्रोकंट्रोलर में पासवर्ड डालने के लिए किया जाता है। बजर का उपयोग गलत पासवर्ड के संकेत के लिए किया जाता है और एलसीडी का उपयोग उस पर स्थिति या संदेश प्रदर्शित करने के लिए किया जाता है। बजर में NPN ट्रांजिस्टर का उपयोग करके चालक को इनबिल्ट किया गया है।
अवयव:
- 8051 माइक्रोकंट्रोलर (AT89S52)
- 4X4 कीपैड मॉड्यूल
- बजर
- 16x2 एलसीडी
- रेसिस्टर (1k, 10k)
- पुलअप अवरोधक (10K)
- संधारित्र (10uf)
- लाल ने नेतृत्व किया
- ब्रेड बोर्ड
- आईसी 7805
- 11.0592 मेगाहर्ट्ज क्रिस्टल
- बिजली की आपूर्ति
- तारों को जोड़ना
मल्टीप्लेक्सिंग तकनीक का उपयोग करके 4X4 कीपैड मैट्रिक्स से इनपुट लेना:
इस सर्किट में हमने सिस्टम में पासवर्ड दर्ज करने के लिए 8051 माइक्रोकंट्रोलर को कीपैड इंटरफ़ेस करने के लिए मल्टीप्लेक्सिंग तकनीक का उपयोग किया है। यहां हम 4x4 कीपैड का उपयोग कर रहे हैं जिसमें 16 चाबियाँ हैं। अगर हम 16 चाबियों का उपयोग करना चाहते हैं तो हमें 89 पिन 52 के कनेक्शन के लिए 16 पिन की आवश्यकता होती है, लेकिन मल्टीप्लेक्सिंग तकनीक में हमें 16 चाबियों को रखने के लिए केवल 8 पिन का उपयोग करने की आवश्यकता होती है। ताकि यह कीपैड मॉड्यूल को इंटरफ़ेस करने का एक स्मार्ट तरीका है।
मल्टीप्लैक्सिंग तकनीक इनपुट या पासवर्ड प्रदान करने के लिए माइक्रोकंट्रोलर के साथ उपयोग किए जाने वाले पिनों की संख्या को कम करने का एक बहुत ही कुशल तरीका है। मूल रूप से इस तकनीक का उपयोग दो तरीकों से किया जाता है - एक पंक्ति स्कैनिंग और अन्य एक स्तंभ स्कैनिंग है ।
यहाँ हम पंक्ति स्कैनिंग की व्याख्या करने जा रहे हैं:
पहले हमें कीपैड मॉड्यूल के लिए 8 पिन को परिभाषित करना होगा। जिसमें पहले 4 पिन स्तंभ हैं और अंतिम 4 पिन पंक्तियाँ हैं।
पंक्ति स्कैनिंग के लिए हमें कॉलम पिन को डेटा या सिग्नल देना होगा और उस डेटा या सिग्नल को पिन पिन से पढ़ना होगा। अब मान लें कि हम स्तंभ पिन करने के लिए नीचे डेटा देते हैं:
सी 1 = 0;
सी 2 = 1;
सी 3 = 1;
सी 4 = 1;
और हम इस डेटा को पंक्ति पिंस पर पढ़ते हैं (डिफ़ॉल्ट रूप से पिन पिन पुल-अप रेसिस्टर के कारण उच्च होते हैं)।
यदि उपयोगकर्ता कुंजी नंबर '1' दबाता है, तो R1 बदल जाता है, तो LOW का अर्थ है R1 = 0; और नियंत्रक समझता है कि उपयोगकर्ता ने कुंजी '1' दबाया है। और यह एलसीडी पर '1' प्रिंट करेगा और सरणी में '1' स्टोर करेगा। तो R1 पर यह हाई टू लो चेंज, मुख्य बात है जिसके द्वारा नियंत्रक समझता है कि कॉलम 1 के अनुरूप कुछ कुंजी को दबाया गया है।
अब यदि उपयोगकर्ता कुंजी संख्या '2' दबाता है तो R1 उच्च पर C1 और R1 दोनों उच्च पर पहले से ही बना रहता है। इसलिए कोई बदलाव नहीं होगा, इसका मतलब है कि माइक्रोकंट्रोलर समझता है कि कॉलम एक में कुछ भी दबाया नहीं गया है। और इसी तरह यह प्रिंसिपल अन्य सभी पिनों के लिए जाता है। तो इस स्टेप कंट्रोलर में केवल कॉलम एक: '1', '4', '7' और '*' में कुंजियों का इंतजार होता है।
अब यदि हम अन्य कॉलमों (जैसे कि कोलो 2) में कुंजियों को ट्रैक करना चाहते हैं, तो हमें कॉलम पिन पर डेटा बदलने की आवश्यकता है:
सी 1 = 1;
सी 2 = 0;
सी 3 = 1;
सी 4 = 1;
इस बार नियंत्रक केवल कॉलम दो में कुंजियों की प्रतीक्षा करता है: '2', '5', '8'and' 0 ', क्योंकि परिवर्तन (उच्च से कम) केवल तब होता है जब स्तंभ दो कुंजियों को दबाया जाएगा। यदि हम col 1, 3 या 4 में कोई भी कुंजी दबाते हैं तो कोई भी परिवर्तन नहीं होगा, क्योंकि ये कॉलम High पर हैं, और Rows पहले से ही High पर हैं।
तो इसी तरह से कॉलम C3 और C4 में कुंजियों को एक बार में 0 बनाकर भी ट्रैक किया जा सकता है। यहां विस्तृत विवरण देखें: 8051 के साथ कीपैड इंटरफेसिंग। तर्क को ठीक से समझने के लिए नीचे दिए गए कोड सेक्शन के माध्यम से भी जाएं।
सर्किट स्पष्टीकरण:
8051 का उपयोग कर इस डिजिटल लॉक के लिए सर्किट आरेख नीचे दिखाया गया है और आसानी से समझा जा सकता है। कीपैड मॉड्यूल के कॉलम पिन पिन से सीधे जुड़े हुए हैं P0.0, P0.1, P0.2, P0.3 और रो पिन P0.4, P0.5, P0.6, 89s52 माइक्रोकंट्रोलर के पोर्ट 0 से जुड़े हुए हैं। । एक 16x2 एलसीडी 4-बिट मोड में 89s52 माइक्रोकंट्रोलर के साथ जुड़ा हुआ है। नियंत्रण पिन RS, RW और En सीधे P1.0, GND और P1.2 से जुड़े हैं। और डेटा पिन D4-D7 पिन P1.4, P1.5, P1.6 और 89152 के P1.7 से जुड़ा है। और एक बजर एक प्रतिरोधक के माध्यम से पिन P2.6 पर जुड़ा हुआ है।
कार्यक्रम की व्याख्या:
हमने प्रोग्राम में एक पूर्वनिर्धारित पासवर्ड का उपयोग किया है, इस पासवर्ड को उपयोगकर्ता द्वारा नीचे दिए गए कोड में परिभाषित किया जा सकता है। जब उपयोगकर्ता सिस्टम में एक पासवर्ड दर्ज करता है, तो सिस्टम प्रोग्राम के कोड में संग्रहीत या पूर्वनिर्धारित पासवर्ड के साथ उपयोगकर्ता द्वारा दर्ज पासवर्ड की तुलना करता है। यदि एक मैच होता है तो एलसीडी "एक्सेस ग्रेटेड" दिखाएगा और यदि पासवर्ड मेल नहीं खाता है तो एलसीडी "एक्सेस अस्वीकृत" दिखाएगा और बजर लगातार कुछ समय के लिए बीप करेगा। यहाँ हमने string.h लाइब्रेरी का इस्तेमाल किया है। इस लाइब्रेरी का उपयोग करके हम “strncmp” फ़ंक्शन का उपयोग करके दो तारों की तुलना या मिलान कर सकते हैं।
कार्यक्रम में, सबसे पहले हम हेडर फ़ाइल को शामिल करते हैं और कीपैड और एलसीडी के लिए चर और इनपुट और आउटपुट पिन को परिभाषित करते हैं।
#शामिल
1 सेकंड की देरी पैदा करने के लिए फंक्शन बनाया गया है, साथ ही कुछ एलसीडी फंक्शंस जैसे एलसीडी इनिशियलाइज़ेशन, स्ट्रिंग प्रिंट करना, कमांड्स के लिए आदि। आप उन्हें कोड में आसानी से पा सकते हैं। 8051 और इसके कार्यों के साथ एलसीडी इंटरफेसिंग के लिए इस लेख की जाँच करें।
इसके बाद, मुख्य कार्यक्रम में हमने एलसीडी को इनिशियलाइज़ किया है और फिर हम कीपैड से इनपुट पढ़ते हैं और फंक्शन में कीपैड () फंक्शन और स्टोर्स कीज़ को स्टोर करते हैं और फिर इसे स्ट्राइकैंप का इस्तेमाल करते हुए पूर्वनिर्धारित एरे डेटा से तुलना करते हैं।
शून्य मुख्य () {बजर = 1; lcd_init (); lcdstring ("इलेक्ट्रॉनिक कोड"); lcdcmd (0xc0); lcdstring ("लॉक सिस्टम"); देरी (400); lcdcmd (1); lcdstring ("सर्किट डाइजेस्ट"); देरी (400); जबकि (1) {i = 0; कीपैड (); अगर (strncmp (पास, "4201", 4) == 0)
यदि दर्ज किया गया पासवर्ड मेल खाता है, तो स्वीकार करें () फ़ंक्शन को कहा जाता है:
शून्य स्वीकार () {lcdcmd (1); lcdstring ("वेलकम"); lcdcmd (192); lcdstring ("पासवर्ड स्वीकार करें"); देरी (200); }
और अगर पासवर्ड गलत है तो गलत () फ़ंक्शन कहा जाता है:
शून्य गलत () {बजर = 0; lcdcmd (1); lcdstring ("गलत पासकी"); lcdcmd (192); lcdstring ("पीएलजेड ट्राई अगेन"); देरी (200); बजर = 1; }
कोड में नीचे कीपैड फ़ंक्शन की जांच करें जो इनपुट फॉर्म कीपैड मॉड्यूल को पढ़ता है।