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

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

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

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

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

  • اردوينو اونو مع سلك توصيل Arduino Uno: عدد 1
  • شاشة LCD 16 x 02 IIC/I2C Serial: عدد 1
  • 6 × 6 × 5 ملم مفتاح زر الضغط Tactile push button switch: عدد 1
  • جرس 5 فولت طنان Active Buzzer: عدد 1
  • لوح تجارب 400 نقطة لون ابيض Solderless Breadboard: عدد 1
  • أسلاك توصيل من ذكر إلى أنثى 40 دبوس 20 سم wires 40pcs Male to Female
  • أسلاك توصيل ذكر لذكر 40 قطعة 20 سم Male to Male jumper wires

مخطط المشروع

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

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

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

// إعداد شاشة LCD مع عنوان I2C 0x27، وأبعاد 16×2
LiquidCrystal_I2C lcd(0x27, 16, 2);

const int buzzerPin = 8; // دبوس المنبه الصوتي
const int buttonPin = 7; // دبوس الزر
int buttonState = HIGH;

// تعيين عدد الدقائق كمتغير
int delayMinutes = 5; // عدد الدقائق

// تحويل عدد الدقائق إلى ميلي ثانية
int delaySec = delayMinutes * 60;
void setup() {
lcd.init(); // بدء تشغيل شاشة LCD
lcd.backlight(); // تشغيل الإضاءة الخلفية للشاشة
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP); // استخدام مقاومة سحب داخلية
lcd.setCursor(0, 0);
lcd.print(“Water is good”);
lcd.setCursor(0, 1);
lcd.print(“for health :)”);
}

void loop() {
// قراءة حالة الزر
buttonState = digitalRead(buttonPin);

// إذا كان الزر مضغوطًا، قم بإيقاف المنبه
if (buttonState == LOW) {
noTone(buzzerPin); // إيقاف الصوت
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Thanks!”);
delay(2000); // عرض الرسالة لمدة ثانيتين
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Drink Water Soon”);
} else {
// إذا لم يكن الزر مضغوطًا، شغّل المنبه كل عدد الدقائق المحددة
for(int i=1; i<= delaySec ; i++){
delay(1000);} // تأخير حسب عدد الدقائق
tone(buzzerPin, 1000); // تشغيل الصوت بتردد 1000 هرتز
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Time to hydrate!”);
delay(5000); // عرض الرسالة لمدة 5 ثوانٍ
noTone(buzzerPin); // إيقاف الصوت
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Drink Water Now!”);
}
}

اترك تعليقاً

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