مشروع للتذكير بإغلاق الهاتف عند دخول المسجد باستخدام أردوينو اكتب تعليقُا

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

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

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

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

مخطط المشروع

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

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

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // استخدم 0x3F إذا لم يعمل 0x27

const int trigPin = 12;
const int echoPin = 13;

const int ledPin = 4;
const int buzzerPin = 3;

long duration;
int distance;
bool wasAlerted = false;

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);

lcd.init();
lcd.backlight();

// Gentle welcome
lcd.setCursor(0, 0);
lcd.print(“Salam Alaikum :)”);
lcd.setCursor(0, 1);
lcd.print(“Please get ready”);

tone(buzzerPin, 400, 150); // Soft tone
digitalWrite(ledPin, HIGH); delay(150);
digitalWrite(ledPin, LOW);

delay(2000);
lcd.clear();
}

void loop() {
// Read distance
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

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

if (distance <= 5 && !wasAlerted) {
// Gentle alert once
lcd.setCursor(0, 0);
lcd.print(“Phone off please”);
lcd.setCursor(0, 1);
lcd.print(“Respect Masjid”);

tone(buzzerPin, 350, 200); // Very soft tone
digitalWrite(ledPin, HIGH); delay(150);
digitalWrite(ledPin, LOW);

wasAlerted = true; // Prevent repeat alerts
}

if (distance > 5) {
lcd.clear();
wasAlerted = false;
noTone(buzzerPin);
digitalWrite(ledPin, LOW);
}

delay(300);
}

اترك تعليقاً

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