قائمة طعام
مجانا
تحقق في
الصفحة الرئيسية  /  مشاكل / قفل إلكتروني على اردوينو أونو. قفل إلكتروني DIY

قفل إلكتروني لاردوينو أونو. قفل إلكتروني DIY

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

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

سنحتاج في هذا البرنامج التعليمي إلى:

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

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

نقوم بتوصيل الجرس بالتسلسل التالي:

اردوينو صفارة
5 فولت VCC
GND GND
دبوس 5 IO

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

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

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

رسم:

#تضمن #تضمن #تضمن // مكتبة "RFID". #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN، RST_PIN) ؛ uidDec طويل بدون توقيع ، uidDecTemp ؛ // لتخزين رقم الملصق بتنسيق عشري مؤازر مؤازر ؛ إعداد باطل () (Serial.begin (9600) ؛ Serial.println ("انتظار البطاقة ...") ؛ SPI.begin () ؛ // تهيئة SPI / Init SPI bus.mfrc522.PCD_Init () ؛ // التهيئة MFRC522 / Init MFRC522 card.servo.attach (6) ؛ servo.write (0) ؛ // اضبط المؤازرة على مغلقة) حلقة فارغة () (// ابحث عن ملصق جديد إذا (! Mfrc522.PICC_IsNewCardPresent ()) (عودة ؛ ) // حدد التسمية إذا (! Mfrc522.PICC_ReadCardSerial ()) (return؛) uidDec \u003d 0؛ // Issue رقم سري تسميات. لـ (بايت i \u003d 0 ؛ i< 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); // Делаем إشارة صوتية، فتح المؤازرة (90) ؛ // قم بتدوير المؤازرة بزاوية 90 درجة (نفتح أي آلية: المزلاج ، أدر المفتاح ، إلخ) تأخير (3000) ؛ // توقف لمدة 3 ثوان والآلية مقفلة. نغمة (5 ، 500 ، 500) ؛ // Make Beep، Close) servo.write (0) ؛ // اضبط المؤازرة على الإغلاق)

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

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

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

إذا (uidDec \u003d\u003d 3763966293) // قارن Uid الخاص بالملصق ، إذا كان يساوي المعطى المعطى ، فإن المؤازرة تفتح الصمام.

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

فيديو:

في هذه المقالة ، سأوضح لك كيفية عمل قفل مركب من اردوينو. لهذا نحتاج إلى مصابيح LED حمراء وخضراء وجرس واردوينو نانو وشاشة LCD مع محول I2C ومحرك سيرفو ولوحة مفاتيح مصفوفة 4x4. عند تشغيله ، ستكتب الشاشة "أدخل الرمز".

يضيء المصباح الأحمر ،

ويتم إيقاف تشغيل اللون الأخضر ، يتم ضبط المؤازرة على 0 درجة. أثناء إدخال الأرقام ، ستضيء * على الشاشة.

إذا تم إدخال الرمز بشكل غير صحيح ، ستكتب الشاشة "أدخل كود". إذا كان الرمز صحيحًا ، فسيصدر صوت صفير ، وستدور المؤازرة 180 درجة ، وستكتب الشاشة "فتح".

يضيء المصباح الأخضر ،

والأحمر ينطفئ. بعد 3 ثوانٍ ، ستعود المؤازرة إلى الموضع الأصلي ، وسيضيء مؤشر LED الأحمر ، وينطفئ مؤشر LED الأخضر ، وستكتب الشاشة "إغلاق".

ثم ستكتب الشاشة "أدخل الرمز". الآن حول المخطط. أولاً ، نقوم بتوصيل اردوينو بالأسلاك باللوحة (جهات اتصال الطاقة).

ثم نقوم بتوصيل لوحة مفاتيح المصفوفة بجهات الاتصال D9 - D2.

ثم المؤازرة. نقوم بتوصيله برقم 10.

الصمام الأحمر للدبوس 11.

أخضر - دبوس 12.

الجرس - إلى دبوس 13.

الآن قم بتحميل الرسم التخطيطي.

#تضمن #تضمن #تضمن #تضمن iarduino_KB كيلوبايت (9 ، 8 ، 7 ، 6 ، 5 ، 4 ، 3 ، 2) ؛ LiquidCrystal_I2C lcd (0x27، 16، 2) ؛ أجهزة مؤازرة تمرير int \u003d (3 ، 6 ، 1 ، 8) ؛ الباحث في int r \u003d 11 ؛ كثافة العمليات ز \u003d 12 ؛ إعداد باطل () (KB.begin (KB1) ؛ pinMode (r ، OUTPUT) ؛ pinMode (g ، OUTPUT) ؛ lcd.init () ؛ lcd.backlight () ؛ الكتابة الرقمية (g ، LOW) ؛ الكتابة الرقمية (r ، HIGH ) ؛ servo.attach (10) ؛ servo.write (0) ؛ lcd.setCursor (0 ، 0) ؛) الحلقة الفارغة () (lcd.clear () ؛ lcd.print ("أدخل الرمز.") ؛ while ( ! KB.check (KEY_DOWN)) (تأخير (1) ؛) in \u003d KB.getNum؛ lcd.clear ()؛ lcd.setCursor (0، 0)؛ lcd.print ("*")؛ while (! KB. تحقق (KEY_DOWN)) (تأخير (1) ؛) في \u003d KB.getNum ؛ lcd.print ("*") ؛ while (! KB.check (KEY_DOWN)) (تأخير (1) ؛) in \u003d KB.getNum ؛ lcd.print ("*") ؛ while (! KB.check (KEY_DOWN)) (تأخير (1) ؛) in \u003d KB.getNum ؛ lcd.print ("*") ؛ إذا (في \u003d\u003d تمرير) (إذا (in \u003d\u003d pass) (if (in \u003d\u003d pass) (if (in \u003d\u003d pass) (lcd.clear ()؛ lcd.setCursor (0، 0)؛ lcd.print ("Open.")؛ tone ( 13، 400، 750)؛ servo.write (180)؛ digitalWrite (r، LOW)؛ digitalWrite (g، HIGH)؛ تأخير (3000)؛ lcd.clear ()؛ lcd.setCursor (0، 0)؛ lcd. طباعة ("إغلاق.") ؛ نغمة (13 ، 300 ، 700) ؛ كتابة مؤازرة (0) ؛ كتابة رقمية (g ، منخفضة) ؛ كتابة رقمية (r ، عالية) ؛ dela ص (1000) ؛ )))))

هذا كل شئ. استمتع بقفل المجموعة!

قائمة العناصر المشعة

تعيين نوع فئة كمية ملحوظةأحرز هدفادفتر ملاحظاتي
ه 1 لوحة اردوينو

اردوينو نانو 3.0

1 5 ب في المفكرة
E8 ، E9 المقاوم

220 أوم

2 SMD في المفكرة
ه 6 الصمام الثنائي الباعث للضوء

AL102G

1 أحمر في المفكرة
ه 7 الصمام الثنائي الباعث للضوء

AL307G

1 أخضر في المفكرة
ه 3 عرض شاشات الكريستال السائلمع واجهة I2C1 الإضاءة الخلفية الخضراء في المفكرة
ه 5 المؤازرةSG901 180 درجة في المفكرة
ه 2 صفارة5 ب1 بو في المفكرة
ه 4 لوحة المفاتيح4 × 41 مصفوفة في المفكرة
ليس اللوح640 نقطة1 لا لحام

كنت أشاهد The Amazing Spider-Man في أحد الأيام وفي أحد المشاهد ، يفتح Peter Parker عن بُعد ويغلق باب الكمبيوتر المحمول الخاص به. بمجرد أن رأيت هذا ، أدركت على الفور أنني بحاجة أيضًا إلى مثل هذا القفل الإلكتروني على الباب الأمامي.

مع القليل من الإصلاح ، قمت بتجميع نموذج عمل لقفل ذكي. في هذا المقال ، سأخبرك كيف أجمعها معًا.

الخطوة 1: قائمة المواد





للتجميع قفل إلكتروني في Arduino ، ستحتاج إلى المواد التالية:

الإلكترونيات:

  • محول حائط 5 فولت

المكونات:

  • 6 مسامير للمزلاج
  • ورق مقوى
  • الأسلاك

الادوات:

  • لحام حديد
  • مسدس الغراء
  • تدريبات
  • تدريبات
  • حفر حفرة تجريبية
  • سكين القرطاسية
  • كمبيوتر مع برنامج Arduino IDE

الخطوة 2: كيف يعمل القفل

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

سيغلق ذراع المؤازرة المتصل بالمزلاج (0 درجة) ويفتحه (60 درجة) باستخدام الأوامر المستلمة عبر وحدة بلوتوث.

الخطوة 3: مخطط الأسلاك


لنقم أولاً بتوصيل المؤازرة بلوحة Arduino (أريد أن أشير إلى أنه على الرغم من أن لدي لوحة Arduino Nano ، فإن pinout هو نفسه تمامًا على لوحة Uno).

  • السلك البني من المؤازرة مطحون ، نقوم بتوصيله بالأرض على Arduino
  • السلك الأحمر زائد ، نقوم بتوصيله بموصل 5V على Arduino
  • السلك البرتقالي - خرج مصدر المؤازرة ، نقوم بتوصيله بالدبوس التاسع على Arduino

أنصحك باختبار المؤازرة قبل متابعة التجميع. للقيام بذلك ، في برنامج Arduino IDE في الأمثلة ، حدد Sweep. بعد التأكد من عمل المؤازرة ، يمكننا توصيل وحدة Bluetooth. تحتاج إلى توصيل دبوس rx الخاص بوحدة Bluetooth بدبوس الإرسال الخاص بـ Arduino ، ودبوس الإرسال الخاص بالوحدة بمنفذ rx الخاص بـ Arduino. لكن لا تفعل ذلك بعد! بمجرد أن يتم لحام هذه الاتصالات ، لن تتمكن بعد الآن من تحميل أي أكواد إلى Arduino ، لذا قم بتنزيل جميع الرموز الخاصة بك أولاً وبعد ذلك فقط قم بتوصيل الاتصالات.

فيما يلي مخطط الأسلاك للوحدة النمطية ووحدة التحكم الدقيقة:

  • وحدة Rx - لوحة اردوينو TX
  • وحدة Tx - لوحات Rx
  • Vcc (إيجابي) للوحدة - 3.3 فولت لوحة Arduino
  • توصيل الأرض بالأرض (أرض - أرض)

إذا بدا التفسير محيرًا لك ، فاتبع مخطط الأسلاك المقدم.

الخطوة 4: الاختبار

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

الخطوة 5: مبيت المكونات الكهربائية



قررت وضع وحدة التحكم ووحدة Bluetooth فقط في العلبة ، وترك المؤازرة بالخارج. للقيام بذلك ، على قطعة من الورق المقوى ، نضع دائرة حول مخطط لوحة Arduino Nano ونضيف 1 سم من المساحة حول المحيط ونقطعها. بعد ذلك قمنا أيضًا بقطع خمسة جوانب أخرى من العلبة. في الجدار الأمامي ، سوف تحتاج إلى قطع فتحة لسلك طاقة وحدة التحكم.

أبعاد جوانب العلبة:

  • القاع - 7.5 × 4 سم
  • غطاء - 7.5 × 4 سم
  • الجدار الجانبي الأيسر - 7.5x4 سم
  • الجدار الجانبي الأيمن - 7.5x4 سم
  • الجدار الأمامي - 4x4 سم (مع فتحة لسلك الطاقة)
  • الجدار الخلفي - 4x4 سم

الخطوة 6: التطبيق

للتحكم في جهاز التحكم ، تحتاج إلى أداة ذكية تعمل بنظام Android أو Windows مزودة بتقنية Bluetooth مدمجة. لم تتح لي الفرصة لاختبار تشغيل التطبيق على أجهزة Apple ، ربما ستكون هناك حاجة لبعض السائقين.

أنا متأكد من أن البعض منكم لديه الفرصة لاختبار ذلك. لنظام Android ، قم بتنزيل تطبيق Bluetooth Terminal ، لنظام التشغيل Windows ، قم بتنزيل TeraTerm. ثم تحتاج إلى توصيل الوحدة بهاتفك الذكي ، يجب أن يكون الاسم لينفور ، ويجب أن تكون كلمة المرور 0000 أو 1234. بمجرد إنشاء الاقتران ، افتح تطبيق مثبت، أدخل الخيارات وحدد "إنشاء اتصال (غير آمن)". أصبح هاتفك الذكي الآن شاشة Arduino تسلسلية ، مما يعني أنه يمكنك التواصل مع وحدة التحكم.

إذا قمت بإدخال 0 ، فسيتم إغلاق الباب وستظهر رسالة "الباب مغلق" على شاشة الهاتف الذكي.
إذا دخلت 1 ، فسترى الباب مفتوحًا ، وستعرض الشاشة رسالة "الباب مفتوح".
على نظام Windows ، العملية هي نفسها ، باستثناء أن تطبيق TeraTerm يحتاج إلى التثبيت.

الخطوة 7: تركيب الترباس


تحتاج أولاً إلى توصيل المؤازرة بالمزلاج. للقيام بذلك ، قم بقطع القوابس من فتحات التركيب في غلاف محرك الأقراص. إذا وضعنا المؤازرة ، فيجب أن تكون فتحات التثبيت مغمورة بالمزلاج. ثم تحتاج إلى وضع ذراع المؤازرة في فتحة المزلاج ، حيث كان مقبض المزلاج. تحقق من كيفية تحرك القفل في العلبة. إذا كان كل شيء على ما يرام ، فقم بتأمين ذراع المؤازرة بالغراء.

أنت الآن بحاجة إلى حفر ثقوب تجريبية للبراغي الموجودة في الباب. للقيام بذلك ، قم بتوصيل المزلاج بالباب واستخدم قلم رصاص لتمييز فتحات المسامير على ورقة الباب. قم بحفر فتحات المسامير بعمق 2.5 سم تقريبًا في الأماكن المحددة ، قم بتوصيل المزلاج وتثبيته بالمسامير. تحقق من المؤازرة مرة أخرى.

الخطوة 8: الطاقة


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

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

# تضمين مضاعفات myservo ؛ عدد نقاط البيع \u003d 0 ؛ دولة دولية علم int \u003d 0 ؛ إعداد باطل () (myservo.attach (9) ؛ Serial.begin (9600) ؛ myservo.write (60) ؛ تأخير (1000) ؛) حلقة باطلة () (إذا (Serial.available ()\u003e 0) (state \u003d Serial.read ()؛ flag \u003d 0؛) // إذا كانت الحالة "0" ، فسيتم إيقاف تشغيل محرك DC إذا (state \u003d\u003d "0") (myservo.write (8)؛ delay (1000)؛ Serial. println ("الباب مغلق") ؛) وإلا إذا (الحالة \u003d\u003d "1") (myservo.write (55) ؛ تأخير (1000) ؛ Serial.println ("الباب مفتوح") ؛))

الخطوة 10: انتهى قفل Arduino

استمتع بقلعتك مع جهاز التحكمولا تنسى أن تغلق "بالخطأ" على أصدقائك في الغرفة.

قيادة قناة يوتيوب طُلب من "AlexGyver" عمل قفل إلكتروني بأيديهم. مرحبًا بك في دورة مقاطع الفيديو حول الأقفال الإلكترونية على اردوينو. بشكل عام ، سوف يشرح المعالج الفكرة.

هناك عدة خيارات لإنشاء نظام قفل إلكتروني. غالبًا ما تستخدم لقفل الأبواب والأدراج والخزائن. وأيضًا لإنشاء مخابئ وخزائن سرية. لذلك ، تحتاج إلى عمل تخطيط مناسب للعمل به ويمكنك إظهار بنية النظام بوضوح وتفصيل من الداخل والخارج. لذلك قررت أن أصنع إطارًا بباب. للقيام بذلك ، تحتاج إلى شريط مربع 30 × 30. خشب رقائقي 10 ملم. مفصلات الأبواب. في البداية ، أردت صنع صندوق من الخشب الرقائقي ، لكنني تذكرت أن كل شيء في الغرفة مليء بقطع الغيار. لا يوجد مكان لوضع مثل هذا الصندوق. لذلك ، سيتم عمل تخطيط. إذا أراد شخص ما أن يضع لنفسه قفلًا إلكترونيًا ، فعند النظر إلى التصميم ، يمكنك بسهولة تكرار كل شيء.

يمكن العثور على كل ما تحتاجه للقلعة في هذا المتجر الصيني.

الهدف هو تطوير الدوائر والبرامج الثابتة الأكثر كفاءة للأقفال الإلكترونية. يمكنك استخدام هذه النتائج لتثبيت هذه الأنظمة على الأبواب والأدراج والخزائن وأماكن الاختباء.

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

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

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

جزء ثان

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

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

جودة الصورة ليست الأفضل ، ولكن يتم إجراء التوصيلات على الأرض و D3 و D5 و D7 و D9 و D11.

يظهر رمز أدناه:

Const int ina \u003d 3 ؛ const int inb \u003d 5 ؛ const int inc \u003d 9 ؛ const int ledPin \u003d 13 ؛ كثافة العمليات أنا \u003d 1000 ؛ البايت أ \u003d 0 ؛ البايت ب \u003d 0 ؛ البايت ج \u003d 0 ؛ البايت د \u003d 0 ؛ وقت طويل بدون توقيع \u003d 0 ؛ // لا تنسى كل ما يأخذه millis () على درجة حرارة طويلة بدون توقيع \u003d 0 ؛ // تخزين في مفتاح بايت طويل بدون إشارة \u003d (0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0) ؛ // أكواد في الواقع بايت keyb \u003d (1 ، 1 ، 1 ، 1 ، 0 ، 1 ، 0 ، 0) ؛ مفتاح البايت \u003d (1 ، 0 ، 1 ، 0 ، 1 ، 1 ، 1 ، 0) ؛ البايت ك \u003d 0 ؛ إعداد باطل () (pinMode (ina ، INPUT_PULLUP) ؛ // 3 مدخلات لتوصيلها بأزرار pinMode (inb ، INPUT_PULLUP) ؛ pinMode (inc ، INPUT_PULLUP) ؛ pinMode (ledPin ، OUTPUT) ؛ // LED مدمج على الدبوس الثالث عشر pinMode (7 ، الإخراج) ؛ pinMode (11 ، الإخراج) ؛ digitalWrite (7 ، منخفض) ؛ // استبدال الأرض الرقمية كتابة (11 ، منخفضة) ؛ الوقت \u003d ميلي () ؛ // مطلوب للتوقيت) باطل blinktwice () ( // وميض مزدوج للكتابة الرقمية LED (ledPin ، HIGH) ؛ تأخير (100) ؛ كتابة رقمية (ledPin ، منخفض) ؛ تأخير (100) ؛ كتابة رقمية (ledPin ، مرتفع) ؛ تأخير (100) ؛ كتابة رقمية (ledPin ، منخفض) ؛ تأخير ( 200) ؛) حلقة باطلة () (إذا (ك \u003d\u003d 0) (blinktwice () ؛ // موجه للكود) إذا (ك \u003d\u003d 8) (كتابة رقمية (ledPin ، عالية) ؛ تأخير (3000) ؛ ك \u003d 0 ؛) a \u003d digitalRead (ina) ؛ // تتم قراءة مستويات الإشارة من الأزرار - الضغط / عدم الضغط b \u003d digitalRead (inb) ؛ c \u003d digitalRead (inc) ؛ تأخير (100) ؛ // التالي إذا - الحماية من الإيجابيات الخاطئة ، لست بحاجة إلى استخدام if ((digitalRead (ina) \u003d\u003d a) && (digitalRead (inb) \u003d\u003d b) && (digitalRead (inc) \u003d\u003d c)) (if (a \u003d\u003d keya [k]) (if (b \u003d\u003d keyb [k]) (if (c \u003d\u003d keyc [k]) (k ++ ؛ )))) إذا (k \u003d\u003d 1) (if (d \u003d\u003d 0) (time \u003d millis () ؛ d ++ ؛)) temp \u003d millis () ؛ temp \u003d temp - الوقت ؛ إذا (درجة الحرارة\u003e 10000) (ك \u003d 0 ؛ د \u003d 0 ؛ الوقت \u003d ملي () ؛))

لتجنب الأسئلة غير الضرورية حول الكود ، يجب توضيح بعض النقاط. يتم استخدام وظيفة الإعداد لتعيين المنافذ. الوظيفة التالية هي Input_Pullup ، وهي ضرورية لزيادة جهد الدبوس بمقدار 5 فولت. ويتم ذلك باستخدام المقاوم. نتيجة لهذا ، لن تحدث دوائر قصيرة مختلفة. لمزيد من الراحة ، نوصي باستخدام وظيفة blinktwice. بشكل عام ، عند إنشاء برامج مختلفة ، تحتاج إلى تجربة وظائف أخرى.

بعد تعيين الوظائف ، تتم قراءة الإشارة من المنافذ. إذا تم الضغط على الزر ، فسيتم الإشارة إليه بالرقم 1 ، وإذا لم يكن كذلك - 2. علاوة على ذلك ، يتم تحليل جميع القيم. على سبيل المثال ، ظهرت مجموعة مثل 0،1،1. هذا يعني أنه يتم الضغط على المفتاح الأول بينما لا يتم الضغط على المفتاحين الآخرين. إذا كانت جميع القيم صحيحة ، يكون الشرط 8 صحيحًا أيضًا. يتضح هذا من خلال إضاءة LED على اللوحة الأمامية. بعد ذلك ، تحتاج إلى إدخال رمز محدد يعمل على فتح الباب.

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