/* برمجة المهمة الرابعة مؤقت غسل اليدين */ // هنا نقوم بتعريف المتغيرات const int LED_RED1=2; //تعريف المتغير الأول وهوا المصباح الأحمر الأول الموصل على بين رقم 2 const int LED_RED2=3; //تعريف المتغير الثاني وهوا المصباح الأحمر الثاني الموصل على بين رقم 3 const int LED_YELLOW1=4; //تعريف المتغير الثالث وهوا المصباح الاصفر الأول الموصل على بين رقم 4 const int LED_YELLOW2=5; //تعريف المتغير الرابع وهوا المصباح الاصفر الثاني الموصل على بين رقم 5 const int LED_GREEN=6; //تعريف المتغير الخامس وهوا المصباح الأخضر الموصل على بين رقم 6 int echoPin =11; //تعريف مستشعر المسافة الموصل على بين رقم 11 int trigPin = 12; //تعريف مستشعر المسافة الموصل على بين رقم 12 long duration ; // تعريف متغير لمستشعر المسافة الذي يحسب وقت دخول ورجوع الأشارة int distance ; // تعريف متغير لمستشعر المسافة لمسؤول عن حساب المسافة void setup() { // هنا نقوم بتعريف الأجهزة أن كانت من المداخل والمخارج pinMode(LED_RED1,OUTPUT); // أخبار الأردوينو أن المصباح الأحمر الأول هو من المخرجات pinMode(LED_RED2,OUTPUT); // أخبار الأردوينو أن المصباح الأحمر الثاني هو من المخرجات pinMode(LED_YELLOW1,OUTPUT); // أخبار الأردوينو أن المصباح الأصفر الأول هو من المخرجات pinMode(LED_YELLOW2,OUTPUT); // أخبار الأردوينو أن المصباح الأصفر الثاني هو من المخرجات pinMode(LED_GREEN,OUTPUT); // أخبار الأردوينو أن المصباح الأخضر هو من المخرجات pinMode(trigPin,OUTPUT); // أخبار الأردوينو ان بين تريجر الموجود على مستشعر المسافة هومن المخرجات pinMode(echoPin,INPUT); // أخبار الأردوينو ان بين ايكو الموجود على مستشعر المسافة هومن المدخلات Serial.begin(9600); // سرعة نقل المعلومات بين الأردوينو والكمبيوتر لأظهار قرأت مستشعر المسافة } void loop() { //هنانقوم بكتابة الكود الذي نريد تكرارة digitalWrite(trigPin,LOW); // خطوات لتشغيل مستشغر المسافة delayMicroseconds(2); // خطوات لتشغيل مستشغر المسافة digitalWrite(trigPin, HIGH); // خطوات لتشغيل مستشغر المسافة delayMicroseconds(10); // خطوات لتشغيل مستشغر المسافة digitalWrite(trigPin, HIGH); // خطوات لتشغيل مستشغر المسافة delayMicroseconds(10); // خطوات لتشغيل مستشغر المسافة duration = pulseIn(echoPin, HIGH); // خطوات لتشغيل مستشغر المسافة distance = (duration * .0343) / 2; //لحساب المسافة هي الفترة الزمنية لدخول وخروج الأشارة مضروبة بسرعة الضوء بالثانية تقسيم أثنين Serial.println(distance); // لطباعة المسافة على برنامج الأردوينو if (distance > 0 && distance <= 30) // لو كانت المسافة بين 0 و 30 سنتي متر { digitalWrite( LED_RED1,HIGH); // شغل المصباح الاحمر الأول delay(5000); // أنتظر لمدة خمس ثواني digitalWrite( LED_RED2,HIGH); // شغل المصباح الاحمر الثاني delay(5000); // أنتظر لمدة خمس ثواني digitalWrite( LED_YELLOW1,HIGH); // شغل المصباح الأصفر الأول delay(5000); // أنتظر لمدة خمس ثواني digitalWrite( LED_YELLOW2,HIGH); // شغل المصباح الأصفر الثاني delay(5000); // أنتظر لمدة خمس ثواني digitalWrite( LED_GREEN,HIGH); // شغل المصباح الأخض delay(3000); // أنتظر لمدة ثلاث ثواني } else // لو كانت المسافة ليست بين 0 و 30 سنتي متر { digitalWrite( LED_RED1,LOW); // أطفأ المصباح الاحمر الأول digitalWrite( LED_RED2,LOW); // أطفأ المصباح الاحمر الثاني digitalWrite( LED_YELLOW1,LOW); // أطفأ المصباح الأصفر الأول digitalWrite( LED_YELLOW2,LOW); // أطفأ المصباح الأصفر الثاني digitalWrite( LED_GREEN,LOW); // أطفأ المصباح الأخضر } }