Professional Documents
Culture Documents
ﻣﻘﺪﻣﺔ
اﻟﺪرج ﻋﻨﺼﺮ ﻣﻌﻤﺎري ﻫﺎم وﻇﻴﻔﻴﺎ ﻳﻤﻦ أن ﻳﻮن ﻋﻨﺼﺮ ﺟﻤﺎﻟ ﺑﺈﺿﺎﻓﺔ ﻣﺼﺎﺑﻴﺢ ﻋﻠ ﻃﻮل اﻟﺪرج ﺗﻮﺿﺢ اﻟﺨﻄﻮات ﻟﻸﻓﺮاد ﺗﺠﻨﺒﺎ
ﻟﻠﻌﺜﺮات واﻟﺴﻘﻮط وﻳﻤﻦ ﺟﻌﻞ ﻫﺬه اﻟﻤﺼﺎﺑﻴﺢ ﻣﻮﻓﺮة ﻟﻠﻄﺎﻗﺔ ﺑﺤﻴﺚ ﺗﻌﻤﻞ وﻗﺖ ﻣﺮور اﻷﻓﺮاد ﻣﻦ ﺣﻮﻟﻬﺎ وﺗﺘﻮﻗﻒ ﻋﻦ اﻟﻌﻤﻞ إذا ﻛﺎن ﻫﻨﺎك
ﺳﻮن ﺑﺎﻟﻤﺎن ،ﻓ ﻫﺬا اﻟﺪرس ﺳﺘﺘﻌﻠﻢ ﻃﺮﻳﻘﺔ ﺻﻨﻊ اﻟﺪرج اﻟﻤﻀء ﺑﺎﺳﺘﺨﺪام اﻻردوﻳﻨﻮ وﺣﺴﺎس اﻟﺤﺮﻛﺔ.
اﻟﻤﻮاد واﻷدوات
1/14
×1اردوﻳﻨﻮ اوﻧﻮ
×1ﺳﻠﻚ اﻻردوﻳﻨﻮ
2/14
ﺣﺰﻣﺔ أﺳﻼك ﺗﻮﺻﻴﻞ )ذﻛﺮ – أﻧﺜ(
ﻳﻤﻨﻚ اﺧﺘﻴﺎر 11ﺛﻨﺎﺋ ﻣﺸﻊ ﻟﻠﻀﻮء ﺣﺴﺐ اﻷﻟﻮان اﻟﺘ ﺗﺮﻳﺪﻳﻬﺎ وﺣﺴﺐ ﺣﺎﺟﺔ ﻣﺸﺮوﻋﻚ:
3/14
ﺛﻨﺎﺋ ﻣﺸﻊ ﻟﻠﻀﻮء أزرق )(LED
×11ﻣﻘﺎوﻣﺔ Ω 220
4/14
×2ﺣﺴﺎس اﻟﺤﺮﻛﺔ
×1ﻫﻴﻞ درج
ﺗﻮﺻﻴﻞ اﻟﺪاﺋﺮة
ﻟﻠﻤﺰﻳﺪ ﺣﻮل ﺣﺴﺎس اﻟﺤﺮﻛﺔ ﻳﻤﻨﻚ اﻟﺮﺟﻮع ﻟﻠﺪرس ﺣﺴﺎس اﻟﺤﺮﻛﺔ ).(PIR Sensor
5/14
اﻟﻬﻴﻞ
ﻓ ﻫﺬا اﻟﺪرس ﺗﻢ اﺳﺘﺨﺪام ﻗﺎﻟﺐ ﻓﻠﻴﻨ ﻟﻤﺤﺎﻛﺎة اﻟﺪرج
ﻳﻤﻨﻚ اﺧﺘﻴﺎر ﺷﻞ اﻟﻬﻴﻞ اﻟﻤﻨﺎﺳﺐ ﻟﻚ ﺳﻮاء ﻗﺎﻟﺐ ﻓﻴﻠﻴﻨ أو ﻛﺮﺗﻮﻧ أو ﻧﻤﻮذج ﺑﺎﻟﻄﺎﺑﻌﺔ ﺛﻼﺛﻴﺔ اﻷﺑﻌﺎد أو ﻧﻤﻮذج ﺧﺸﺒ ﺑﺠﻬﺎز اﻟﻠﻴﺰر.
6/14
ﺗﻢ ﺗﺜﺒﻴﺖ اﻟﺪاﺋﺮة اﻟﻬﺮﺑﺎﺋﻴﺔ ﺑﺸﻞ ﻣﺤﻢ ﺧﻠﻒ اﻟﻘﺎﻟﺐ اﻟﻔﻠﻴﻨ.
7/14
ﻮد اﻟﺒﺮﻣﺠاﻟ
.(IDE) ﻟﻮﺣﺔ اﻻردوﻳﻨﻮ ﺑﺎﺳﺘﺨﺪام ﺑﺮﻧﺎﻣﺞ اردوﻳﻨﻮء ﻋﻠارﻓﻊ ﻛﻮد ﻣﺸﺮوع اﻟﺪرج اﻟﻤﻀ
int val1 = 0;
int val2 = 0;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(PIRsensor1, INPUT);
pinMode(PIRsensor2, INPUT);
}
void loop()
{
val1 = digitalRead(PIRsensor1);
val2 = digitalRead(PIRsensor2);
if (val1 == HIGH)
{
digitalWrite(led1, HIGH);
delay(500);
digitalWrite(led2, HIGH);
delay(500);
8/14
digitalWrite(led3, HIGH);
delay(500);
digitalWrite(led4, HIGH);
delay(500);
digitalWrite(led5, HIGH);
delay(500);
digitalWrite(led6, HIGH);
delay(500);
digitalWrite(led7, HIGH);
delay(500);
digitalWrite(led8, HIGH);
delay(500);
digitalWrite(led9, HIGH);
delay(500);
digitalWrite(led10, HIGH);
delay(500);
digitalWrite(led11, HIGH);
delay(500);
digitalWrite(led1, LOW);
delay(500);
digitalWrite(led2, LOW);
delay(500);
digitalWrite(led3, LOW);
delay(500);
digitalWrite(led4, LOW);
delay(500);
digitalWrite(led5, LOW);
delay(500);
digitalWrite(led6, LOW);
delay(500);
digitalWrite(led7, LOW);
delay(500);
digitalWrite(led8, LOW);
delay(500);
digitalWrite(led9, LOW);
delay(500);
digitalWrite(led10, LOW);
delay(500);
digitalWrite(led11, LOW);
delay(200);
}
if (val2 == HIGH)
{
digitalWrite(led11, HIGH);
delay(500);
digitalWrite(led10, HIGH);
delay(500);
digitalWrite(led9, HIGH);
delay(500);
digitalWrite(led8, HIGH);
delay(500);
digitalWrite(led7, HIGH);
9/14
delay(500);
digitalWrite(led6, HIGH);
delay(500);
digitalWrite(led5, HIGH);
delay(500);
digitalWrite(led4, HIGH);
delay(500);
digitalWrite(led3, HIGH);
delay(500);
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led1, HIGH);
delay(500);
digitalWrite(led11, LOW);
delay(500);
digitalWrite(led10, LOW);
delay(500);
digitalWrite(led9, LOW);
delay(500);
digitalWrite(led8, LOW);
delay(500);
digitalWrite(led7, LOW);
delay(500);
digitalWrite(led6, LOW);
delay(500);
digitalWrite(led5, LOW);
delay(500);
digitalWrite(led4, LOW);
delay(500);
digitalWrite(led3, LOW);
delay(500);
digitalWrite(led2, LOW);
delay(500);
digitalWrite(led1, LOW);
delay(200);
}
else
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(led11, LOW);
}
}
10/14
ﻮد اﻟﺒﺮﻣﺠﺷﺮح اﻟ
. اﻟﻤﺸﻊ ﻟﻠﻀﻮء ﺳﻨﺴﺘﺨﺪﻣﻬﺎ ﻟﺘﺨﺰﻳﻦ ﻗﻴﻢ اﻟﺜﻨﺎﺋ اﻟﺒﺪاﻳﺔ ﻋﺮﻓﻨﺎ اﻟﻤﺘﻐﻴﺮات اﻟﺘﻓ
. اﻟﺤﺮﻛﺔ اﻟﻠﺬﻳﻦ ﺳﻨﺴﺘﺨﺪﻣﻬﻢ ﻟﺘﻌﺮﻳﻒ ﺣﺴﺎﺳPIRsensor2 وPIRsensor1 ﺑﻌﺪ ذﻟﻚ ﻋﺮﻓﻨﺎ اﻟﻤﺘﻐﻴﺮﻳﻦ
int val1 = 0;
int val2 = 0;
.ﻮن ﻣﺨﺮج أن ﻳ اﻟﻤﺸﻊ ﻟﻠﻀﻮء ﻋﻠ ﺳﻴﺘﻢ ﺗﻬﻴﺌﺔ اﻟﺜﻨﺎﺋsetup() اﻟﺪاﻟﺔﻓ
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(PIRsensor1, INPUT);
pinMode(PIRsensor2, INPUT);
}
11/14
,ﻞ ﻣﺘﻨﺎوب وزﻣﻦ إﻳﻘﺎف ﺑﻴﻨﻬﻢ ﻣﺪﺗﻪ ﻧﺼﻒ ﺛﺎﻧﻴﺔ اﻟﺤﺴﺎس اﻷول )اﻟﺪرج أﺳﻔﻞ اﻟﺪرج( ﺳﺘﺒﺪأ اﻹﺿﺎءة ﺑﺎﻟﻌﻤﻞ ﺑﺸإذا ﻛﺎن ﻫﻨﺎك ﺣﺮﻛﺔ ﻓ
void loop()
{
val1 = digitalRead(PIRsensor1);
val2 = digitalRead(PIRsensor2);
if (val1 == HIGH)
{
digitalWrite(led1, HIGH);
delay(500);
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led3, HIGH);
delay(500);
digitalWrite(led4, HIGH);
delay(500);
digitalWrite(led5, HIGH);
delay(500);
digitalWrite(led6, HIGH);
delay(500);
digitalWrite(led7, HIGH);
delay(500);
digitalWrite(led8, HIGH);
delay(500);
digitalWrite(led9, HIGH);
delay(500);
digitalWrite(led10, HIGH);
delay(500);
digitalWrite(led11, HIGH);
delay(500);
digitalWrite(led1, LOW);
delay(500);
digitalWrite(led2, LOW);
delay(500);
digitalWrite(led3, LOW);
delay(500);
digitalWrite(led4, LOW);
delay(500);
digitalWrite(led5, LOW);
delay(500);
digitalWrite(led6, LOW);
delay(500);
digitalWrite(led7, LOW);
delay(500);
digitalWrite(led8, LOW);
delay(500);
digitalWrite(led9, LOW);
delay(500);
digitalWrite(led10, LOW);
delay(500);
digitalWrite(led11, LOW);
delay(200);
}
12/14
.ﻞ ﻣﺘﻨﺎوب وزﻣﻦ إﻳﻘﺎف ﺑﻴﻨﻬﻢ ﻣﺪﺗﻪ ﻧﺼﻒ ﺛﺎﻧﻴﺔ اﻟﺪرج( ﺳﺘﺒﺪأ اﻹﺿﺎءة ﺑﺎﻟﻌﻤﻞ ﺑﺸ )اﻟﺪرج أﻋﻠإذا ﻛﺎن ﻫﻨﺎك ﺣﺮﻛﺔ ﻣﻘﺎﺑﻞ اﻟﺤﺴﺎس اﻟﺜﺎﻧ
if (val2 == HIGH)
{
digitalWrite(led11, HIGH);
delay(500);
digitalWrite(led10, HIGH);
delay(500);
digitalWrite(led9, HIGH);
delay(500);
digitalWrite(led8, HIGH);
delay(500);
digitalWrite(led7, HIGH);
delay(500);
digitalWrite(led6, HIGH);
delay(500);
digitalWrite(led5, HIGH);
delay(500);
digitalWrite(led4, HIGH);
delay(500);
digitalWrite(led3, HIGH);
delay(500);
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led1, HIGH);
delay(500);
digitalWrite(led11, LOW);
delay(500);
digitalWrite(led10, LOW);
delay(500);
digitalWrite(led9, LOW);
delay(500);
digitalWrite(led8, LOW);
delay(500);
digitalWrite(led7, LOW);
delay(500);
digitalWrite(led6, LOW);
delay(500);
digitalWrite(led5, LOW);
delay(500);
digitalWrite(led4, LOW);
delay(500);
digitalWrite(led3, LOW);
delay(500);
digitalWrite(led2, LOW);
delay(500);
digitalWrite(led1, LOW);
delay(200);
}
13/14
else
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(led11, LOW);
}
14/14