لائحة الطعام
مجاني
تحقق في
الرئيسية  /  بواسطة / القلعة الإلكترونية على اردوينو نانو. قلعة كود غير عادية على اردوينو

القلعة الإلكترونية على نانو اردوينو. قلعة كود غير عادية على اردوينو

إدخال قفل الباب الذي يسيطر عليه مفتاح تردد الراديو.

يعمل القفل مثل هذا: أحضروا مفتاحنا (تسمية RFID) - قفل مغلق، ضع المفتاح مرة أخرى - فتح القفل. لتصور تشغيل "تشغيل القفل"، يتم استخدام ستة المصابيح ذات اللونين (حاكم). عند الإغلاق - يعمل الضوء الأحمر، عند الافتتاح أخضر. إذا أحضرت مفتاح شخص آخر، فلاش مصابيح الحمراء.

كمحرك، قررت استخدام محرك الأقراص من القلعة المركزية للسيارة. يمكنك شراء واحدة جديدة، يمكنك استخدام السعر، الفرق في السعر ليس كبيرا، لذلك استخدمت واحدة جديدة، فهي موثوقة. محرك الأقراص رود متصل بالبدع. تعفن لا تزال السوفيتية قوية. نعم، و "مكافحة مغردة" قوية لا أحتاج إليها.

يتم التحكم في "الجهاز" من قبل اثنين من الأسلاك. تضع قطبية واحدة إلى الأمام قضيب، القطبية العكسية للسحب قضيب. في الجهد من 12 فولت، الحالي هو 6 أمبير، الكثير ...
في "آلة الكاتبة" لا يوجد مفاتيح حد.

بناء على حقيقة أن نظام القفل (على الفكرة) قد ضمان التغذية، فإن البطارية هي 12 فولت، لضمان تشغيل القفل، في حالة اختفاء ~ 220. وضعت أداة التحكم الجسر "آلة". إن الدجاج الخاص من المخطط غير خطلا، مما يضمن التشغيل الموثوق لآلية القفل، وفي الوقت نفسه - وضع لطيف من تشغيل "الجهاز" والترانزستورات الرئيسية.

في الرسم البياني (أعلاه)، يتم تسليط الضوء على الكتف "إغلاق" باللون الأحمر، وكتف "مفتوح" - أخضر. يتغذى الكتفين بشكل منفصل من خلال المقاومات (الموجودة في امدادات الطاقة). تقاسم أكتاف الجسر، قدم لاستبعاد إيجابيات كاذبة.

Explanation: من خلال المقاومات 33M (على مخطط امدادات الطاقة)، \u200b\u200b12 فولت رسوم الجهد المكثفات (2000 -mkf، في كل كتف). عندما تتحكم وحدة التحكم في Arduino_Promini- 168 في إدخال "إغلاق" (أو مشابه "فتح")، من خلال Optocouple PVT322 - تفتح مفاتيح الكتف المقابلة. في الوقت نفسه، يحدث ما يلي: في وقت فتح المفاتيح، فإن الطاقة من المكثفات قوية قوية "برم" المحرك "الجهاز". كما تصريف المكثفات (يحدث هذا بسرعة) يتم تشغيل محرك "الجهاز" بواسطة المقاوم الحالي (33). نظرا لهذا، في نهاية عملية "الإغلاق" - "اكتشافات" القلعة، يتحرك قضيب ببطء شديد.

هذه الطريقة لإدارة المحرك هو الأمثل.

محول تخطيطي كتلة الطاقة. بشكل عام، يتم تشغيل مخطط القفل بواسطة بطارية 12 فولت، 2.8 - و H. ويدعم نظام BP البطارية على مستوى اسمي. يشير LED "الشبكة" إلى التشغيل العادي لإمدادات الطاقة.

جميع الثنائيات 1N4007 (نسيت الإشارة إلى المخطط، وطلب الشخص سؤالا - ماذا؟).

(1) الحد الأقصى المحدد الحالي يتم جمعها. المقاوم ر. 1 يتم تعيين العتبة الحالية العليا إلى 300.
على استقرار متكامل LM317 (2) استقرار الجهد الموقد. تم تكوين الجهد الاستقرار من قبل المقاومرديئة 2 وبعد يجب أن يكون الجهد على البطارية 13.7 فولت.

يتم تقديم الجهد من البطارية في ثلاث نقاط.
من خلال المقاومات (بمقدار 33) على (س)، (ص) - قوة "سائق" المفتاح "الآلات".

تجمع معظم أجهزتهم من حقيقة أنه تم القبض عليه. هذا المشروع ليس استثناء. يمكنني استخدام السكن كحالة :) من الصابورة الإلكترونية:

المصابيح # -2 ... №-7 - لونين. تقع في الخط. تستخدم لتصور "فتح" و "إغلاق" القلعة. زخرفة.

هذا المشروع هو وحدات، أي يمكنك توصيل / تعطيل عناصر مختلفة واحصل على وظائف مختلفة. تظهر الصور أعلاه الخيار بوظائف كاملة، وهي:

  • آلية تأمينوبعد تستخدم لفتح وإغلاق الباب. يناقش هذا المشروع استخدام ثلاث آليات مختلفة:
    • المؤازرة. هناك كبيرة، هناك صغيرة. مدمجة للغاية، وبقولى مع غلاف شديد - خيار رائع
    • القلعة الكهربائية محرك السيارة سيارة. شيء كبير وقوي، ولكن يأكل التيارات المجنونة فقط
    • اللولبي بايك. خيار جيدلأنه ينتقد نفسه

    في إعدادات البرامج الثابتة، يمكنك تحديد أي من الأنواع الثلاثة (الإعداد نوع القفل)

  • زر داخلوبعد إنه يعمل على فتح وإغلاق الباب من الداخل. يمكن وضعها على مقبض الباب (من النخيل أو من جانب الأصابع)، على الباب نفسه، أو على المربى
  • زر خارجوبعد إنه يعمل بإغلاق الباب، وكذلك الصحوة من توفير الطاقة. يمكن وضعها على مقبض الباب (من النخيل أو من جانب الأصابع)، على الباب نفسه، أو على المربى
  • سياق الكلام في إغلاق الباب. تستخدم لإغلاق القفل تلقائيا عند إغلاق الباب. قد يكونوا:
    • زر الساعة
    • استشعار القاعة + المغناطيس على الباب نفسه
    • Gercon + المغناطيس على الباب نفسه
  • سر زر إعادة الضبطوبعد تستخدم لإعادة تعيين كلمة المرور / إدخال كلمة مرور / تحفيظ جديدة لمفتاح / تركيبة جديدة، إلخ. يمكن أن تكون مخفية في مكان ما في القضية
  • ديود الباعثة للضوء للإشارة إلى العمل. RGB LED، تستخدم الألوان الحمراء والأخضر (عند الخلط الأصفر):
    • Gorite Green - القلعة مفتوحة. gorbs لا تنسى أن تغلق الباب
    • الأصفر يحترق - استيقظ النظام ويتوقع إدخال كلمة المرور
    • وامض أحمر - جلس البطارية

يمكن استبعاد أي من هذه العناصر من النظام:

  • نحن نزيل الارتباك. في البرامج الثابتة في الإعدادات، قم أيضا بإيقاف تشغيله (الإعداد tail_button.). الآن لإغلاق القفل، تحتاج إلى الضغط على الزر.
  • نحن نزيل الزر في الهواء الطلق. في البرامج الثابتة في الإعدادات، قم أيضا بإيقاف تشغيله (الإعداد wakebutton.). الآن لا يحتاج النظام إلى الاستيقاظ، فإنه يستيقظ نفسه (استهلاك الطاقة أكبر قليلا). وأيضا، نحن الآن ليس لدينا زر لإغلاق الباب الأمامي، وتحتاج إلى الارتباك. إما القلعة - Tickold
  • نحن نزيل الزر الداخلي. هذا الخيار مناسب للخزائن والخزائن. لا تحتاج إلى تغيير أي شيء في الإعدادات
  • نحن نزيل الصمام. لا تحتاج إلى تغيير أي شيء في الإعدادات
  • يمكن اختفاء زر إعادة تعيين الوصول بعد الاستخدام الأول، أو إعادة كتابة التعليمات البرمجية لنفسها
  • الباب مغلقا، والنقر فوق الخارج - استيقظ، انتظر كلمة مرور إدخال / تسمية RFID / مفتاح الإلكترونية / بصمة
  • يتم إغلاق الباب، استيقظ النظام، في انتظار كلمة المرور. يمكن تكوين الوقت (الإعداد وقت النوم.)
  • يتم إغلاق الباب، يتم إدخال / تسمية كلمة المرور / المفتاح، إلخ. - فتح
  • الباب مغلقا، ضغط الداخل - مفتوح
  • الباب مفتوح، نقرات من الخارج - إغلاق
  • الباب مفتوح، ضغط الداخل - إغلاق
  • الباب مفتوحا، مضغوطا - إغلاق

يوفر القفل عملية بطارية في وضع توفير الطاقة المنخفض (تمكين تعطيل: الإعداد sleep_enable.)، يسمى:

  • الاستيقاظ عن كل بضع ثوان، اتبع الحدث (خيار اختياري، إذا لم يكن هناك زر خارج. يمكنك تمكين في الإعداد wakebutton.)
  • كل بضع دقائق لمراقبة الجهد Akum (إعداد / إيقاف battery_monitor.)
  • إذا تم تفريغ Akum (يتم تعيين الجهد في الإعداد bat_low.):
    • الباب المفتوح (اختياري، يمكن تكوينه في البرامج الثابتة open_bat_low.)
    • حظر المزيد من الافتتاح والإغلاق
    • عند النقر فوق الأزرار لفلاش LED أحمر
    • التوقف عن مشاهدة الحدث (أي كلمة المرور / التسمية، إلخ)

عندما لا ينام النظام، اضغط على زر Shift Password (زر مخفي). العثور ب طريقة تغيير كلمة المرور:
ندخل كلمة مرور من الأرقام ( الحد الأقصى 10 أرقام!)

  • النقر * يتم تسجيل كلمة المرور في الذاكرة ويخرج النظام من تغيير كلمة المرور
  • عند النقر فوق "إعادة تعيين كلمة المرور" (يمكنك الدخول مرة أخرى)
  • إذا لم تضغط على أي شيء 10 ثوان، فاترك وضع تغيير كلمة المرور تلقائيا، ستبقى كلمة المرور قديمة

عندما لا ينام النظام (استيقظت الأزرار أو يتم تعطيل النوم)، انقر فوق * لإدخال وضع إدخال كلمة المرور
إذا كان النظام ينام ويستيقظ بشكل دوري للتحقق من الحدث، ثم اضغط على * وعقد حتى يضيء الصمام الأحمر
وضع إدخال كلمة المرور:

  • تتم معالجة كلمة المرور بطريقة تحسب كلمة المرور الصحيحة فقط عند التعيين على التسلسل الصحيح للأرقام، أي إذا كانت كلمة المرور 345، ثم يمكن إدخال أي أرقام حتى يظهر التسلسل 345، أي 30984570345 سوف تفتح القفل، كما ينتهي 345.
  • إذا تم إدخال كلمة المرور بشكل صحيح، فسوف يفتح الباب
  • إذا لم تضغط على أي شيء، فسوف يعود النظام 10 ثوان إلى الوضع المعتاد (الواجب)
  • إذا قمت بالنقر فوق "نعم"، فستخرج على الفور من وضع إدخال كلمة المرور
  • صحافة زر سر تغيير كلمة المرور في وضع إدخال كلمة المرور، ثم سوف تخرج منه

لدي كوخ، مثل معظمهم يرتبط بالكلمات: الراحة والكباب والراحة والروح الأخرى اللطيفة وجسم الحركة، ولكن هناك الجانب الخلفي: حديقة، حفر، إصلاح، البناء، إلخ.

لمدة 10 سنوات، نحاول التفكير وإنشاء أقصى قدر ممكن من الراحة على Dacha لدينا. نحن نفري، إصلاح، إلخ. منزل، سقيفة، حمام ... .. وأخيرا جاء إلى سياج الشوارع والمصابيح والبوابات. هل هذا الضمير والميزانية والراحة.

بعد مناقشة بعض التفاصيل، تم قبول ذلك أن البوابة يجب أن تكون مثبطة على الأتمتة. حسنا، يحتوي النصيبات على بعض خصائص Scoit. مع البوابة، تم حل السؤال عن طريق شراء مجموعة من الأوتوماتيكية (محرك الأقراص والسكك الحديدية أو وحدة التحكم وغيرها)، ومع وجود بوابة اللازمة لحل بعض المهام عنها أدناه.

كانت المهام كما يلي:

  1. كان من المفترض أن تعمل القلعة مع وقت سابق تثبيت الفيديو الاتصال الداخلي (فتح بوابة دون مغادرة المنزل)
  2. تكون قادرة على فتح الباب مع مفتاح منتظم ودون مفتاح من الشارع والفناء.
  3. جعل الميزانية المتبقية إلى 5000 ص.

أظهرت عمليات البحث في Runet نطاق السعر التالي من 7000 وإلى الأبد. اختفى عملية شراء حل جاهز وتم تصوره بديلا بالإمكانيات الواسعة، أي غسل الباب لنفسه!

بعد بعض التهم والحسابات، كان من المعتاد شراء قفل كهروميكانيكي حول 2000R.، لوحة المفاتيح للماء 350r.، حسنا، الذي سوف يطرد هنا. نظرا لوجود العديد من لوحات اردوينو نانو، كانت المرحلات والمنشأ وبعض الأسلاك، وكان الفرق بين تكلفة المجموعة النهائية أكثر من 4000 tr. بالنسبة لي، مكافأة ممتازة لحفظ محفظة وتطوير الذات.

حسنا، والآن من الكلمات إلى العمل:

بعد شراء الجميع المكونات المطلوبة بدأت في قطع.

دائرة اتصال keypad.

إشارة LED إضافية (لوحة بيضاء والأخضر والأحمر) مع إشارات لوحة المفاتيح (المدخلات، باب كلمة المرور الصحيحة مفتوحة، تم رفضها).

  • دبوس 9 الأصفر
  • دبوس 10 الأخضر
  • دبوس 11 أحمر

لوحة (مصبغة) من زجاج شبكي، وقطع صندوق الحلوى وجيران الابتسامة في المكتب. لكن الألغام التي تحولت إلى أن تكون أكثر دهونا قليلا، كان علي أن أعمل كغفوة.

حسنا، هذه عطلات نهاية الأسبوع، انتقلت إلى المنزل.

لفتح القفل الكهروميكانيكية، هناك حاجة 12 فولت. كان مصدر الطاقة الذي يغذي MK 5 ج.، حل لوضع زيادة في محول DC-DC مع Crossbar للقفل. بدأ كل شيء متصل للتحقق، إنه يعمل، ولكن عندما يتم تقديم الجهد إلى الملف اللولبي من قفل دنيا، تم إعادة تشغيل KZ على مزود الطاقة. علاوة على ذلك، بعد توصيل لوحة المكالمة من الاتصال الداخلي عبر الفيديو إلى القفل، عند الضغط على الباب المفتوح، لم يحدث الباب، حدودا صغيرا على القفل. سحب الأسلاك الجديدة ليس خيارا، وكانت مقطعة بالفعل مخرج المنزل. قررت إضافة ترحيل آخر للوحة وتقديم إمدادات طاقة إضافية إلى 12 خامسا. للقلعة. بعد تحليل / جمع، كل شيء يعمل، توقف MK إعادة التشغيل. كل هذا العمل اختبأ في صندوق إعادة التعيين مقاوم للرطوبة، اختبأ الأسلاك والغراء والسيليكون وجاهز!

لا يقف التقدم ولا يزال "القلاع الذكية" تظهر بشكل متزايد على أبواب الشقق والكراجات والمنازل.

يفتح قفل مماثل عند الضغط على الزر الموجود على الهاتف الذكي. لحسن الحظ، دخلت الهواتف الذكية والأجهزة اللوحية بالفعل استخدامنا. في بعض الحالات، يتم توصيل "الأقفال الذكية" ب " الخدمات السحابية"يبدو أن Google Disk وفتح عن بعد. بالإضافة إلى ذلك، يتيح هذا الخيار الوصول إلى فتح الباب إلى أشخاص آخرين.

سيتم تنفيذ هذا المشروع من خلال إصدار DIY من القفل الذكي على أردوينو، والذي يمكن إدارته عن بعد من أي نقطة من الأرض.

بالإضافة إلى ذلك، أضاف المشروع القدرة على فتح القفل بعد تحديد بصمات الأصابع. للقيام بذلك، سيتم دمج استشعار البصمات. ستعمل كلا الخيارين لفتح الأبواب على أساس منصة AdaFruit IO.

يمكن أن تكون قلعة مماثلة خطوة أولى ممتازة في مشروع منزلك الذكي.

إعداد استشعار بصمات الأصابع

للعمل مع استشعار بصمات الأصابع، هناك مكتبة ممتازة لاردوينو، والتي تسهل بشكل كبير عملية ضبط المستشعر. يستخدم Arduino Uno في هذا المشروع. يتم استخدام AdaFruit CC3000 للاتصال بالإنترنت.

لنبدأ في توصيل الطاقة:

  • قم بتوصيل جهة الاتصال 5V من لوحة أردوينو بالسكك الحديدية الحمراء؛
  • يتصل GND اتصال Arduino بالسكك الحديدية الزرقاء على لوحة دوائر غير مستقرة.

انتقل إلى اتصال استشعار بصمات الأصابع:

  • أولا قم بتوصيل الطاقة. للقيام بذلك، يتم توصيل الأسلاك الحمراء بالسكك الحديدية +5 الخامس، والأسود - مع السكك الحديدية GND؛
  • يربط سلك الاستشعار الأبيض 4 إلى اردوينو.
  • يذهب الأسلاك الخضراء إلى الاتصال 3 على متحكم.

الآن سنتعامل مع وحدة CC3000:

  • اتصل IRQ من CC3000 Cards Connect to Pin 2 على Arduino.
  • VBAT - للاتصال 5.
  • CS - الاتصال 10.
  • بعد ذلك، تحتاج إلى توصيل جهات اتصال SPI إلى Arduino: Mosi و Miso و Clk إلى اتصالات 11 و 12 و 13 على التوالي.

حسنا، في النهاية، من الضروري تقديم وجبات الطعام: VIN - إلى Arduino 5V (Red Rail على لوحة التثبيت الخاصة بك)، و GND إلى GND (السكك الحديدية الزرقاء على Laype).

يظهر أدناه صورة للمشروع المجمع بالكامل:

قبل تطوير رسم، والذي سيقوم بتحميل البيانات على AdaFruit IO، تحتاج إلى نقل البيانات حول جهاز استشعار بصمات الأصابع الخاص بك. خلاف ذلك، في المستقبل، لا يعترف بك؛). نوصي معايرة استشعار بصمات الأصابع باستخدام اردوينو بشكل منفصل. إذا كنت تعمل مع هذا المستشعر لأول مرة، نوصي بقراءة عملية المعايرة والتعليمات التفصيلية للعمل مع استشعار بصمات الأصابع.

إذا لم تقم بذلك بعد، ستبدأ حسابا على AdaFruit IO.

بعد ذلك، يمكننا المضي قدما في المرحلة التالية من تطوير "قفل ذكي" على اردوينو: وهي تطوير الرسم، الذي سيحيل البيانات عن AdaFruit IO. نظرا لأن البرنامج ضخمة للغاية، في المقالة، سنصل إلى أجزاءها الرئيسية فقط، ثم دعونا نقدم رابطا إلى Github، حيث يمكنك تنزيل المخطط الكامل.

يبدأ Skatch بتحميل جميع المكتبات اللازمة:

#تضمن.

#تضمن.

#تضمن.

#include "adafruit_mqtt.h"

#include "adafruit_mqtt_cc3000.h"

#تضمن.

#تضمن. >

بعد ذلك، تحتاج إلى تصحيح المخطط بشكل صحيح، وإدخال معلمات شبكة WiFi الخاصة بك، وتحديد SSID وكلمة المرور (كلمة المرور):

# define wlan_security wlan_sec_wpa2\u003e

بالإضافة إلى ذلك، يجب عليك إدخال الاسم ومفتاح AIO (المفتاح) لإدخال حساب Adafruti IO الخاص بك:

#Define aio_serverport 1883.

# define aio_username "adafruitic"

# define aio_key "adafruit_io_key"\u003e

الأسطر التالية هي المسؤولة عن التفاعل ومعالجة البيانات من مستشعر بصمات الأصابع. إذا تم تنشيط المستشعر (بصمة تزامن)، فستكون "1":

const char fingerprint_feed progmem \u003d aio_username "/ feeds / بصمة"؛

بصمة Adafruit_mqtt_publish \u003d adafruit_mqtt_publish (& mqtt، fingerprint_feed)؛

بالإضافة إلى ذلك، تحتاج إلى إنشاء مثيل لكائن Softwareserial لاستشعارنا:

Softwareserial Myserial (3، 4)؛

بعد ذلك، يمكننا إنشاء كائن لاستشعارنا:

إصبع Adafruit_fingerprint \u003d Adafruit_fingerprint (& Myserial)؛

داخل المخطط، نحدد ما يجب أن يقوم الأصابع بتنشيط القفل في المستقبل. يستخدم هذا المثال 0 الذي يتوافق مع معرف البصمات الأول، الذي يستخدمه المستشعر:

int fingerid \u003d 0؛

بعد ذلك، تهيئة العداد والتأخير (تأخير) في مشروعنا. في جوهرها، نريد أن يعمل القفل تلقائيا بعد الافتتاح. يستخدم هذا المثال تأخيرا لمدة 10 ثوان، ولكن يمكنك ضبط هذه القيمة لاحتياجاتك الخاصة:

int ActivationCounter \u003d 0؛

int القاضأ \u003d 0؛

int التنشيط \u003d 10 * 1000؛

في جسم الإعداد () وظيفة، نقوم بتهيئة جهاز استشعار بصمات الأصابع وتأكد من اتصال رقاقة CC3000 إلى شبكة WiFi الخاصة بك.

في جسم الحلقة () وظيفة اتصال adafruit Io. السطر التالي مسؤول عن ذلك:

بعد الاتصال منصة ADAFRuit IO، تحقق من آخر بصمة. إذا كان يتزامن، فلن يتم تنشيط القفل، ونرسل "1" للمعالجة في AdaFruit IO:

إذا كان (fingerprintid \u003d\u003d finger && lockstate \u003d\u003d خطأ) (

serial.println (F ("الوصول الممنوح!"))؛

lockstate \u003d صحيح؛

serial.println (f (فشل "))؛

serial.println (f ("حسنا!"))؛

lastationivation \u003d ميليس ()؛

إذا، داخل وظيفة حلقة ()، يتم تنشيط القفل وقد وصلنا إلى قيمة التأخير، والتي تم الإشارة أعلاه، وإرسال "0":

إذا ((ActivationCounter - Lastation\u003e ActivationTime) && Lockstate \u003d\u003d True) (

lockstate \u003d خطأ؛

إذا (! Fingerprint.Publish (حالة)) (

serial.println (f (فشل "))؛

serial.println (f ("حسنا!"))؛

يمكنك تنزيل أحدث إصدار من التعليمات البرمجية على GitHub.

حان الوقت لاختبار مشروعنا! لا تنس تحميل وتثبيت جميع المكتبات اللازمة لاردوينو!

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

عندما يربط اردوينو شبكة wifi.سوف مستشعر بصمات الأصابع فلاش أحمر. أسطورة إصبعك إلى المستشعر. يجب أن تظهر نافذة المراقبة التسلسلية رقم المعرف. إذا كان يتزامن، فستظهر الرسالة "حسنا!". هذا يعني أنه تم إرسال البيانات إلى خوادم AdaFruit IO.

مخطط ورسم لمزيد من إعداد القفل على مثال LED

الآن سنتعامل مع جزء المشروع المسؤول مباشرة عن إدارة قفل الباب. للاتصال ك. شبكة لاسلكية وتفعيل / إلغاء تنشيط القفل ستكون هناك حاجة وحدة إضافية Adafruit ESP8266 (وحدة ESP8266 لا يجب أن تكون من AdaFruit). على سبيل المثال، الذي سننظر فيه أدناه، ستتمكن من تقييم مدى سهولة ضمان تبادل البيانات بين نظامين (Arduino و ESP8266) باستخدام AdaFruit IO.

في هذا القسم، لن نعمل مباشرة مع القفل. بدلا من ذلك، نحن ببساطة قم بتوصيل LED إلى جهة الاتصال، حيث سيتم توصيل القفل فيما يلي. سيعطي هذا الفرصة لاختبار الكود الخاص بنا، دون تعميق في ميزات تصميم القلعة.

المخطط بسيط للغاية: قم أولا بتعيين ESP8266 على اللوح. بعد ذلك، اضبط الصمام. لا تنس أن الساق الطويلة (الإيجابية) من LED متصلة عبر المقاوم. يتم توصيل القدم المقاوم الثانية بالاتصال ب 5 على وحدة ESP8266. ثاني (الكاثود) من LED متصل برميل GND على ESP8266.

يتم عرض المخطط المجمع بالكامل في الصورة أدناه.


الآن دعونا معرفة ذلك برسم يستخدم لهذا المشروع. مرة أخرى، الرمز هو ضخمة للغاية ومعقدة، لذلك سننظر في أجزائها الرئيسية فقط:

نبدأ باتصال المكتبات اللازمة:

#تضمن.

#include "adafruit_mqtt.h"

#include "adafruit_mqtt_client.h"

تكوين WiFi:

# define wlan_ssid "your_wifi_ssid"

# define wlan_pass "your_wifi_pall"

# define wlan_security wlan_sec_wpa2.

أيضا تكوين معلمات adafruit io. كما هو الحال في القسم السابق:

# define aio_server "io.adafruit.com"

#Define aio_serverport 1883.

#Define aio_username "adafruit_io_" المستخدم "

# define aio_key "adafruit_io_key"

نحن نشير إلى أن الصنوبر الذي وصلنا إليه LED (في المستقبل سيكون قفلنا أو ترحيلنا):

int relaypin \u003d 5؛

التفاعل مع استشعار بصمات الأصابع، كما هو الحال في القسم السابق:

const char lock_feed progmem \u003d aio_username "/ feeds / lock"؛

adafruit_mqtt_subscribe lock \u003d adafruit_mqtt_subscribe (& mqtt، lock_feed)؛

في جسم الإعداد () وظيفة، نحدد أن دبوس يجب توصيل LED يجب أن يعمل في وضع الإخراج:

pinmode (relaypin، الإخراج)؛

ضمن دورة حلقة ()، تحقق أولا ما إذا كنا مرتبطنا ب AdaFruit IO:

بعد ذلك، تحقق من الإشارة التي تأتي. إذا تم نقل "1"، قم بتنشيط جهة الاتصال التي أعلناها في وقت سابق أن قادنا متصل بنا. إذا حصلنا على "0"، فنحن نترجم الاتصال إلى الحالة "المنخفضة":

adafruit_mqtt_subscribe * اشتراك؛

بينما ((اشتراك \u003d mqtt.readsubscription (1000))) (

إذا (الاشتراك \u003d\u003d & LOCK) (

serial.print (f ("حصلت:"))؛

serial.println ((char *) lock.lastread)؛

// حفظ الأمر إلى بيانات نوع البيانات

string command \u003d string (char *) lock.lastread)؛

إذا (الأمر \u003d\u003d "0") (

الكتابة الرقمية (relaypin، منخفضة)؛

إذا (الأمر \u003d\u003d "1") (

الكتابة الرقمية (relaypin، عالية)؛

لايجاد الإصدار الأخير رسم يمكنك على جيثب.

حان الوقت لاختبار مشروعنا. لا تنس تنزيل جميع المكتبات اللازمة لاردوينو الخاص بك وتحقق مما إذا كنت قد قدمت تغييرات في الرسم.

لبرمجة رقاقة ESP8266، يمكنك استخدام محول USB-FTDI بسيط.

قم بتحميل Scatch على Arduino وفتح نافذة الشاشة التسلسلية. على ال هذه المرحلة فحصنا للتو ما إذا كنت تريد الاتصال ب AdaFruit IO: وظائف بأسعار معقولة سننظر إلى أبعد من ذلك.

مشروع اختبار

تابع الآن اختبار! انتقل إلى قائمة مستخدمي AdaFruit IO الخاص بك، في قائمة Feeds. تحقق أو إنشاء قنوات لإنشاء بصمة وقفل (على شاشة الطباعة الموجودة أسفلها هي بصمات الأصوات والقفل):


إذا لم يكن هناك، يجب عليك إنشاء يدويا.

الآن نحتاج إلى توفير تبادل البيانات بين قنوات بصمات الأصابع وقفل القفل. يجب أن تجعل قناة القفل القيمة "1" عندما تأخذ قناة البصمات القيمة "1" والعكس صحيح.

للقيام بذلك، استخدم أداة قوية للغاية AdaFruit IO: المشغلات. المشغلات في ظروف جوهر يمكنك التقديم على القنوات المكونة. وهذا هو، يمكن استخدامها لعلاقة العلاقات بين قنينتين.

قم بإنشاء مشغل تفاعلي جديد من قسم المشغلات في AdaFruit IO. سيوفر هذا القدرة على تبادل البيانات بين قنوات استشعار بصمات الأصابع والقلعة:


هذه هي الطريقة التي يجب أن تنظر إليها عند تخصيص كلا المشغلات:

كل شىء! الآن يمكننا حقا اختبار مشروعنا! قم بتطبيق إصبعك على جهاز الاستشعار ونرى كما بدأ Arduino في غمزه بواسطة LED، والذي يتوافق مع نقل البيانات. بعد ذلك، يعمل LED على وحدة ESP8266. هذا يعني أنه بدأ في تلقي البيانات عبر MQTT. يجب أيضا تشغيل LED على لوحة الدوائر في هذه المرحلة أيضا.

بعد التأخير، الذي قمت بتثبيته في المخطط (افتراضيا، هذه القيمة هي 10 ثوان)، سيظهر LED. تهانينا! يمكنك التحكم في LED بصمة، كونها في أي وقت في العالم!

تخصيص القلعة الإلكترونية

وصلنا إلى آخر جزء من المشروع: الاتصال المباشر والإدارة قفل إلكتروني من عند باستخدام اردوينو. وبصمات الأصابع الاستشعار. المشروع ليس بالأمر السهل، يمكنك استخدام جميع المصادر في النموذج الذي يتم فيه تحديده أعلى، ولكن بدلا من LED لتوصيل التتابع.

لتوصيل القفل مباشرة، ستحتاج إلى مكونات إضافية: امدادات الطاقة إلى 12 فولت، جاك إمدادات الطاقة، الترانزستور (في هذا المثال، مستعملة MOSFET IRLB8721PBF، ولكن يمكنك أيضا استخدام آخر، على سبيل المثال، TRIP TRIP102. اذا أنت استخدم ترانزستور ثنائي القطب، ستحتاج إلى إضافة مقاوم.

أدناه يظهر دائرة كهربائية توصيل جميع المكونات إلى وحدة ESP8266:


يرجى ملاحظة أنه إذا كنت تستخدم الترانزستور MOSFET، فلن تحتاج إلى مقاوم بين PIN 5 من وحدة ESP8266 والترانزستور.

تماما مشروع تم جمعه يظهر في الصورة أدناه:


موجة وحدة esp8266 باستخدام وحدة FTDI وتوصيل امدادات الطاقة من 12 فولت إلى جاك. إذا كنت تستخدم الدبابيس الموصى بها للاتصال، فلن تضطر إلى تغيير أي شيء في الرسم.

الآن يمكنك أن تعاليم إصبعك إلى المستشعر: يجب أن يعمل القفل، والاستجابة بصمات الأصابع الخاصة بك. يوضح الفيديو أدناه مشروع القلعة "الذكية" التلقائية في العمل:

مواصلة تطوير مشروع "القلعة الذكية"

في مشروعنا صدر جهاز التحكم قفل الباب باستخدام بصمة.

يمكنك تجربة بأمان وتعديل الرسم والإبطاء. على سبيل المثال، يمكنك استبدال قفل الباب الإلكتروني على الترحيل لإدارة الطابعة ثلاثية الأبعاد، مناور أو كوادكوبتر ...

يمكنك تطوير " المنزل الذكي"على سبيل المثال، تنشيط نظام الري عن بعد على Arduino أو تضمين الضوء في الغرفة ... لا تنس أنه يمكنك تنشيط العدد غير المحدود تقريبا في وقت واحد من الأجهزة باستخدام AdaFruit IO.

اترك تعليقاتك وأسئلة ومشاريك خبرة شخصية أدناه. غالبا ما يولد الأفكار والمشاريع الجديدة في المناقشة!

في هذا الدرس، سنتعلم إجراء نظام بسيط يقوم بإلغاء الاشتراك في القلعة مفتاح الكتروني (ملصق).

في المستقبل، يمكنك تحسين وتوسيع الوظيفة. على سبيل المثال، أضف "إضافة مفاتيح جديدة وحذفها من الذاكرة". في الحالة الأساسية، النظر في مثال بسيط عند مرسوف فريد يتم تعيين المفتاح مسبقا في رمز البرنامج.

في هذا الدرس سنحتاج:

لتنفيذ المشروع، نحتاج إلى تثبيت المكتبات:

2) تحتاج الآن إلى توصيل الجرس الذي سيخدم الإشارة إذا كان المفتاح يعمل ويفتح القفل، والإشارة الثانية عند إغلاق القفل.

يتم توصيل الطنان في التسلسل التالي:

اردوينو. صفارة
5V. VCC.
GND. GND.
دبوس 5. io.

3) سيتم استخدام مؤازر كآلية فتح. يمكن تحديد المؤازرة أي، اعتمادا على الحجم والجهد المطلوب لك، مما يخلق مضاعفة. محرك سيرفو لديه 3 جهات اتصال:

بوضوح أكثر بوضوح يمكنك أن ترى كيف وصلنا جميع الوحدات النمطية في الصورة أدناه:

الآن، إذا كان كل شيء متصلا، فيمكنك الذهاب إلى البرمجة.

رسم:

#تضمن. #تضمن. #تضمن. // مكتبة "RFID". #Define SS_PIN 10 #Define RST_PIN 9 MFRC522 MFRC522 (SS_PIN، RST_PIN)؛ Unsigned UDDEC طويلة، UIDDECMP؛ // على تسمية الملصقات في Servo Servo Servo بالتنسيق العشري؛ إعداد الفراغ () (serial.begin (9600)؛ serial.println ("انتظار البطاقة ...")؛ spi.begin ()؛ // التهيئة الحافلة spi / init spi. mfrc522.pcd_init ()؛ // التهيئة MFRC522 / INIT MFRC522 بطاقة. Servo.attach (6)؛ Servo.write (0)؛ // تثبيت الخادم في الادخار المغلق) حلقة الفراغ () (// البحث عن علامة جديدة (! mfrc522.picc_isnewcardpresent ( )) (العودة؛) // اختيار إذا (! mfrc522.picc_readcardserial ()) (العودة؛) UIDDEC \u003d 0؛ // الإصدار رقم سري العلامات. ل (البايت الأول \u003d 0؛ أنا< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем إشارة الصوت، افتتاح مضاعفات .WRite (90)؛ // تدوير Serv بزاوية 90 درجة (فك أي آلية: الصمام، أدر المفتاح، إلخ) تأخير (3000)؛ // وقفة 3 ثوان وآلية مغلقة. لهجة (5، 500، 500)؛ // جعل صفير، إغلاق) servo.write (0)؛ / / تثبيت سيرف في توفير مغلقة)

سنقوم بفحص الرسم بمزيد من التفاصيل:

من أجل معرفة البطاقات UID (العلامات)، تحتاج إلى كتابة هذا المخطط في اردوينو، وجمع المخطط المحرز أعلاه وفتح وحدة التحكم (مراقبة المنفذ التسلسلي). عند إحضار الملصق إلى RFID، الرقم الموجود في وحدة التحكم

يجب إدخال UID الناتج في السطر التالي:

إذا كان (UIDDEC \u003d\u003d 37639666293) / / قم بمقارنة علامات UID إذا كان مساويا للمحدد، يفتح المؤازر الصمام.

كل بطاقة لديها معرف فريد ولا يتكرر. في مثل هذه الطريقة، عند إحضار البطاقة التي تم تعيين معرفها في البرنامج، سيفتح النظام الوصول باستخدام مؤازرة.

فيديو: