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

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

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

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

  • يعتمد النظام على تقنية التعرّف بواسطة الترددات الراديوية (RFID) للتحقق من بطاقات التلاميذ، حيث يتم ربط قارئ RFID مع لوحة Arduino للتحكم في محرك السيرفو SG90 المسؤول عن فتح الحاجز أو البوابة.

  • عند قيام التلميذ بتمرير بطاقته أمام قارئ RFID، يقوم النظام بقراءة البطاقة والتحقق منها، ثم يتم تشغيل محرك السيرفو SG90 لرفع الحاجز والسماح بالدخول بطريقة منظمة وآمنة.

  • يساهم هذا النظام في تنظيم دخول التلاميذ بشكل فعّال، وضمان العدالة في الاستفادة من خدمة المطعم، كما يسهّل عملية المراقبة والمتابعة من طرف الإدارة.

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

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

مخطط المشروع

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

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • قبل تحميل الكود يرجى تحميل المكتبات التالية:
  • مكتبة 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 gateServo;

// UID البطاقة المسموح لها (غيّره حسب بطاقتك)
byte allowedUID[4] = {0x40, 0x90, 0xB7, 0x89};

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

gateServo.attach(SERVO_PIN);
gateServo.write(0); // الحاجز مغلق

pinMode(BUZZER_PIN, OUTPUT);

Serial.println(“نظام تنظيم دخول المطعم جاهز…”);
}

void loop() {
// التحقق من وجود بطاقة
if (!mfrc522.PICC_IsNewCardPresent())
return;

if (!mfrc522.PICC_ReadCardSerial())
return;

Serial.print(“UID: “);
bool authorized = true;

for (byte i = 0; i < 4; i++) {
Serial.print(mfrc522.uid.uidByte[i], HEX);
Serial.print(” “);
if (mfrc522.uid.uidByte[i] != allowedUID[i]) {
authorized = false;
}
}
Serial.println();

if (authorized) {
// بطاقة صحيحة
digitalWrite(BUZZER_PIN, HIGH);
delay(200);
digitalWrite(BUZZER_PIN, LOW);

gateServo.write(90); // فتح الحاجز
delay(3000); // مدة الدخول
gateServo.write(0); // غلق الحاجز
} else {
// بطاقة غير صحيحة
for (int i = 0; i < 3; i++) {
digitalWrite(BUZZER_PIN, HIGH);
delay(150);
digitalWrite(BUZZER_PIN, LOW);
delay(150);
}
}

mfrc522.PICC_HaltA();
}

اترك تعليقاً

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

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

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

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