فرض تالليفي 9 أساسي : اصلاح التمرين الثاني و الثالث


اصلاح التمرين الثاني


حول الجملة التالية الى كود برمجي :

" إذا كان  x=1   فإن  Y=0 وإلا فإن  Y=1 "

if ((digitalRead (x)) = = 1){
  digitalWrite (Y,0);
}
else{
digitalWrite (Y,1);
}

 



 اصلاح التمرين الثالث 


 في أحد المؤسسات الصناعية تم تجهيز باب دخول الموظفين بنظام حماية و مراقبة يعتمد على بطاقة أردوينو.

يتكون هذا النظام من زرين يكون الأول (a) في غرفة الحارس و الثاني (b) عند مدير المؤسسة و يتم التحكم في الباب بمحركين M1 للفتح و M2 للإغلاق.

طريقة الاشتغال : عند الضغط على احد الزرين يضيء مصباح (V) باللون الأخضر و يرتفع في ذات الوقت باب الحماية و بعد 3 ثواني يشتغل مصباح (R) باللون الأحمر لمدة ثانيتين ثم يغلق الباب من جديد.

أكتب كود برمجي للتحكم في هذا الباب مع العلم انه تم ربط المكونات بالمنافذ التالية :

الزرa  المنفذ 2

المحرك M1  المنفذ 6

المصباح V المنفذ 10

الزر b المنفذ 3

المحرك M2  المنفذ 7

المصباح R المنفذ 11


ملاحظة هامة : يمثل الكود البرمجي التالي أحد الحلول للتمرين السابق و بالتالي يوجد كودات أخرى تؤدي نفس الوظيفة حسب اجتهاد التلميذ و فهمه للنشاط
يمكن في الكود ايضا التخلي عن الـ else 

 
int a = 2;
int b = 3;
int M1 = 6;
int M2 = 7;
int V = 10;
int R = 11;

void setup(){

pinMode (a , INPUT);
pinMode (b , INPUT);
pinMode (M1 , OUTPUT);
pinMode (M2 , OUTPUT);
pinMode (V , OUTPUT);
pinMode (R , OUTPUT);

}

void loop (){

  
if (((digitalRead(a))==1) || ((digitalRead (b))==1)) {
digitalWrite (V , 1);
digitalWrite (M1 , 1);
delay (3000);
digitalWrite (V , 0);
digitalWrite (M1 , 0);
digitalWrite (R , 1);
delay (2000);
digitalWrite ( M2 , 1);
delay (3000);
digitalWrite ( R , 1);
digitalWrite ( M2 , 0);
}
else {
digitalWrite ( V , 0);
digitalWrite ( M1 , 0);
digitalWrite ( R , 0);
digitalWrite ( M2 , 0);
}
}


إرسال تعليق (0)
أحدث أقدم