Professional Documents
Culture Documents
ﻣﻘﺪﻣﺔ
ﻓ ﻫﺬا اﻟﺪرس ﺳﺘﺘﻌﻠﻢ ﻛﻴﻔﻴﺔ ﻋﺮض درﺟﺔ اﻟﺤﺮارة واﻻﺿﺎءة ﻓ اﻟﻐﺮﻓﺔ ﻋﻠ اﻟﺸﺎﺷﺔ اﻟﺮﺳﺘﺎﻟﻴﺔ .LCD
ﺳﺘﻘﻮم ﺑﻘﻴﺎس درﺟﺔ ﺳﻄﻮع اﺿﺎءة اﻟﻐﺮﻓﺔ ﻋﺒﺮ ﻣﺴﺘﺸﻌﺮ اﻻﺿﺎءة ‘ ’photocellاﻟﺬي ﻗﻤﺖ ﺑﺈﺳﺘﺨﺪاﻣﻪ ﻓ اﻟﺪرس اﻟﻌﺎﺷﺮ.
ﻟﻘﻴﺎس درﺟﺔ اﻟﺤﺮارة ﺳﺘﺴﺘﺨﺪم ﻣﺴﺘﺸﻌﺮ اﻟﺤﺮارة .ﻫﺬه اﻻداة ﺗﻤﺘﻠﻚ ﺛﻼث رؤوس ،واﺣﺪة ﻟﻠﺤﺼﻮل ﻋﻠ ﻃﺎﻗﺔ 5Vوواﺣﺪة ﻟﻠﻤﺨﺮج
اﻷرﺿ GND وواﺣﺪة ﻷﺟﻞ اﻟﺘﻮﺻﻴﻞ إﻟ ﻣﺪﺧﻞ ﺗﻨﺎﻇﺮي analog inputﺑﺎﻻردوﻳﻨﻮ.
اﻟﻤﻮاد واﻷدوات
1/8
(LCD Display (16×2 characters ×1
(kΩ Resistor 1) ×1
2/8
(Photocell) × اﻟﻤﺴﺘﺸﻌﺮ اﻟﻀﻮﺋ1
3/8
×1ﻟﻮﺣﺔ اﻟﺘﺠﺎرب )(Half-size Breadboard
×1اردوﻳﻨﻮ اوﻧﻮ
4/8
ﺣﺰﻣﺔ أﺳﻼك ﺗﻮﺻﻴﻞ )ذﻛﺮ‐ذﻛﺮ(
×1ﺳﻠﻚ اردوﻳﻨﻮ
ﺗﻮﺻﻴﻞ اﻟﺪاﺋﺮة
ﺣﺘ ﺗﺘﻤﻦ ﻣﻦ ﻋﺮض درﺟﺔ اﻟﺤﺮارة واﻻﺿﺎءة ﻋﻠﻴﻚ اﻟﺮﺟﻮع ﻟﺘﺼﻤﻴﻢ اﻟﺪاﺋﺮة ﻓ اﻟﺪرس اﻟﺜﺎﻧ ﻋﺸﺮ:
5/8
ﻗﻤﻨﺎ ﺑﺘﻐﻴﻴﺮ ﺑﻌﺾ اﻟﺘﻮﺻﻴﻼت ﻓ اﻟﺘﺼﻤﻴﻢ ﻛﻤﺎ ﺗﻼﺣﻆ ،ﺗﺤﺪﻳﺪاً اﻟﺘﻮﺻﻴﻼت اﻟﺘ ﺣﻮل اﻟﻤﻘﺎوم اﻟﻤﺘﻐﻴﺮ ‘. ’pot
ﻣﺴﺘﺸﻌﺮ اﻟﻀﻮء ‘ ’photocellواﻟﻤﻘﺎوﻣﻪ 1kΩو ﻣﺴﺘﺸﻌﺮ اﻟﺤﺮارة TMP36ﻫ اﻻﺿﺎﻓﺎت اﻟﺘ ﻗﻤﻨﺎ ﺑﺎﺿﺎﻓﺘﻬﺎ ﻟﻠﻮح اﻟﺘﺠﺎرب .اﻟﺠﺰء
اﻟﻤﻘﻮس ﻟﻤﺴﺘﺸﻌﺮ اﻟﺤﺮارة TMP36ﻳﻮن ﺑﺈﺗﺠﺎه اﻟﺸﺎﺷﺔ.
اﻟﻮد اﻟﺒﺮﻣﺠ
اﻟﻮد اﻟﺒﺮﻣﺠ ﻟﻬﺬا اﻟﺪرس ﻳﻌﺘﻤﺪ ﻋﻠ اﻟﻮد اﻟﺒﺮﻣﺠ ﻟﻠﺪرس اﻟﺜﺎﻧ ﻋﺸﺮ ،وﻗﻤﻨﺎ ﺑﺎﺿﺎﻓﺔ ﺑﻌﺾ اﻻﺳﻄﺮ ﻟﻨﺘﻤﻦ ﻣﻦ ﻋﺮض درﺟﺔ اﻟﺤﺮارة
واﻻﺿﺎءة ﻋﻠ ﺷﺎﺷﺔ LCD
>#include <LiquidCrystal.h
)(void setup
{
;)lcd.begin(16, 2
}
)(void loop
{
6/8
// Display Temperature in C
;)int tempReading = analogRead(tempPin
;float tempVolts = tempReading * 5.0 / 1024.0
;float tempC = (tempVolts - 0.5) * 100.0
;float tempF = tempC * 9.0 / 5.0 + 32.0
// ----------------
lcd.print("Temp ;)" F
;)lcd.setCursor(6, 0
;)lcd.print(tempF
ﻓ اﻟﺴﻄﺮ اﻟﺘﺎﻟ ﻗﻤﻨﺎ ﺑﻮﺿﻊ ﺗﻌﻠﻴﻖ ‘ ’commentﻟﻤﻌﺮﻓﺔ اﻟﺘﻮﺻﻴﻼت ﻣﺎ ﺑﻴﻦ ﻣﻨﺎﻓﺬ اﻻردوﻳﻨﻮ ورؤوس ﺷﺎﺷﺔ الـLCD
ﻫﺬا ﻳﺴﻬﻞ ﻋﻤﻠﻴﺔ اﻟﺘﻌﺪﻳﻞ واﺳﺘﺨﺪام ﻣﻨﺎﻓﺬ اﺧﺮى ﻣﻦ اﺧﺘﻴﺎرك اذا رﻏﺒﺖ ﻻﺣﻘﺎً.
ﻓ داﻟﺔ setupﻫﻨﺎﻟﻚ اﻣﺮﻳﻦ ﻋﻠﻴﻨﺎ اﻟﻘﻴﺎم ﺑﻬﺎ ،اﻷول ﻋﻠﻴﻨﺎ ﺗﺤﻮﻳﻞ اﻟﻘﻴﻤﺔ اﻟﺘﻨﺎﻇﺮﻳﺔ analogﻟﻤﺴﺘﺸﻌﺮ اﻟﺤﺮارة إﻟ ﻣﻘﻴﺎس ﺣﺮارة ﺻﺤﻴﺢ
،واﻟﺜﺎﻧ ﻫﻮ اﻇﻬﺎرﻫﺎ ﻋﻠ ﺷﺎﺷﺔ الـLCD
ﻗﻤﻨﺎ ﺑﺎﻟﺴﻄﺮ اﻷول ﺑﻘﺮاءة اﻟﻘﻴﻤﺔ اﻟﺘﻨﺎﻇﺮﻳﺔ ﻣﻦ ﻣﺴﺘﺸﻌﺮ اﻟﺤﺮارة وﺗﺨﺰﻳﻦ اﻟﻘﻴﻤﺔ ﻓtempReading
اﻟﺴﻄﺮ اﻟﺜﺎﻧ ﻗﻤﻨﺎ ﺑﻀﺮب ﻗﻴﻤﺔ tempReadingﻓ 5 ﺛﻢ اﻟﻘﺴﻤﺔ ﻋﻠ 1024 وﺗﺨﺰﻳﻦ اﻟﻨﺎﺗﺞ ﻓ tempVolts وﻫ ﻗﻴﻤﺔ اﻟﺠﻬﺪ ) ﻣﺎﺑﻴﻦ 0
و(5
اﻟﺴﻄﺮ اﻟﺜﺎﻟﺚ ﻗﻤﻨﺎ ﺑﻄﺮح 0.5ﻣﻦ ﻗﻴﻤﺔ ) tempVoltsاﻟﺠﻬﺪ( ﺛﻢ ﺿﺮﺑﻬﺎ ﻓ 100 وﺗﺨﺰﻳﻦ اﻟﻘﻴﻤﺔ ﻓ tempC وذﻟﻚ ﻟﺘﺤﻮﻳﻞ اﻟﺠﻬﺪ إﻟ
درﺟﺔ اﻟﺤﺮارة C
اﻟﺴﻄﺮ اﻟﺮاﺑﻊ ﻗﻤﻨﺎ ﺑﻀﺮب ﻗﻴﻤﺔ ) tempCدرﺟﺔ ﺣﺮارة (Cﻓ 9 ﺛﻢ ﻗﺴﻤﺘﻬﺎ ﻋﻠ 5 ﺛﻢ ﺟﻤﻌﻬﺎ 32+وﺗﺨﺰﻳﻦ اﻟﻘﻴﻤﺔ ﻓ tempF وذﻟﻚ
ﻟﺘﺤﻮﻳﻞ درﺟﺔ اﻟﺤﺮارة Cإﻟ درﺟﺔ ﺣﺮارة F
ﻋﺮض اﻟﻘﺮاءات ﻋﻠ ﺷﺎﺷﺔ LCDﻗﺪ ﺗﻮن ﺻﻌﺒﺔ وذﻟﻚ ﻻﺳﺘﻤﺮار ﺗﻐﻴﺮ ﻗﻴﻢ اﻟﻘﺮاءات وﻋﺪد ﺧﺎﻧﺎت اﻟﻘﺮاءة ﻣﻤﺎ ﻳﺠﻌﻞ ﺧﺎﻧﺎت اﻟﻘﺮاءة
اﻟﻘﺪﻳﻤﺔ ﺗﺬﻫﺐ ﻳﺴﺎر اﻟﺸﺎﺷﺔ.
ﻟﺤﻞ ﻫﺬه اﻟﻤﺸﻠﺔ ،ﻛﻞ ﻣﺎﻋﻠﻴﻚ ﻓﻌﻠﻪ ﻫﻮ ﻃﺒﺎﻋﺔ اﻟﺴﻄﺮ ﻛﺎﻣﻼ ﻓ ﻛﻞ ﻣﺮه ،داﺧﻞ داﻟﺔ .loop
7/8
// ----------------
lcd.print("Temp ;)" F
;)lcd.setCursor(6, 0
;)lcd.print(tempF
ﺳﻄﺮ اﻟﺘﻌﻠﻴﻖ ‘ ’commentوﺿﻊ ﻻﺟﻠﻚ ﺣﺘ ﺗﻌﺮف ﻋﺪد اﻟﺨﺎﻧﺎت 16اﻟﺘ ﻳﻤﻦ اﻇﻬﺎرﻫﺎ ﻓ ﺷﺎﺷﺔ LCDﻓ ﺣﺎل رﻏﺒﺖ ﻓ ﺑﺘﻐﻴﻴﺮ
اﻟﺠﻤﻞ اﻟﺘ ﺗﺮﻏﺐ وﺿﻌﻬﺎ اﺳﻔﻠﻬﺎ.
ﻟﻤﻞء اﻟﻔﺮاﻏﺎت ،ﻗﻢ ﺑﺘﺤﺪﻳﺪ ﻣﻮﺿﻊ اﻟﻤﺆﺷﺮ ﺣﻴﺚ ﺑﺪاﻳﺔ اﻟﺨﺎﻧﺔ اﻟﺘ ﺗﺮﻏﺐ ﺑﺈﻇﻬﺎرﻫﺎ ﻋﻠ اﻟﺸﺎﺷﺔ.
ﻗﻤﻨﺎ ﺑﻌﻤﻞ ﻧﻔﺲ اﻟﻄﺮﻳﻘﺔ ﻣﻊ ﻣﺴﺘﺸﻌﺮ اﻻﺿﺎءة ‘ ، ’photocellﻻﻳﻮﺟﺪ ﻣﻘﻴﺎس ﻟﺪرﺟﺔ ﺳﻄﻮع اﻟﻀﻮء ﻟﺬﻟﻚ ﻗﻤﻨﺎ ﺑﺈﻇﻬﺎر اﻟﻘﺮاءة اﻟﺘﻨﺎﻇﺮﻳﺔ
analogReadاﻟﺘ ﺣﺼﻠﻨﺎ ﻋﻠﻴﻬﺎ ﻣﻦ اﻟﻤﺴﺘﺸﻌﺮ ﻣﺒﺎﺷﺮة ﻋﻠ اﻟﺸﺎﺷﺔ.
ﺑﻌﺪ رﻓﻊ اﻟﻮد ﻋﻠ اﻻردوﻳﻨﻮ ﺳﺘﺘﻤﻦ ﻣﻦ ﻋﺮض ﻋﺮض درﺟﺔ اﻟﺤﺮارة واﻻﺿﺎءة.
أﻧﺸﻄﺔ أﺧﺮى
ﺣﺎول ان ﺗﻈﻬﺮ درﺟﺔ اﻟﺤﺮارة اﻟﻤﺌﻮﻳﺔ Cﺑﺪﻻ ﻣﻦ اﻟﻔﻬﺮﻧﻬﺎﻳﺖ F
8/8