جدول المحتويات:

Cryptap: قفل باب قائم على الإيقاع: 5 خطوات
Cryptap: قفل باب قائم على الإيقاع: 5 خطوات

فيديو: Cryptap: قفل باب قائم على الإيقاع: 5 خطوات

فيديو: Cryptap: قفل باب قائم على الإيقاع: 5 خطوات
فيديو: Ритмический комбо-замок 2024, ديسمبر
Anonim
Cryptap: قفل باب قائم على الإيقاع
Cryptap: قفل باب قائم على الإيقاع
Cryptap: قفل باب قائم على الإيقاع
Cryptap: قفل باب قائم على الإيقاع
Cryptap: قفل باب قائم على الإيقاع
Cryptap: قفل باب قائم على الإيقاع

مستوحاة من العديد من آليات فتح الأبواب التي رأيتها على hackaday.com ، قررت إنشاء واحدة بنفسي. هذا واحد لديه واجهة من زرين ؛ واحد لبدء وإنهاء إرسال كلمة المرور ، وواحد للاستفادة فعليًا من الإيقاع الذي يمثل كلمة مرورك. يوجد أيضًا ضوء الحالة. لقد تمكنت من بناء هذا بسعر رخيص حقًا باستخدام أجزاء كنت قد نفتها خلال الأشهر القليلة الماضية. الأشياء الوحيدة التي كان عليّ دفع ثمنها هي المتحكم الدقيق نفسه ، والذي كان 21 دولارًا (https://www.pjrc.com/teensy/) ، وبعض الأسلاك المعلقة بالصور التي كان لدي من قبل.

من الممتع جدًا النقر فوق سمة حرب النجوم أو شيء ما لدخول غرفتي. الآن ، لا داعي للقلق بشأن قفل نفسي خارج غرفتي مرة أخرى! بالإضافة إلى ذلك ، إنه شعور جيد ومبتكر.

الخطوة 1: الأجزاء والأدوات

قطع غيار وأدوات
قطع غيار وأدوات
قطع غيار وأدوات
قطع غيار وأدوات

اخترت Teensy لأن هذا هو أول متحكم لي ، وليس لدي مبرمج بعد. لا يتطلب Teensy سوى كابل A-miniB USB وبرنامج مجاني للتثبيت ، متوافق مع Mac / Windows / Linux. أيضًا ، من السهل حقًا تحميل الملف السداسي ؛ فقط قم بالتجميع ، واضغط على الزر الموجود على Teensy.

كانت تكلفة هذا المشروع بالنسبة لي 21 دولارًا ، بالإضافة إلى الأسلاك المعلقة بالصور. جاءت أجزاء من الشارع من دورق قهوة (مرحل ، LED ، مكثف) وجهاز توجيه (LED ، مقبس معياري ، مقبس طاقة ، مكثفات). كانت العينات المجانية عبارة عن منظم 7805 5 فولت وأزرار ومفتاح. لقد عثرت أيضًا على الكثير من الأشياء في صندوق "الأجزاء المكسورة" في معمل EE الخاص بي: موصلات وكابلات الموز ، والأسلاك ، وبرنامج التشغيل sn754410 ، ورأس بأربعة دبابيس ومقاومات. كان لدي شاحن كمبيوتر محمول إضافي ملقى حوله استخدمته للحصول على الطاقة ، وكابل مودم Apple تم كسر علامة تبويبه. الأجهزة الأخرى: لوحة الحائط. لقد استخدمت مسدس الغراء الساخن ، ومكواة اللحام ، وملف الإبرة ، والمثقاب الكهربائي ، وهي معايير قياسية جدًا. كان الشيء الأكثر غرابة الذي استخدمته هو أداة الإمساك الطويلة والمرنة.

الخطوة 2: الأجهزة الموجودة مسبقًا

الأجهزة الموجودة مسبقًا
الأجهزة الموجودة مسبقًا
الأجهزة الموجودة مسبقًا
الأجهزة الموجودة مسبقًا
الأجهزة الموجودة مسبقًا
الأجهزة الموجودة مسبقًا
الأجهزة الموجودة مسبقًا
الأجهزة الموجودة مسبقًا

كنت محظوظًا جدًا لأنه تم بالفعل تثبيت الكثير. غرفتي يمكن الوصول إليها من قبل ADA ، وكان هناك العديد من الأنابيب والصناديق الكهربائية وصمامات كهربائية مثبتة بالفعل. عند إزالة قفل الباب بدافع الفضول ، وجدت أنه غير متصل. كان هناك أنبوب يمتد من باب الضربة إلى لوح حائط فارغ داخل غرفتي ، وأنبوب آخر من هناك إلى لوح حائط فارغ بالخارج.

يقول إضراب الباب إنه يحتاج إلى 24V @ 3A للعمل ، لكنني تمكنت من الحصول على مصدر طاقة 19V و 7.9A لدي. كانت ضربة الباب مستقطبة ، لذا تأكد من صحة القطبية!

الخطوة 3: الدوائر

الدوائر
الدوائر
الدوائر
الدوائر
الدوائر
الدوائر
الدوائر
الدوائر

للتحكم في دق الباب ، استخدمت التتابع الذي وجدته في دورق القهوة. احتاج هذا التتابع إلى أكثر من 5V TTL لقيادته ، لذلك تم استخدام sn754410 لترجمة TTL إلى 19V ، مما دفع التتابع. إن sn754410 هو في الحقيقة محرك رباعي نصف H ، لذلك كنت أضيع 3/4 من الشريحة ، لكن لم يكن لدي أي ترانزستورات طاقة ، لذلك هذا ما استخدمته.

تحتوي شريحة sn754410 على دبابيس VCC ، أحدهما ل 5 فولت ، والآخر لأي جهد تريد أن يخرج ، والذي كان 19 فولت بالنسبة لي. إنها شريحة رائعة حقًا. يمكنك استخدام هذا لتشغيل المحركات والمرحلات مباشرة ، لأنه يمكنه تبديل شريحة 1A لكل ربع ولديه ثنائيات حماية مدمجة. ألق نظرة على ورقة البيانات. في دائري ، قمت بتوصيل sn754410 مباشرة بدبوس الإخراج الخاص بي. الأزرار متصلة على أنها نشطة منخفضة ، وهو أمر شائع جدًا بالنسبة للميكروكونترولر. إنهم مرتبطون مباشرة بـ Teensy ، مما يعني أنني يجب أن أقوم بالتخلي عن البرنامج. يتم توصيل مصباح الحالة بـ Teensy من خلال المقاوم 1K أوم ؛ لا شيء مميز. عملت الدائرة بدون مكثفات ، لكنني أضعها على أي حال في حالة. توجد أغطية حماية على قضبان الطاقة 19 فولت و 5 فولت على الأرض. أثناء برمجة جهاز Teensy ، جاء 5V من USB ، ولكن عندما يتم تشغيله من تلقاء نفسه ، تأتي الطاقة من لبنة طاقة الكمبيوتر المحمول. عندما قمت بتوصيل منظم 7805 مباشرة بجهد 19 فولت ، أصبح ساخنًا حقًا ، لذلك وضعت شبكة من المقاومات للحد من جهد الإدخال والتيار إلى المنظم. كانت هذه حمأة ، لكن كل شيء الآن في درجة حرارة يمكن التحكم فيها.

الخطوة 4: توصيل الأسلاك معًا

توصيلها معًا
توصيلها معًا
توصيلها معًا
توصيلها معًا

لم يكن Teensy مشكلة. يأتي مع دبابيس ، لذا يمكنك توصيله مباشرة بلوح التجارب.

قررت كتابة رمز ملون للأسلاك التي تضرب الباب بكابلات موز حمراء (+) وسوداء (-) من صندوق الأجزاء المكسورة في المختبر. كانت هناك بعض المقابس مقطوعة من أسلاكها ، لذلك قمت بإزالة بعض البلاستيك لكشف نقطة اللحام. أنا حقًا أحب كيف يمكن لسدادات الموز المختبرية أن تتصل ببعضها البعض. لقد استخدمت كابل هاتف Apple لتوصيل الأزرار وضوء الحالة خارج الغرفة بداخل Teensy. نظرًا لكسر جانب واحد ، قمت بقطع تلك النهاية ولحامها في رأس ذي أربعة دبابيس ، وأغلقها بالغراء الساخن. تم توصيل هذا بشكل جيد بلوح التجارب الخاص بي. ذهب الجانب الذي تركت القابس فيه إلى المقبس المعياري الذي قمت بإنقاذه من جهاز التوجيه. تم استخدام جميع الأسلاك الأربعة (GND ، مصباح الحالة ، زر التشغيل / الإيقاف ، زر الرمز). في حال لم تكن قد لاحظت ، فأنا أحب المقابس والموصلات. تم توصيل لبنة الطاقة بمقبس الطاقة الذي قمت بتمريره من جهاز التوجيه. لم يكن تمرير الأسلاك عبر أنابيب الجدار أمرًا صعبًا للغاية ، بسبب أداة الإمساك المرنة. هذا حقا أنقذ يومي.

الخطوة 5: الكود

الشفرة
الشفرة
الشفرة
الشفرة

لقد حاولت التعليق على الكود الخاص بي. ضع في اعتبارك أن هذا برنامج 1.0 ، مما يعني أنه ليس خاليًا من الأخطاء. ## OPERATION ## 1. اضغط على زر بدء / إيقاف للإشارة إلى أنك جاهز لبدء إدخال الكود. يبدأ مصباح الحالة في الوميض ببطء. 2. اضغط في الرمز الخاص بك على زر الرمز. سيومض مصباح الحالة عند 120 نبضة في الدقيقة ، لذا يمكنك استخدام هذا المسرع إذا كنت تريد ذلك. ومع ذلك ، فإن برنامج التشفير سيقيس أطوال النبضة بالنسبة لبعضها البعض بشكل متناسب ، لذلك يمكنك أيضًا استخدام وتيرتك الخاصة. فقط تأكد من أنك دقيق بما فيه الكفاية! 3. عند الانتهاء من إدخال الرمز ، اضغط على زر البدء / الإيقاف مرة أخرى. سيقرر البرنامج بعد ذلك ما إذا كان سيسمح لك بالدخول أم لا. نظرًا لأن البشر ليسوا حراسًا دقيقين للغاية للوقت (ليس لك حقًا) ، فقد قمت بتعيين نسبة التسامح على +/- 30٪. هذا يعني أن أطوال الإيقاع يمكن أن تكون غير دقيقة بهذا المقدار ، ولا تزال تتجمع. هذا جيد بما يكفي لمعرفة الفرق بين الألحان المتشابهة. هناك قدر ضئيل من التداخل الذي يصعب الوصول إليه بين النغمات المزدوجة والثلاثية ، ولكن لا يزال من الصعب جدًا كسر الكود. لفتح الباب ، يجب أن تكون الدقات بالنسب الصحيحة لبعضها البعض (+/- نسبة التسامح) ، ويجب أن يكون عدد النبضات صحيحًا. في حالة إدخال كلمة مرور غير صالحة ، سينتظر البرنامج بضع ثوانٍ بينما يتجاهل أي إدخال للمستخدم. سيومض أيضًا مصباح الحالة بسرعة. إذا تم إدخال الرمز الصحيح ، فسيتم تشغيل مصباح الحالة بثبات وسيفتح الباب لمدة 8 ثوانٍ. ## تكوين المستخدم ## يتم تخزين المفتاح في مصفوفة مثل: #define keylength 5 const int key = {2، 1 ، 3 ، 3 ، 3} ؛ // "Happy birthday to you" تخزن المصفوفة مقدار الوقت الذي يحدث بين النغمات. لذلك إذا كانت كلمة مرورك تحتوي على ستة ملاحظات مثل "Happy birthday to you" ، فيجب أن يكون هناك خمسة عناصر في المصفوفة. إذا كانت كلمة مرورك طويلة جدًا ولديك أكثر من 16 نبضة فيها ، (صعبة حقًا ، لا أوصي بها) ، يجب عليك زيادة الرقم المحدد في هذا السطر: #define inputCodeLength 16 ## THE REST OF THE CODE # # كنت أشعر بالفضول بشأن المقاطعات ، لذلك كان لديّ أزراري المقاطعات. لتسهيل استخدام هذه المقاطعات ، كان لدي معالجات المقاطعات الخاصة بي للتحقق من مؤشرات دالة معينة. إذا لم يتم تعيين المؤشر على NULL ، يتم استدعاء الوظيفة التي يشير إليها. يتم تعيين هذه مع وظائف "إعداد الوضع" المختلفة داخل cryptap.c. لقد بذلت جهدًا لتجنب فيضان المخزن المؤقت عن طريق تعيين الحد الأقصى لعدد النبضات المدخلة. إذا تم إدخال الحد الأقصى لعدد النبضات ، يبدأ البرنامج على الفور في تحليل كلمة المرور ويقرر ما إذا كان سيتم فتح الباب أم لا. آمل أن تساعد تعليقاتي في الكود. ## BUGS ## حاولت إزالة رمز تصحيح أخطاء USB ، لكن الكود لن يعمل إذا فعلت ذلك. لذلك ، تركت usb_init () وبيانات print () المختلفة. سأكون ممتنًا إذا تمكن شخص ما من إزالتها وما زال يعمل البرنامج. بل من الأفضل أن يشرحوا سبب عدم نجاحها معي. بعد البرمجة مباشرة ، لا يقبل Teensy أحيانًا إدخال الكود. لحل هذا ، دورة الطاقة في الدائرة.

موصى به: