مشروع نظام الدخول الى المباني السكنية باستخدام اردوينو اكتب تعليقُا

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

شرح فكرة المشروع

  • في هذا المشروع سنقوم بتصميم نموذج نظام إلكتروني ذكي للتحكم في الدخول إلى المباني السكنية باستخدام لوحة Arduino Uno.

  • يعتمد النظام على تقنية التعرّف بواسطة البطاقات RFID للتحقق من هوية الأشخاص المصرّح لهم بالدخول، حيث يتم ربط قارئ RFID مع لوحة Arduino للتحكم في الفتح.

  • عند قيام الشخص بتمرير بطاقة RFID أمام القارئ، يقوم النظام بقراءة البطاقة والتحقق من صلاحيتها، وفي حال كانت البطاقة معتمدة يتم فتح الباب تلقائيًا لفترة زمنية محددة، ثم يُغلق مرة أخرى.

  • يساهم هذا النظام في تعزيز أمن المباني السكنية، وتنظيم عملية الدخول، وتقليل الاعتماد على المفاتيح التقليدية، إضافة إلى سهولة الاستخدام وقلة التكلفة.

  • وفي الختام نسأل الله عز وجل أن يكون هذا العمل مفيدًا ونافعًا، وأن يساهم في تحسين مستوى الأمان وتبسيط الحياة اليومية باستخدام التقنيات الحديثة.

أدوات المشروع

مخطط المشروع

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • قبل تحميل الكود يرجى تحميل المكتبات التالية:
  • مكتبة SPI.h
  • مكتبة MFRC522.h
  • مكتبة Servo.h
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.
  • لمعرفة كود البطاقة المسموح بها:
  • شغّل البرنامج
  • افتح Serial Monitor
  • مرّر بطاقتك
  • انسخ UID وغيّره في السطر التالي من الكود:
  • ;byte allowedUID[4] = {0xDE, 0xAD, 0xBE, 0xEF}
  • وذلك باستبدال الأربع ثنائيات التالية بتلك المعروضة بعد تمرير البطاقة:
    DE , AD , BE , EF
  • مثال: اذا تم عرض : E3 , FF , A3 , BE
  • نغير السطر السابق من الكود ليصبح:
  • ;byte allowedUID[4] = {0xE3, 0xFF, 0xA3, 0xBE}
  • ثم نقوم بتحميل الكود البرمجي المعدل الى لوحة أردوينو

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>

#define SS_PIN 10
#define RST_PIN 9
#define SERVO_PIN 6
#define BUZZER_PIN 5

MFRC522 mfrc522(SS_PIN, RST_PIN);
Servo residentialGate;

// UID البطاقة المصرح لها بالدخول (تأكد من مطابقتها لبطاقتك)
byte residentUID[4] = {0x40, 0x90, 0xB7, 0x89};

void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();

residentialGate.attach(SERVO_PIN);
residentialGate.write(0); // الباب مغلق في البداية

pinMode(BUZZER_PIN, OUTPUT);

Serial.println(“— نظام أمان المبنى السكني جاهز —“);
Serial.println(“يرجى تقريب البطاقة المبرمجة…”);
}

void loop() {
// البحث عن بطاقات جديدة
if (!mfrc522.PICC_IsNewCardPresent() || !mfrc522.PICC_ReadCardSerial()) {
return;
}

Serial.print(“محاولة دخول – UID للبطاقة: “);
bool accessGranted = true;

for (byte i = 0; i < 4; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? ” 0″ : ” “);
Serial.print(mfrc522.uid.uidByte[i], HEX);
if (mfrc522.uid.uidByte[i] != residentUID[i]) {
accessGranted = false;
}
}
Serial.println();

if (accessGranted) {
handleSuccess();
} else {
handleFailure();
}

mfrc522.PICC_HaltA();
}

// دالة التعامل مع الدخول الناجح
void handleSuccess() {
Serial.println(“تم التأكد: أهلاً بك في منزلك!”);

// نغمة ترحيبية مميزة
tone(BUZZER_PIN, 1000); delay(100);
tone(BUZZER_PIN, 1500); delay(100);
tone(BUZZER_PIN, 2000); delay(200);
noTone(BUZZER_PIN);

residentialGate.write(90); // فتح القفل أو الباب
delay(2000); // بقاء الباب مفتوحاً لمدة 5 ثوانٍ
residentialGate.write(0); // إغلاق الباب
}

// دالة التعامل مع محاولة دخول غير مصرح بها
void handleFailure() {
Serial.println(“تنبيه: بطاقة غير مصرح بها!”);

// نغمة تحذير حادة
for (int i = 0; i < 3; i++) {
tone(BUZZER_PIN, 300); // صوت منخفض ومنذر
delay(200);
noTone(BUZZER_PIN);
delay(100);
}
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

تحديثات مهمة للعملاء في السعودية بدءًا من 1 يناير 2026م

يرجى الاطلاع على تفاصيل التحديثات عبر الرابط التالي:

اضغط هنا
إغلاق هذا الإشعار يُعد تأكيدًا على أنك قرأت التحديثات وفهمتها.