घर / हीटिंग सिस्टम / Arduino uno के लिए इलेक्ट्रॉनिक लॉक। डू-इट-खुद इलेक्ट्रॉनिक लॉक। विधानसभा की तैयारी

Arduino uno के लिए इलेक्ट्रॉनिक लॉक। डू-इट-खुद इलेक्ट्रॉनिक लॉक। विधानसभा की तैयारी

आज का ट्यूटोरियल एक साधारण लॉकिंग सिस्टम बनाने के लिए Arduino के साथ RFID रीडर का उपयोग करने के तरीके के बारे में है, सामान्य शर्तों में- आरएफआईडी लॉक।

RFID (इंजी। रेडियो फ़्रीक्वेंसी आइडेंटिफिकेशन, रेडियो फ़्रीक्वेंसी आइडेंटिफिकेशन) ऑब्जेक्ट्स की स्वचालित पहचान की एक विधि है जिसमें तथाकथित ट्रांसपोंडर, या RFID टैग में संग्रहीत डेटा को रेडियो सिग्नल का उपयोग करके पढ़ा या लिखा जाता है। किसी भी आरएफआईडी प्रणाली में एक पाठक (पाठक, पाठक या पूछताछकर्ता) और एक ट्रांसपोंडर (उर्फ आरएफआईडी टैग, कभी-कभी आरएफआईडी टैग शब्द का भी उपयोग किया जाता है) होता है।

ट्यूटोरियल Arduino के साथ RFID टैग का उपयोग करेगा। डिवाइस प्रत्येक आरएफआईडी टैग के विशिष्ट पहचानकर्ता (यूआईडी) को पढ़ता है जिसे हम रीडर के बगल में रखते हैं और इसे ओएलईडी डिस्प्ले पर प्रदर्शित करते हैं। यदि टैग का UID पूर्वनिर्धारित मान के बराबर है जो Arduino मेमोरी में संग्रहीत है, तो हम डिस्प्ले पर "अनलॉक" संदेश देखेंगे। यदि विशिष्ट पहचानकर्ता पूर्वनिर्धारित मान के बराबर नहीं है, तो "अनलॉक" संदेश दिखाई नहीं देगा - नीचे फोटो देखें।

महल बंद है

महल खुला है

इस परियोजना को बनाने के लिए आवश्यक विवरण:

  • आरएफआईडी रीडर RC522
  • OLED डिस्प्ले
  • ब्रेड बोर्ड
  • तारों

अतिरिक्त जानकारिया:

  • बैटरी (पावरबैंक)

परियोजना के घटकों की कुल लागत लगभग $15 थी।

चरण 2: आरएफआईडी रीडर RC522

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

आरएफआईडी कुंजी फोब टैग में एक ही चिप मौजूद है।

प्रत्येक RFID टैग में एक विशिष्ट संख्या होती है जो इसकी पहचान करती है। यह UID है जो OLED डिस्प्ले पर दिखाया जाता है। इस यूआईडी के अपवाद के साथ, प्रत्येक टैग डेटा संग्रहीत कर सकता है। इस प्रकार का कार्ड 1,000 डेटा तक स्टोर कर सकता है। प्रभावशाली, है ना? आज इस सुविधा का उपयोग नहीं किया जाएगा। आज, केवल यूआईडी द्वारा एक विशेष कार्ड की पहचान में रुचि है। RFID रीडर और इन दो RFID कार्ड की कीमत लगभग $4 है।

चरण 3OLED प्रदर्शन

ट्यूटोरियल 0.96" 128x64 I2C OLED मॉनिटर का उपयोग करता है।

Arduino के साथ उपयोग करने के लिए यह एक बहुत अच्छा डिस्प्ले है। यह OLED डिस्प्ले है और इसका मतलब है कि इसमें बिजली की खपत कम है। इस डिस्प्ले की बिजली की खपत लगभग 10-20mA है और यह पिक्सल की संख्या पर निर्भर करता है।

डिस्प्ले का रिज़ॉल्यूशन 128 x 64 पिक्सल है और यह आकार में छोटा है। दो डिस्प्ले विकल्प हैं। एक मोनोक्रोम है, और दूसरा, जैसा कि ट्यूटोरियल में उपयोग किया गया है, दो रंग प्रदर्शित कर सकते हैं: पीला और नीला। स्क्रीन का शीर्ष केवल पीला और निचला नीला हो सकता है।

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

आपको केवल Vcc और GND को छोड़कर दो तारों को जोड़ने की आवश्यकता है। यदि आप Arduino के लिए नए हैं और अपने प्रोजेक्ट में एक सस्ते और सरल डिस्प्ले का उपयोग करना चाहते हैं, तो यहां से शुरू करें।

चरण 4: सभी भागों को एक साथ रखना

Arduino Uno बोर्ड के साथ संचार बहुत सरल है। सबसे पहले, पावर को रीडर और डिस्प्ले दोनों से कनेक्ट करें।

सावधान रहें, RFID रीडर Arduino Uno के 3.3V आउटपुट से जुड़ा होना चाहिए अन्यथा यह क्षतिग्रस्त हो जाएगा।

चूंकि डिस्प्ले 3.3V पर भी चल सकता है, हम VCC को दोनों मॉड्यूल से पॉजिटिव ब्रेडबोर्ड रेल से जोड़ते हैं। यह रेल तब Arduino Uno से 3.3V आउटपुट से जुड़ी होती है। फिर हम दोनों ग्राउंड (GND) को ब्रेडबोर्ड ग्राउंड बस से जोड़ते हैं। फिर हम ब्रेडबोर्ड की GND बस को Arduino GND से जोड़ते हैं।

OLED डिस्प्ले → Arduino

एससीएल → एनालॉग पिन 5

एसडीए → एनालॉग पिन 4

आरएफआईडी रीडर → Arduino

आरएसटी → डिजिटल पिन 9

आईआरक्यू → जुड़ा नहीं है

MISO → डिजिटल पिन 12

मोसी → डिजिटल पिन 11

एससीके → डिजिटल पिन 13

एसडीए → डिजिटल पिन 10

RFID रीडर मॉड्यूल Arduino के साथ संचार करने के लिए SPI इंटरफ़ेस का उपयोग करता है। इसलिए हम Arduino UNO हार्डवेयर SPI पिन का उपयोग करने जा रहे हैं।

RST पिन डिजिटल पिन 9 पर जाता है। IRQ पिन डिस्कनेक्ट रहता है। MISO पिन डिजिटल पिन 12 में जाता है। MOSI पिन डिजिटल पिन 11 में जाता है। SCK पिन डिजिटल पिन 13 पर जाता है, और अंत में SDA पिन डिजिटल पिन 10 में जाता है। बस।

आरएफआईडी रीडर जुड़ा हुआ है। अब हमें I2C इंटरफ़ेस का उपयोग करके OLED डिस्प्ले को Arduino से कनेक्ट करना होगा। तो डिस्प्ले पर SCL पिन एनालॉग पिन 5 में जाता है और SDA डिस्प्ले पर एनालॉग पिन 4 में जाता है। अगर हम अब प्रोजेक्ट को चालू करते हैं और रीडर के बगल में RFID कार्ड रखते हैं, तो हम देख सकते हैं कि प्रोजेक्ट ठीक काम कर रहा है।

चरण 5: परियोजना कोड

प्रोजेक्ट कोड को संकलित करने के लिए, हमें कुछ पुस्तकालयों को शामिल करने की आवश्यकता है। सबसे पहले, हमें MFRC522 आरएफआईडी पुस्तकालय की आवश्यकता है।

इसे स्थापित करने के लिए, यहां जाएं स्केच -> पुस्तकालय शामिल करें -> पुस्तकालय प्रबंधित करें(पुस्तकालयों का प्रबंधन)। MFRC522 ढूंढें और इसे स्थापित करें।

हमें प्रदर्शन के लिए Adafruit SSD1306 पुस्तकालय और Adafruit GFX पुस्तकालय की भी आवश्यकता है।

दोनों पुस्तकालयों को स्थापित करें। Adafruit SSD1306 पुस्तकालय को थोड़े संशोधन की आवश्यकता है। फोल्डर पर जाएं Arduino -> पुस्तकालय, Adafruit SSD1306 फ़ोल्डर खोलें और लाइब्रेरी संपादित करें Adafruit_SSD1306.h. पंक्ति 70 पर टिप्पणी करें और पंक्ति 69 को असम्बद्ध करें क्योंकि डिस्प्ले का रिजॉल्यूशन 128x64 है।

सबसे पहले, हम RFID टैग के मूल्य की घोषणा करते हैं जिसे Arduino को पहचानना चाहिए। यह पूर्णांकों की एक सरणी है:

इंट कोड = (69,141,8,136); // यूआईडी

फिर हम RFID रीडर को इनिशियलाइज़ करते हैं और प्रदर्शित करते हैं:

आरएफआईडी.PCD_Init (); डिस्प्ले.बेगिन (SSD1306_SWITCHCAPVCC, 0x3C);

उसके बाद लूप फंक्शन में हम हर 100ms पर रीडर पर टैग चेक करते हैं।

यदि पाठक के पास कोई टैग है, तो हम उसका यूआईडी पढ़ते हैं और उसे डिस्प्ले पर प्रिंट करते हैं। फिर हम उस टैग के यूआईडी की तुलना करते हैं जिसे हमने कोड वेरिएबल में संग्रहीत मान के साथ पढ़ा है। यदि मान समान हैं, तो हम अनलॉक संदेश प्रदर्शित करते हैं, अन्यथा हम इस संदेश को प्रदर्शित नहीं करेंगे।

अगर(मिलान) ( Serial.println("\nमैं इस कार्ड को जानता हूँ!"); PrintUnlockMessage(); )else (Serial.println("\nUnknown Card"); )

बेशक, आप इस कोड को 1 से अधिक UID मान संग्रहीत करने के लिए बदल सकते हैं ताकि प्रोजेक्ट अधिक RFID टैग को पहचान सके। यह सिर्फ एक उदाहरण है।

परियोजना का कोड:

#शामिल करना #शामिल करना #शामिल करना #शामिल करना #define OLED_RESET 4 Adafruit_SSD1306 डिस्प्ले (OLED_RESET); #परिभाषित SS_PIN 10 #परिभाषित करें RST_PIN 9 MFRC522 आरएफआईडी (SS_PIN, RST_PIN); // वर्ग MFRC522 का उदाहरण :: MIFARE_Key कुंजी; इंट कोड = (69,141,8,136); // यह संग्रहीत यूआईडी int codeRead = 0 है; स्ट्रिंग यूआईडीस्ट्रिंग; शून्य सेटअप () (Serial.begin (9600); SPI.begin (); // Init SPI बस rfid.PCD_Init (); // Init MFRC522 display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // I2C addr 0x3D के साथ आरंभ करें) (128x64 के लिए) // बफ़र साफ़ करें। display.setTextSize(2); डिस्प्ले.सेट कर्सर (10,0); डिस्प्ले.प्रिंट ("आरएफआईडी लॉक"); डिस्प्ले.डिस्प्ले (); ) शून्य लूप () (अगर(rfid.PICC_IsNewCardPresent ()) (readRFID ();) देरी (100); ) शून्य readRFID () ( rfid.PICC_ReadCardSerial (); सीरियल.प्रिंट (F(”\nPICC प्रकार:”) ); MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.println(rfid.PICC_GetTypeName(piccType)); // चेक क्लासिक MIFARE प्रकार का PICC है अगर (piccType!= MFRC522::PICC_TYPE_MIFARE_MIFARE_MIFARE_ && piccType!= MFRC522::PICC_TYPE_MIFARE_1K && piccType!= MFRC522::PICC_TYPE_MIFARE_4K) ( Serial.println(F("आपका टैग MIFARE Classic प्रकार का नहीं है।")); वापसी; ) clearUID(); Serial.println(" स्कैन किए गए PICC का UID:"); PrintDec(rfid.uid.uidByte, rfid.uid.size); uidString = String(rfid.uid.uidByte)+" "+String(rfid.uid.uidByte)+" "+ String(rfid.uid.uidByte)+ ""+String(rfid.uid.uidByte); PrintUID(); int i = 0; बूलियन मैच = सच; जबकि(i

चरण 6: अंतिम परिणाम

जैसा कि आप पाठ से देख सकते हैं - थोड़े से पैसे में आप अपनी परियोजनाओं में RFID रीडर जोड़ सकते हैं। आप इस रीडर के साथ आसानी से एक सुरक्षा प्रणाली बना सकते हैं या अधिक दिलचस्प प्रोजेक्ट बना सकते हैं, उदाहरण के लिए, ताकि USB ड्राइव से डेटा अनलॉक होने के बाद ही पढ़ा जा सके।

मैं दूसरे दिन द अमेजिंग स्पाइडर-मैन को फिर से देख रहा था और एक दृश्य में पीटर पार्कर दूर से अपने लैपटॉप से ​​दरवाजा खोलता और बंद करता है। जैसे ही मैंने यह देखा, मुझे तुरंत एहसास हुआ कि मुझे सामने के दरवाजे पर ऐसे इलेक्ट्रॉनिक लॉक की जरूरत है।

थोड़ी सी फिजूलखर्ची के बाद, मैंने एक स्मार्ट लॉक के वर्किंग मॉडल को इकट्ठा किया। इस लेख में मैं आपको बताऊंगा कि मैंने इसे कैसे एकत्र किया।

चरण 1: सामग्री की सूची





Arduino पर इलेक्ट्रॉनिक लॉक को इकट्ठा करने के लिए, आपको निम्नलिखित सामग्रियों की आवश्यकता होगी:

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

  • 5V दीवार अनुकूलक

अवयव:

  • कुंडी के लिए 6 पेंच
  • गत्ता
  • तारों

उपकरण:

  • सोल्डरिंग आयरन
  • गोंद बंदूक
  • छेद करना
  • छेद करना
  • पायलट छेद ड्रिल
  • स्टेशनरी चाकू
  • Arduino IDE वाला कंप्यूटर

चरण 2: लॉक कैसे काम करता है

विचार यह है कि मैं बिना चाबी के दरवाजा खोल या बंद कर सकता हूं, और यहां तक ​​कि उसके बिना भी। लेकिन यह सिर्फ मूल विचार है, क्योंकि आप एक विशेष दस्तक पर प्रतिक्रिया करने के लिए एक नॉक सेंसर जोड़ सकते हैं, या आप एक आवाज पहचान प्रणाली जोड़ सकते हैं!

बोल्ट से जुड़ा एक सर्वो लीवर ब्लूटूथ मॉड्यूल के माध्यम से प्राप्त कमांड का उपयोग करके बोल्ट को (0 डिग्री) बंद कर देगा और बोल्ट को खोल देगा (60 डिग्री)।

चरण 3: वायरिंग आरेख


आइए पहले सर्वो को Arduino बोर्ड से कनेक्ट करें (मैं यह नोट करना चाहता हूं कि हालांकि मैं एक Arduino नैनो बोर्ड का उपयोग कर रहा हूं, पिनआउट Uno बोर्ड पर बिल्कुल समान है)।

  • सर्वो का भूरा तार जमीन है, हम इसे Arduino पर जमीन से जोड़ते हैं
  • लाल तार सकारात्मक है, हम इसे Arduino पर 5V कनेक्टर से जोड़ते हैं
  • नारंगी तार - सर्वो स्रोत आउटपुट, इसे Arduino पर पिन 9 से कनेक्ट करें

मैं आपको सलाह देता हूं कि असेंबली के साथ आगे बढ़ने से पहले सर्वो का परीक्षण करें। ऐसा करने के लिए, Arduino IDE प्रोग्राम में, उदाहरणों में स्वीप का चयन करें। यह सुनिश्चित करने के बाद कि सर्वो काम कर रहा है, हम ब्लूटूथ मॉड्यूल को कनेक्ट कर सकते हैं। आपको ब्लूटूथ मॉड्यूल के rx पिन को Arduino के tx पिन से और मॉड्यूल के tx पिन को Arduino के rx पिन से कनेक्ट करना होगा। लेकिन अभी मत करो! एक बार जब इन कनेक्शनों को मिला दिया जाता है, तो आप Arduino पर कोई भी कोड अपलोड नहीं कर पाएंगे, इसलिए पहले अपने सभी कोड अपलोड करें और उसके बाद ही कनेक्शन को मिलाएं।

यहाँ मॉड्यूल और माइक्रोकंट्रोलर का कनेक्शन आरेख है:

  • आरएक्स मॉड्यूल - टीएक्स अरुडिनो बोर्ड
  • टीएक्स मॉड्यूल - आरएक्स बोर्ड
  • मॉड्यूल का Vcc (पॉजिटिव टर्मिनल) - Arduino बोर्ड का 3.3v
  • जमीन से जमीन का जुड़ाव (जमीन से जमीन तक)

यदि आपको स्पष्टीकरण स्पष्ट नहीं है, तो दिए गए वायरिंग आरेख का पालन करें।

चरण 4: परीक्षण

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

चरण 5: विद्युत घटकों के लिए संलग्नक



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

मामले के पक्षों के आयाम:

  • निचला - 7.5x4 सेमी
  • ढक्कन - 7.5x4 सेमी
  • बाईं ओर की दीवार - 7.5x4 सेमी
  • दाहिनी ओर की दीवार - 7.5x4 सेमी
  • सामने की दीवार - 4x4 सेमी (पावर कॉर्ड के लिए एक स्लॉट के साथ)
  • पिछली दीवार - 4x4 सेमी

चरण 6: आवेदन

नियंत्रक को नियंत्रित करने के लिए, आपको अंतर्निहित ब्लूटूथ के साथ एक Android या Windows गैजेट की आवश्यकता होगी। मुझे सेब उपकरणों पर एप्लिकेशन का परीक्षण करने का अवसर नहीं मिला, शायद कुछ ड्राइवरों की आवश्यकता होगी।

मुझे यकीन है कि आप में से कुछ के पास इसे देखने का अवसर है। एंड्रॉइड के लिए, ब्लूटूथ टर्मिनल ऐप डाउनलोड करें, विंडोज के लिए टेराटर्म डाउनलोड करें। फिर आपको मॉड्यूल को अपने स्मार्टफोन से कनेक्ट करने की आवश्यकता है, नाम linvor होना चाहिए, पासवर्ड 0000 या 1234 होना चाहिए। युग्मन स्थापित होने के बाद, इंस्टॉल किए गए एप्लिकेशन को खोलें, विकल्प दर्ज करें और "कनेक्शन स्थापित करें (असुरक्षित)" चुनें। आपका स्मार्टफोन अब Arduino सीरियल मॉनिटर है, जिसका अर्थ है कि आप नियंत्रक के साथ संवाद कर सकते हैं।

यदि आप 0 दर्ज करते हैं, तो दरवाजा बंद हो जाएगा और स्मार्टफोन स्क्रीन "दरवाजा बंद" संदेश प्रदर्शित करेगा।
यदि आप 1 दर्ज करते हैं, तो आप दरवाजा खुला देखेंगे और स्क्रीन पर "दरवाजा खुला" संदेश दिखाई देगा।
विंडोज़ पर, प्रक्रिया समान है, सिवाय इसके कि आपको टेराटर्म एप्लिकेशन इंस्टॉल करने की आवश्यकता है।

चरण 7: बोल्ट को माउंट करें


सबसे पहले आपको सर्वो को कुंडी से जोड़ने की आवश्यकता है। ऐसा करने के लिए, ड्राइव हाउसिंग के बढ़ते छेद से प्लग काट लें। यदि हम एक सर्वो लगाते हैं, तो बढ़ते छेद को कुंडी के साथ फ्लश किया जाना चाहिए। फिर आपको सर्वो लीवर को कुंडी के स्लॉट में रखना होगा, जहां कुंडी का हैंडल था। जांचें कि मामले में ताला कैसे चलता है। यदि सब कुछ ठीक है, तो सर्वो लीवर को गोंद के साथ ठीक करें।

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

चरण 8: पोषण


डिवाइस को पूरा करने के लिए, आपको Arduino से कनेक्ट करने के लिए एक बिजली की आपूर्ति, एक कॉर्ड और एक मिनी यूएसबी प्लग की आवश्यकता होगी।
बिजली की आपूर्ति के ग्राउंड टर्मिनल को मिनी यूएसबी पोर्ट के ग्राउंड टर्मिनल से कनेक्ट करें, लाल तार को मिनी यूएसबी पोर्ट के लाल तार से कनेक्ट करें, फिर तार को लॉक से डोर हिंज तक और वहां से सॉकेट तक चलाएं। .

चरण 9: कोड

#सर्वो myservo शामिल करें; इंट पॉज़ = 0; इंट स्टेट; इंट फ्लैग = 0; शून्य सेटअप() ( myservo.attach(9); Serial.begin(9600); myservo.write(60); देरी (1000); ) शून्य लूप () (अगर (सीरियल.उपलब्ध ()> 0) ( राज्य = Serial.read (); ध्वज = 0; ) // यदि राज्य "0" है तो डीसी मोटर बंद हो जाएगी यदि (राज्य == "0") ( myservo.write(8); देरी (1000); सीरियल। println ("दरवाजा बंद"); ) और अगर (राज्य == "1") ( myservo.write (55); देरी (1000); Serial.println ("दरवाजा खुला"); ))

चरण 10: समाप्त Arduino Lock

अपने रिमोट कंट्रोल लॉक का आनंद लें, और अपने दोस्तों को कमरे में "गलती से" लॉक करना न भूलें।

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

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

विचार

दरवाजे पर, दरवाजे के बाहर, एक कीपैड होना चाहिए जिस पर पासवर्ड दर्ज किया गया हो, और बाकी संरचना अंदर की तरफ तय हो। दरवाजे के पूर्ण समापन को नियंत्रित करने के लिए रीड स्विच का उपयोग किया जाता है। कार्यालय छोड़कर, एक व्यक्ति कीबोर्ड पर "*" दबाता है और दरवाजे के बंद होने की प्रतीक्षा किए बिना, दरवाजा करीब अपने व्यवसाय के बारे में जाता है, जब दरवाजा पूरी तरह से बंद हो जाता है, रीड स्विच बंद हो जाएगा और ताला बंद हो जाएगा। 4 अंकों का पासवर्ड डालकर और "#" दबाकर दरवाजा खोला जाता है।

सामान

अरुडिनो यूएनओ = $18
Arduino प्रोटोशील्ड + ब्रेडबोर्ड = $6
L293D = $1
ब्रेडबोर्ड के लिए तारों का बंडल 30 पीसी = $4
2 RJ45 सॉकेट = $4
2 आरजे45 प्लग = $0.5
सेंट्रल लॉक एक्ट्यूएटर = 250 रूबल।
रीड स्विच = पुरानी खिड़की से फटा हुआ।
एस्पाग्नोलेट धातु विशाल आकार = मुक्त
1.5 मिमी लोहे से बने पुराने डी-लिंक हब से केस = मुक्त
एक ही डी-लिंक हब से 12 और 5 वी के लिए बिजली की आपूर्ति = भी मुफ्त
यह सब सामान मामले में संलग्न करने के लिए शिकंजा और नट का एक गुच्छा = 100 रूबल।
सुरक्षा अलार्म सिस्टम से नियंत्रण कक्ष = नि: शुल्क।

कुल:$ 33.5 और 350 रूबल।

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

विधानसभा की तैयारी

मैं एक्चुएटर डिजाइन के एक प्रमुख तत्व की खरीद के बारे में कुछ शब्द कहना चाहूंगा। एक स्थानीय ऑटो शॉप पर, मुझे दो प्रकार के एक्चुएटर की पेशकश की गई: "दो तारों के साथ और पांच के साथ।" सेल्सवुमन के अनुसार, वे बिल्कुल एक जैसे थे और तारों की संख्या में अंतर का कोई मतलब नहीं था। हालाँकि, जैसा कि बाद में पता चला, ऐसा नहीं है! मैंने दो तारों वाला एक उपकरण चुना, यह 12v द्वारा संचालित था। लीवर की गति को नियंत्रित करने के लिए फाइव-वायर डिज़ाइन में लिमिट स्विच की सुविधा है। मुझे एहसास हुआ कि मैंने गलत तभी खरीदा जब मैंने इसे अलग कर लिया और इसे बदलने में बहुत देर हो चुकी थी। लीवर का स्ट्रोक कुंडी को ठीक से धकेलने के लिए बहुत छोटा निकला, इसलिए, इसे थोड़ा संशोधित करना आवश्यक था, अर्थात्, दो रबर वाशर को हटाने के लिए एक्ट्यूएटर लीवर के स्ट्रोक को छोटा करना। ऐसा करने के लिए, शरीर को एक साधारण हैकसॉ के साथ देखा जाना था, क्योंकि दूसरा वॉशर अंदर था। हमेशा की तरह हमारे लिए नीले डक्ट टेप ने बाद में इसे वापस असेंबल करने में हमारी मदद की।
एक्ट्यूएटर मोटर को नियंत्रित करने के लिए, L293D मोटर ड्राइवर का उपयोग किया गया था, जो 1200 mA तक के पीक लोड का सामना कर सकता है, हमारे मामले में, जब एक्चुएटर मोटर को रोका गया, तो पीक लोड बढ़कर केवल 600 mA हो गया।
सुरक्षा अलार्म से नियंत्रण कक्ष से कीबोर्ड, स्पीकर और दो एलईडी से संपर्क हटा दिए गए थे। रिमोट कंट्रोल और मुख्य डिवाइस को एक मुड़ जोड़ी और RJ45 कनेक्टर का उपयोग करके जोड़ा जाना चाहिए था

प्रोग्रामिंग।

इसलिए, जैसा कि मुझे अब तक Arduino प्रोग्रामिंग के साथ कोई अनुभव नहीं हुआ है। मैंने arduino.cc वेबसाइट से अन्य लोगों के विकास और लेखों का लाभ उठाया। कौन परवाह करता है, इस बदसूरत कोड को देख सकता है :)

फोटो और वीडियो



अरुडिनो और एक्चुएटर


बिजली की आपूर्ति


कीबोर्ड


एस्पाग्नोलेट (एक धातु सुई के साथ एक्चुएटर से जुड़ा हुआ है और जिस पर सुंदरता के लिए गर्मी सिकुड़ती है)

डिवाइस संचालन प्रक्रिया का वीडियो:

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

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

विचार

दरवाजे पर, दरवाजे के बाहर, एक कीपैड होना चाहिए जिस पर पासवर्ड दर्ज किया गया हो, और बाकी संरचना अंदर की तरफ तय हो। दरवाजे के पूर्ण समापन को नियंत्रित करने के लिए रीड स्विच का उपयोग किया जाता है। कार्यालय छोड़कर, एक व्यक्ति कीबोर्ड पर "*" दबाता है और दरवाजे के बंद होने की प्रतीक्षा किए बिना, दरवाजा करीब अपने व्यवसाय के बारे में जाता है, जब दरवाजा पूरी तरह से बंद हो जाता है, रीड स्विच बंद हो जाएगा और ताला बंद हो जाएगा। 4 अंकों का पासवर्ड डालकर और "#" दबाकर दरवाजा खोला जाता है।

सामान

अरुडिनो यूएनओ = $18
Arduino प्रोटोशील्ड + ब्रेडबोर्ड = $6
L293D = $1
ब्रेडबोर्ड के लिए तारों का बंडल 30 पीसी = $4
2 RJ45 सॉकेट = $4
2 आरजे45 प्लग = $0.5
गति देनेवाला सेंट्रल लॉक= 250 रूबल।
रीड स्विच = पुरानी खिड़की से फटा हुआ।
धातु कुंडी विशाल आकार= मुक्त
1.5 मिमी लोहे से बने पुराने डी-लिंक हब से केस = मुक्त
एक ही डी-लिंक हब से 12 और 5 वी के लिए बिजली की आपूर्ति = भी मुफ्त
यह सब सामान मामले में संलग्न करने के लिए शिकंजा और नट का एक गुच्छा = 100 रूबल।
से नियंत्रण कक्ष बर्गलर अलार्म= मुक्त।

कुल:$ 33.5 और 350 रूबल।

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

विधानसभा की तैयारी

मैं एक्चुएटर डिजाइन के एक प्रमुख तत्व की खरीद के बारे में कुछ शब्द कहना चाहूंगा। एक स्थानीय ऑटो शॉप पर, मुझे दो प्रकार के एक्चुएटर की पेशकश की गई: "दो तारों के साथ और पांच के साथ।" सेल्सवुमन के अनुसार, वे बिल्कुल एक जैसे थे और तारों की संख्या में अंतर का कोई मतलब नहीं था। हालाँकि, जैसा कि बाद में पता चला, ऐसा नहीं है! मैंने दो तारों वाला एक उपकरण चुना, यह 12v द्वारा संचालित था। लीवर की गति को नियंत्रित करने के लिए फाइव-वायर डिज़ाइन में लिमिट स्विच की सुविधा है। मुझे एहसास हुआ कि मैंने गलत तभी खरीदा जब मैंने इसे अलग कर लिया और इसे बदलने में बहुत देर हो चुकी थी। लीवर का स्ट्रोक कुंडी को ठीक से धकेलने के लिए बहुत छोटा निकला, इसलिए, इसे थोड़ा संशोधित करना आवश्यक था, अर्थात्, दो रबर वाशर को हटाने के लिए एक्ट्यूएटर लीवर के स्ट्रोक को छोटा करना। ऐसा करने के लिए, शरीर को एक साधारण हैकसॉ के साथ देखा जाना था, क्योंकि दूसरा वॉशर अंदर था। हमेशा की तरह हमारे लिए नीले डक्ट टेप ने बाद में इसे वापस असेंबल करने में हमारी मदद की।
एक्ट्यूएटर मोटर को नियंत्रित करने के लिए, L293D मोटर ड्राइवर का उपयोग किया गया था, जो 1200 mA तक के पीक लोड का सामना कर सकता है, हमारे मामले में, जब एक्चुएटर मोटर को रोका गया, तो पीक लोड बढ़कर केवल 600 mA हो गया।
सुरक्षा अलार्म से नियंत्रण कक्ष से कीबोर्ड, स्पीकर और दो एलईडी से संपर्क हटा दिए गए थे। रिमोट कंट्रोल और मुख्य डिवाइस को एक मुड़ जोड़ी और RJ45 कनेक्टर का उपयोग करके जोड़ा जाना चाहिए था

प्रोग्रामिंग।

इसलिए, जैसा कि मुझे अब तक Arduino प्रोग्रामिंग के साथ कोई अनुभव नहीं हुआ है। मैंने arduino.cc वेबसाइट से अन्य लोगों के विकास और लेखों का लाभ उठाया। कौन परवाह करता है, इस बदसूरत कोड को देख सकता है :)

फोटो और वीडियो



अरुडिनो और एक्चुएटर


बिजली की आपूर्ति


कीबोर्ड


एस्पाग्नोलेट (एक धातु सुई के साथ एक्चुएटर से जुड़ा हुआ है और जिस पर सुंदरता के लिए गर्मी सिकुड़ती है)

डिवाइस संचालन प्रक्रिया का वीडियो:

इस लेख में मैं आपको दिखाऊंगा कि कैसे arduino से संयोजन लॉक बनाया जाता है। ऐसा करने के लिए, हमें लाल और हरे रंग की एलईडी, एक बजर, एक आर्डिनो नैनो, एक I2C कनवर्टर के साथ एक एलसीडी डिस्प्ले, एक सर्वो और एक 4x4 मैट्रिक्स कीबोर्ड की आवश्यकता होती है। चालू होने पर, डिस्प्ले "कोड दर्ज करें" लिखेगा,

लाल एलईडी चालू हो जाएगी,

और हरा बंद हो जाता है, सर्वो 0 ° पर सेट हो जाएगा। जब नंबर दर्ज किए जाते हैं, तो * डिस्प्ले पर रोशनी होगी।

यदि कोड गलत दर्ज किया गया है, तो प्रदर्शन "कोड दर्ज करें" दिखाएगा। यदि कोड सही है, तो एक बीप बजेगी, सर्वो 180° घूमेगा, डिस्प्ले "ओपन" पढ़ेगा।

हरी एलईडी चालू हो जाएगी,

और लाल बंद हो जाएगा। 3 सेकंड के बाद, सर्वो वापस आ जाएगा शुरुआत का स्थान, लाल एलईडी चालू हो जाएगी और हरी एलईडी बंद हो जाएगी, डिस्प्ले "बंद" लिखेगा,

तब प्रदर्शन "कोड दर्ज करें" लिखेगा। अब योजना के बारे में। सबसे पहले, हम आर्डिनो को तारों से ब्रेडबोर्ड (पावर कॉन्टैक्ट्स) से जोड़ते हैं।

फिर हम मैट्रिक्स कीबोर्ड को D9 - D2 संपर्कों से जोड़ते हैं।

फिर सर्वो। हम इसे पिन 10 से जोड़ते हैं।

11 पिन करने के लिए लाल एलईडी।

हरा - पिन करने के लिए 12.

बजर - पिन करने के लिए 13.

अब स्केच अपलोड करें।

#शामिल करना #शामिल करना #शामिल करना #शामिल करना iarduino_KB केबी (9, 8, 7, 6, 5, 4, 3, 2); लिक्विड क्रिस्टल_आई2सी एलसीडी (0x27, 16, 2); सर्वो सर्वो इंट पास = (3, 6, 1, 8); इंट इन; इंट आर = 11; इंट जी = 12; शून्य सेटअप () ( KB.begin (KB1); पिनमोड (r, OUTPUT); पिनमोड (g, OUTPUT); LCD.init (); LCD.बैकलाइट (); digitalWrite (g, LOW); digitalWrite (r, HIGH) ); सर्वो.अटैच(10); सर्वो.लिखें(0);lcd.setCursor(0, 0); ) शून्य लूप () (lcd.clear(); LCD.print("कोड दर्ज करें।"); जबकि ( !KB.check(KEY_DOWN)) (देरी(1); ) in = KB.getNum; LCD.clear(); LCD.setCursor(0, 0); LCD.print("*"); जबकि (!KB. check(KEY_DOWN)) (देरी(1); ) in = KB.getNum; LCD.print("*"); जबकि (!KB.check(KEY_DOWN)) (देरी(1); ) in = KB.getNum; LCD.print("*"); जबकि (!KB.check(KEY_DOWN)) (देरी(1); ) in = KB.getNum; LCD.print("*"); if (in == पास) (यदि (इन == पास) (अगर (इन == पास) (अगर (इन == पास) (एलसीडी.क्लियर (); LCD.setCursor (0, 0); LCD.प्रिंट ("ओपन।"); टोन ( 13, 400, 750); सर्वो.राइट (180); digitalWrite (r, LOW); digitalWrite (g, HIGH); देरी (3000); LCD.clear (); LCD.setCursor (0, 0); LCD. प्रिंट ("बंद करें।"); टोन (13, 300, 700); सर्वो। लिखें (0); digitalWrite (g, LOW); digitalWrite (r, HIGH); डेला वाई (1000); ) ) ) )

बस इतना ही। कोड लॉक का आनंद लें!

रेडियो तत्वों की सूची

पद प्रकार मज़हब मात्रा टिप्पणीअंकमेरा नोटपैड
ई 1 अरुडिनो बोर्ड

अरुडिनो नैनो 3.0

1 5वी नोटपैड के लिए
ई8, ई9 अवरोध

220 ओम

2 एसएमडी नोटपैड के लिए
ई6 प्रकाश उत्सर्जक डायोड

AL102G

1 लाल नोटपैड के लिए
ई7 प्रकाश उत्सर्जक डायोड

AL307G

1 हरा नोटपैड के लिए
E3 एलसीडी प्रदर्शनI2C इंटरफ़ेस के साथ1 हरी बैकलाइट नोटपैड के लिए
ई5 इमदादीSG901 180 डिग्री नोटपैड के लिए
E2 बजर5वी1 बू नोटपैड के लिए
ई 4 कीबोर्ड4x41 आव्यूह नोटपैड के लिए
नहीं ब्रेड बोर्ड640 अंक1 बिना सोल्डरिंग के