مشروع لتنظيم دخول التلاميذ إلى الصف اكتب تعليقُا

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

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

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

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

مخطط المشروع

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

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

#include <Servo.h>
// تعريف المنافذ
const int trigPin = 2;
const int echoPin = 3;
const int buzzerPin = 4;
const int ledGreenPin = 8; // الدبوس المتصل بـ LED الأخضر
const int ledRedPin = 9; // الدبوس المتصل بـ LED الأحمر

// تحديد مدى الأمان
const long safeDistance = 8; // بالسنتمترات

Servo myServo;
int servoPos = 0; //servo position in degrees
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledGreenPin, OUTPUT);
pinMode(ledRedPin, OUTPUT);

Serial.begin(9600);
myServo.attach(10);
myServo.write(0);//0 degrees is closed

}

void loop() {
// قياس المسافة
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (0.034*duration)/2;

Serial.println(“Hello pupils!”);

// السماح بالمرور
if (distance < safeDistance) {
Serial.println(“Enter Please!”);
digitalWrite(buzzerPin, HIGH);
delay(250);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledGreenPin, HIGH);
digitalWrite(ledRedPin, LOW);
myServo.write(90);
delay(1500);
myServo.write(0);
// الانتظار وعدم السماح بالمرور
Serial.println(“Wait Please!”);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledGreenPin, LOW);
digitalWrite(ledRedPin, HIGH);
delay(1000);
} else {// عدم السماح بالمرور
Serial.println(“Hello pupils!”);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledGreenPin, LOW);
digitalWrite(ledRedPin, HIGH);
myServo.write(0);
}
delay(500);
}

اترك تعليقاً

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