You are on page 1of 87

‫ماتالب سميولينك‬

‫و‬
‫اآلردوينو‬

‫البرمجة باستخدام البلوكات‬

‫جهاد طلعت بسيوني‬


‫سميولينك اردوينو‬
‫سميولينك اردوينو‬

‫رخ ـ ـ ـ ـصـ ـ ـ ــة الـ ـ ـ ـك ـ ـت ـ ــاب‬


‫ﺴﺐ‪  ‬ﺍاﻟﻤﺼﻨ‪4‬ﻒ‪  -  ‬ﻏﻴﺮ‪  ‬ﺗﺠﺎﺭرﻱي‪  -  ‬ﺍاﻟﺘﺮﺧﻴﺺ‪  ‬ﺑﺎﻟﻤﺜﻞ‬
‫ُ‬ ‫‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﻌﻤﻞ‪  ‬ﻣﺮﺧﺺ‪  ‬ﺑﺮﺧﺼﺔ‪َ  ‬ﻧ‬
‫‪  4T0‬ﺩدﻭوﻟﻲ‪  ‬ﺍاﻟﻤﺸﺎﻉع‪  ‬ﺍاﻹﺑﺪﺍاﻋﻲ‪  .‬ﻟﻤﺸﺎﻫﺪﺓة‪  ‬ﻧﺴﺨﺔ‪  ‬ﻣﻦ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺮﺧﺼﺔ‪  ،‬ﻗﻢ‪  ‬ﺑﺰﻳﺎﺭرﺓة‬

‫‪http://creativecommons.org/licenses/by-nc-sa/  ‬‬
‫‪.4.0/deed.ar‬‬

‫‪1‬‬
‫سميولينك اردوينو‬

‫إه ـ ـداء‬

‫إلى أمتي‬

‫‪2‬‬
‫سميولينك اردوينو‬

‫العلم‬
‫َﻭوﺑﻭوﺍا ُﺭر‬ ‫ﻟﻬﮭﺎ‬ ‫َﻭوﺍاﻟﺟﻬﮭﻝل ﺣﺭرﻣﺎﻥن‬ ‫َﻭوﻳﯾﺳﺎ ُﺭر‬ ‫ﺃأُﻣﱠﺔ‬ ‫ﺛﺭرﻭوﺓة‬ ‫ﺍاﻟ ِﻌﻠﻡم‬

‫ﻭوﺃأَﺿﺎ َء ﺟﻧﺢ ﺍاﻟ َﻠﻳﯾﻝل ﻓﻬﮭﻭو ﻧﻬﮭﺎﺭر‬ ‫ﺩدﻙك ﺍاﻟﺟﺑﺎﻝل ﻓﻬﮭﺩدﻫﮬﮪھﺎ‬ ‫ﺍاﻟﻌﻠﻡم ﻗﺩد‬

‫ﺻﺎﺭرﺕت ﺗﻧﻁطﻕق ﺍاﻷﺣﺟﺎﺭر‬


‫َ‬ ‫ﺑﺎﻟﻌﻠﻡم‬ ‫ﻛﻭوﺍاﻛﺑﺎ ً‬ ‫ﺑﺎﻟﻌﻠﻡم ﺃأﻁطﻠﻌﺕت ﺍاﻟﺑﻼﺩد‬

‫ﺑﺎﻟﻌﻠﻡم ﻏﺎﺻﻭوﺍا ﻓﻲ ﺍاﻟﺑﺣﺎﺭر َﻭوﻁطﺎﺭرﻭوﺍا‬ ‫ﺑﺎﻟﻌﻠﻡم ﺃأﺩدﻧﻰ ﺍاﻟﻧﺎﺱس ﺷﻘﺔ ﺃأَﺭرﺿﻬﮭﻡم‬

‫ﺃأَﻳﯾ ٍﺩد ﻋﻥن ﺍاﻟﻐﺭرﺽض َ‬


‫ﺍاﻟﺭرﻓﻳﯾﻊ ﻗﺻﺎﺭر‬ ‫ﺑﺎﻟﻌﻠﻡم ﻗﺩد ﻁطﺎ َﻟﺕت ﻓﺄﺩدﺭرﻛﺕت ﺍاﻟﻣﻧﻰ‬

‫ﺣﻳﯾﻧﺎ ً َﻭوﺗﻘﻁطﻑف ﺑﻌﺩد ﺫذﺍاﻙك ﺛﻣﺎﺭر‬ ‫ﺍاﻟﻌﻠﻡم َﻳﯾﻧﻣﻭو ﻓﻲ ﺍاﻟﻣﺩدﺍاﺭرﺱس ﺩدﻭوﺣﻪﮫ‬

‫ﺷﻌﺏب َﻋﻠﻰ ﻛﺳﻝل ﻟﻪﮫ ﺍاﺳﺗﻣﺭرﺍاﺭر‬ ‫ﻛﺎﻥن ﻳﯾﻔﻠﺢ ﻓﻲ ﺟﻬﮭﺎﺩد َﺣﻳﯾﺎﺗﻪﮫ‬


‫َ‬ ‫ﻣﺎ‬

‫ﺍاﻵﺛﺎﺭر‬ ‫ﺑﻌﺩدﻩه‬ ‫ﺩدﻫﮬﮪھﺭرﺍاً‬ ‫َﻭو َﺗﻌﻳﯾﺵش‬ ‫َﺳ َﻳﯾﻣﻭوﺕت ﺭرﺏب ﺍاﻟﻌﻠﻡم ﻣﻥن ﻣﺭرﺽض ﺑﻪﮫ‬

‫ﺍاﻷﻧﻭوﺍاﺭر‬ ‫ﺗﺳﻁطﻊ‬ ‫َﻭوﺍاﻟﺩدﺍاﺭر ﻓﻳﯾﻬﮭﺎ‬ ‫ﻅظﻠﻣﺔ‬ ‫ﺷﺗﺎﻥن ﺑﻳﯾﻥن ﺍاﻟﺩدﺍاﺭر ﺗﺑﺳﻁط‬

‫ﺍاﻟﻌﺯزﻳﯾﺯز ﻳﯾﻐﺎﺭر‬
‫َ‬ ‫ﺣﺭر َﻋﻠﻰ ﺍاﻟﻭوﻁطﻥن‬ ‫ﺉئ‬
‫ﺍاﻟﻌﺯزﻳﯾﺯز ﺳﻭوﻯى ﺃأﻣﺭر ٍ‬
‫ﻻ َﻳﯾﺭرﻓﻊ ﺍاﻟﻭوﻁطﻥن َ‬

‫‪3‬‬
‫سميولينك اردوينو‬

‫ه‬‫لف‬
‫ا رس‬
‫رخصة الكتاب……………………………………………………………‪1….‬‬
‫اهداء………………………………………………………………………‪2….‬‬
‫الباب األول‪ :‬مقدمة عن السميولينك و االردوينو……………………‪5….‬‬
‫ماهو السميولينك…………………………………………………………‪6….‬‬
‫ماهو االردوينو……………………………………………………………‪8….‬‬
‫الباب الثاني‪ :‬التجهيزات…………………………………………………‪9..‬‬
‫الفصل األول )التجهيزات املادية(……………‪10………………………….‬‬
‫الفصل الثاني )التجهيزات البرمجية(……………‪13.…..……………….‬‬
‫الباب الثالث‪ :‬بداية العمل…………………………………………………‪26‬‬
‫املثال األول )الفالش(………………………………………………………‪27‬‬
‫املثال الثاني )املفاتيح(…………………………………………………‪54….‬‬
‫املثال الثالث )‪62……..………………………………………………(PWM‬‬
‫املثال الرابع )محرك سيرفو(………………………………………………‪69‬‬
‫املثال الخامس )التحكم في محرك سيرفو يدويا(…………………‪77….‬‬
‫روابط مفيدة…………………………………………………………………‪84‬‬

‫‪4‬‬
‫سميولينك اردوينو‬

‫اﻟــــــﺒـــــﺎب اﻷول‬

‫مقدمة عن السميولينك و اآلردوينو‬

‫‪5‬‬
‫سميولينك اردوينو‬

‫ﻣﺎﻫﻮ اﻟﺴﻤﻴﻮﻟﻨﻚ‪:‬‬
‫—————————————————‬
‫‪  ‬ﻟﻐﺔ‪  ‬ﺑﺮﻣﺠﺔ‪  ‬ﻟﻤﺤﺎﻛﺎﺓة‪  ‬ﺍاﻻﻧﻈﻤﺔ‪  ‬ﺍاﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ‪  ‬ﺳﻮﺍاﺀء‪  ‬ﻛﺎﻧﺖ‪  ‬ﺧﻄﻴﺔ‪  ‬ﺍاﻭو‪  ‬ﻏﻴﺮ‪  ‬ﺧﻄﻴﺔ‬
‫‪  ‬ﻭوﺗﻌﺘﻤﺪ‪  ‬ﻓﻲ‪  ‬ﻛﺘﺎﺑﺔ‪  ‬ﺍاﻟﺒﺮﺍاﻣﺞ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  )  ‬ﺍاﻟﺼﻨﺎﺩدﻳﻖ‪  .(  ‬ﻭوﻳﺤﺘﻮﻱي‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‬
‫‪  ‬ﻋﻠﻰ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﻟﻠﺒﻠﻮﻛﺎﺕت‪  ‬ﺗﻐﻄﻲ‪  ‬ﻣﻌﻈﻢ‪  ‬ﺗﻄﺒﻴﻘﺎﺕت‪  ‬ﺍاﻟﻬﻨﺪﺳﺔ‪  ‬ﺍاﻟﻜﻬﺮﺑﺎﺋﻴﺔ‬
‫‪  ‬ﻭوﺍاﻟﻤﻴﻜﺎﻧﻴﻜﻴﺔ‪  .‬ﻭوﻳﺴﺘﺨﺪﻡم‪  ‬ﺑﺸﻜﻞ‪  ‬ﻭوﺍاﺳﻊ‪  ‬ﻓﻲ‪  ‬ﺗﺼﻤﻴﻢ‪  ‬ﺍاﻧﻈﻤﺔ‪  ‬ﺍاﻟﺘﺤﻜﻢ‪  ‬ﻭوﺍاﻧﻈﻤﺔ‬
‫‪  ‬ﺍاﻻﺗﺼﺎﻻﺕت‪  ‬ﻭوﺍاﻳﻀﺎ‪  ‬ﻓﻲ‪  ‬ﻣﻌﺎﻟﺠﺔ‪  ‬ﺍاﻻﺷﺎﺭرﺍاﺕت‪  ‬ﺍاﻟﺮﻗﻤﻴﺔ‪  .‬ﻭوﺳﻮﻑف‪  ‬ﻧﺘﻄﺮﻕق‪  ‬ﻓﻲ‪  ‬ﻫﺬﺍا‬
‫‪  ‬ﺍاﻟﻜﺘﺎﺏب‪  ‬ﺍاﻟﻰ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻜﻬﺮﺑﺎﺋﻴﺔ‪  ‬ﻭوﺑﻠﻮﻛﺎﺕت‪  ‬ﺍاﻵﺭرﺩدﻭوﻳﻨﻮ‪.‬‬

‫‪  ‬ﻣﺜﺎﻝل‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻬﻨﺪﺳﺔ‪  ‬ﺍاﻟﻜﻬﺮﺑﺎﺋﻴﺔ‪:‬‬

‫‪  ‬ﻓﻲ‪  ‬ﺩدﻭوﺍاﺋﺮ‪  ‬ﺍاﻟﺮﺍاﺩدﻳﻮ‪  ‬ﺩدﺍاﺋﻤﺎ‪  ‬ﻳﺴﺘﺨﺪﻡم‪  ‬ﺿﺮﺏب‪  ‬ﺍاﻟﻤﻮﺟﺎﺕت‪  .‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺍاﻻﻭوﻟﻰ‪  ‬ﻭوﻫﻲ‬
‫‪  ‬ﺍاﻟﺮﺳﺎﻟﺔ‪  ‬ﺍاﻟﻤﺮﺍاﺩد‪  ‬ﻧﻘﻠﻬﺎ‪  ‬ﻭوﺍاﺭرﺳﺎﻟﻬﺎ‪  .‬ﻭوﺍاﻟﻤﻮﺟﺔ‪  ‬ﺍاﻟﺜﺎﻧﻴﺔ‪  ‬ﻭوﻫﻲ‪  ‬ﺍاﻟﺤﺎﻣﻠﺔ‪  ‬ﻟﻠﻤﻮﺟﺔ‪  ‬ﺍاﻻﻭوﻟﻰ‪.‬‬
‫ﻓﺴﻨﺴﺘﺨﺪﻡم‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪  ‬ﻟﻌﺮﺽض‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺍاﻻﻭوﻟﻰ‪  ‬ﻭوﺍاﻟﺜﺎﻧﻴﺔ‪  ‬ﻭوﺣﺎﺻﻞ‪  ‬ﺍاﻟﻀﺮﺏب‪.‬‬

‫‪6‬‬
‫سميولينك اردوينو‬

‫‪  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻓﺈﻥن‪  ‬ﺍاﻟﻠﻮﻥن‪  ‬ﺍاﻻﺻﻔﺮ‪  ‬ﻳﺸﻴﺮ‪  ‬ﺍاﻟﻰ‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺍاﻻﻭوﻟﻰ‬
‫‪  ‬ﻭوﻫﻲ‪  ‬ﻣﻮﺟﺔ‪  ‬ﺳﺎﻳﻦ‪  .‬ﻭوﺍاﻟﻠﻮﻥن‪  ‬ﺍاﻻﺯزﺭرﻕق‪  ‬ﻳﺸﻴﺮ‪  ‬ﺍاﻟﻰ‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺍاﻟﺜﺎﻧﻴﺔ‪  ‬ﻭوﻫﻲ‪  ‬ﻣﻮﺟﺔ‪  ‬‬
‫ﻛﻮﺳﺎﻳﻦ‪  .‬ﻭوﺍاﻟﻠﻮﻥن‪  ‬ﺍاﻟﺰﻫﺮﻱي‪  ‬ﻳﺸﻴﺮ‪  ‬ﺍاﻟﻰ‪  ‬ﺣﺎﺻﻞ‪  ‬ﺿﺮﺏب‪  ‬ﺍاﻟﻤﻮﺟﺘﻴﻦ‪.‬‬

‫‪7‬‬
‫سميولينك اردوينو‬

‫ﻣﺎﻫﻮ اﻵردوﻳﻨﻮ‪:‬‬
‫—————————————————‬
‫‪  ‬ﻫﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻟﻜﺘﺮﻭوﻧﻴﺔ‪  ‬ﺑﺈﺻﺪﺍاﺭرﺍاﺕت‪  ‬ﻭوﺃأﻧﻮﺍاﻉع‪  ‬ﻣﺨﺘﻠﻔﺔ‪  ‬ﻭوﻫﻲ‪  ‬ﻣﻔﺘﻮﺣﺔ‪  ‬ﺍاﻟﻤﺼﺪﺭر‪  ‬ﻭو‬
‫‪  ‬ﻗﺎﺑﻠﺔ‪  ‬ﻟﻠﺒﺮﻣﺠﺔ‪  ‬ﺑﺈﺳﺘﺨﺪﺍاﻡم‪  ‬ﺍاﻟﻜﻤﺒﻴﻮﺗﺮ‪  ‬ﻟﺘﻨﻔﻴﺬ‪  ‬ﻣﺸﺎﺭرﻳﻊ‪  ‬ﺍاﻟﻜﺘﺮﻭوﻧﻴﺔ‪  ‬ﻓﻲ‪  ‬ﻣﺨﺘﻠﻒ‬
‫‪  ‬ﺍاﻟﻤﺠﺎﻻﺕت‪  )  ‬ﺍاﻟﺘﺤﻜﻢ‪  ،  ‬ﺍاﻻﺗﺼﺎﻻﺕت‪  ،  ‬ﺍاﻟﻘﻴﺎﺳﺎﺕت‪T(  ………  ،  ‬‬
‫‪  ‬ﻭوﻧﻌﻨﻲ‪  ‬ﺑﻤﻔﺘﻮﺣﺔ‪  ‬ﺍاﻟﻤﺼﺪﺭر‪  ‬ﺃأﻧﻪ‪  ‬ﻳﻤﻜﻦ‪  ‬ﻷﻱي‪  ‬ﺷﺨﺺ‪  ‬ﺍاﻻﻃﻼﻉع‪  ‬ﻭوﺍاﻟﺘﻌﺪﻳﻞ‪  ‬ﻋﻠﻰ‬
‫‪  ‬ﺍاﻟﺸﻔﺮﺍاﺕت‪  ‬ﺍاﻟﺨﺎﺻﺔ‪  ‬ﺑﻠﻮﺣﺎﺕت‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪.‬‬
‫‪  ‬ﻭوﻟﻤﻦ‪  ‬ﺍاﺭرﺍاﺩد‪  ‬ﺍاﻟﺘﻌﺮﻑف‪  ‬ﺍاﻛﺜﺮ‪  ‬ﻋﻠﻰ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﻓﺈﻧﻲ‪  ‬ﺍاﻧﺼﺤﻪ‪  ‬ﺑﻜﺘﺎﺏب‪  ‬ﺍاﺳﺘﺎﺫذﻱي‬
‫ﺍاﻟﻔﺎﺿﻞ‪  ‬ﺍاﻟﻤﻬﻨﺪﺱس‪  ‬ﻋﺒﺪ‪  ‬ﺍا†‪  ‬ﻋﻠﻲ‪  ‬ﻋﺒﺪ‪  ‬ﺍا†‪  ‬ﺑﻌﻨﻮﺍاﻥن‪  )  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺒﺴﺎﻃﺔ‪T(  ‬‬

‫‪  ‬ﻭوﻫﺬﺍا‪  ‬ﺍاﻟﺮﺍاﺑﻂ‪  ‬ﻟﻤﻦ‪  ‬ﺍاﺭرﺍاﺩد‪  ‬ﺃأﻥن‪  ‬ﻳﺘﻌﺮﻑف‪  ‬ﺍاﻛﺜﺮ‪  ‬ﻋﻠﻰ‪  ‬ﻣﻮﺍاﺻﻔﺎﺕت‪  ‬ﻭوﻣﻤﻴﺰﺍاﺕت‪  ‬ﻛﻞ‪  ‬ﻧﻮﻉع‪  ‬ﻣﻦ‬
‫‪      ‬ﻟﻮﺣﺎﺕت‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪.‬‬
‫‪http://arduino.cc/en/main/boards‬‬

‫‪8‬‬
‫سميولينك اردوينو‬

‫اﻟــــــﺒـــــﺎب اﻟـــﺜــــﺎﻧـــﻲ‬

‫التجهيزات‬

‫‪9‬‬
‫سميولينك اردوينو‬

‫اﻟ ـ ـﻔ ـ ـﺼـ ــﻞ اﻻول‬

‫التجهيزات المادية‬

‫‪10‬‬
‫سميولينك اردوينو‬

‫ﻟﻮﺣﺔ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻧﻮ‪  Arduino  )  ‬‬


‫‪  .(  Uno‬ﻭوﻳﻤﻜﻨﻚ‪  ‬ﺍاﺳﺘﺨﺪﺍاﻡم‪  ‬ﺍاﻱي‪  ‬ﻧﻮﻉع‪  ‬‬
‫ﺍاﺧﺮ‪  ‬ﻣﻦ‪  ‬ﻟﻮﺣﺎﺕت‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬‬

‫ﺳﻠﻚ‪  )  ‬ﻛﺎﺑﻞ‪  (  ‬ﻃﺎﺑﻌﺔ‪  ‬ﻟﺘﻮﺻﻴﻞ‪  ‬‬


‫ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺎﻟﺤﺎﺳﺐ‬

‫ﻟﻮﺣﺔ‪  ‬ﺗﺠﺎﺭرﺏب‪  (  Breadboard  )  ‬‬

‫‪11‬‬
‫سميولينك اردوينو‬

‫ﻣﻘﺎﻭوﻣﺎﺕت‪  (  Resistors  )  ‬ﺑﻘﻴﻢ‪  ‬‬


‫ﻣﺨﺘﻠﻔﺔ‪  .‬ﺳﺄﺫذﻛﺮ‪  ‬ﻗﻴﻢ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺎﺕت‪  ‬‬
‫ﻭوﻋﺪﺩدﻫﺎ‪  ‬ﻓﻲ‪  ‬ﺍاﻻﻣﺜﻠﺔ‪  ‬‬

‫ﺩدﺍاﻳﻮﺩد‪  ‬ﺑﺎﻋﺚ‪  ‬ﻟﻠﻀﻮﺀء‪  ‬ﻭوﻳﺨﺘﺼﺮ‪  ‬ﺑــ‪  ‬‬


‫ﻟﻴﺪ‪(  LED  )  ‬‬

‫ﺍاﺳﻼﻙك‪  ‬ﺗﻮﺻﻴﻞ‪  (jumper  wire)  ‬‬

‫‪12‬‬
‫سميولينك اردوينو‬

‫اﻟ ـ ـﻔ ـ ـﺼـ ــﻞ اﻟﺜﺎﻧﻲ‬

‫التجهيزات البرمجية‬

‫‪13‬‬
‫سميولينك اردوينو‬

‫ﺑﺮﻧﺎﻣﺞ اﳌﺎﺗﻼب واﻟﺴﻤﻴﻮﻟﻴﻨﻚ‬


‫—————————————————‬

‫‪  ‬ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪  ‬ﻭوﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪  ‬ﻣﻦ‪  ‬ﺍاﻟﺒﺮﺍاﻣﺞ‪  ‬ﺍاﻟﻤﺪﻓﻮﻋﺔ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻳﺠﺐ‬


‫‪  ‬ﻋﻠﻴﻚ‪  ‬ﺷﺮﺍاﺅؤﻫﺎ‪    .‬ﻭوﻧﻨﺒﻪ‪  ‬ﺍاﻧﻪ‪  ‬ﻻ‪  ‬ﻳﻤﻜﻨﻚ‪  ‬ﺗﺤﻤﻴﻞ‪  ‬ﻭوﺍاﻟﻌﻤﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﺮﻧﺎﻣﺞ‬
‫‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪  ‬ﺣﺘﻰ‪  ‬ﺗﻘﻮﻡم‪  ‬ﺑﺘﺤﻤﻴﻞ‪  ‬ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪  ‬ﻭوﺍاﻟﻌﻜﺲ‪  ‬ﻏﻴﺮ‪  ‬ﺻﺤﻴﺢ‪،‬‬
‫‪  ‬ﻓﺘﺴﺘﻄﻴﻊ‪  ‬ﺗﺤﻤﻴﻞ‪  ‬ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪  ‬ﻭوﺍاﻟﻌﻤﻞ‪  ‬ﻋﻠﻴﻪ‪  ‬ﺩدﻭوﻥن‪  ‬ﺍاﻟﺤﺎﺟﺔ‪  ‬ﻟﺒﺮﻧﺎﻣﺞ‬
‫‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪  .‬ﻭوﻓﻲ‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﻜﺘﺎﺏب‪  ‬ﺳﻮﻑف‪  ‬ﺍاﺷﺮﺡح‪  ‬ﺑﺮﻣﺠﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺈﺳﺘﺨﺪﺍاﻡم‬
‫ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪.‬‬

‫‪14‬‬
‫سميولينك اردوينو‬

‫ﲢﻤﻴﻞ ﺣﺰﻣﺔ اﻻردوﻳﻨﻮ اﳋﺎﺻﺔ ﺑﺎﻟﺴﻤﻴﻮﻟﻨﻚ‪:‬‬


‫—————————————————‬
‫‪  -1  ‬ﺑﻌﺪ‪  ‬ﺍاﻻﻧﺘﻬﺎﺀء‪  ‬ﻣﻦ‪  ‬ﺗﺤﻤﻴﻞ‪  ‬ﻭوﺗﺜﺒﻴﺖ‪  ‬ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪  ‬ﻭوﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‬
‫‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﻔﺘﺢ‪  ‬ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪  ‬ﻭوﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺸﺎﺷﺔ‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪15‬‬
‫سميولينك اردوينو‬

‫‪  -2‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺎﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻳﻘﻮﻧﺔ‪  (Add-Ons)  ‬ﻭوﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬‬


‫)‪  (  Get  Hardware  Support  Packages  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬‬
‫ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪16‬‬
‫سميولينك اردوينو‬

‫‪  -  3‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭوﺳﻨﺨﺘﺎﺭر)‪  (Install  from  Internet‬‬


‫ﻭوﺑﻌﺪﻫﺎ‪  ‬ﻧﻀﻐﻂ‪  ‬ﻋﻠﻰ‪T(  NEXT  )  ‬‬

‫‪17‬‬
‫سميولينك اردوينو‬

‫‪  -  4‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭوﻫﻲ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  ‬ﺛﻼﺛﺔ‪  ‬ﺣﺰﻡم‪  ‬ﺧﺎﺻﺔ‪  ‬‬
‫ﺑﺎﻻﺭرﺩدﻭوﻳﻨﻮ‪  :‬‬
‫ﺍاﻟﺤﺰﻣﺔ‪  ‬ﺍاﻻﻭوﻟﻰ‪  :‬ﺣﺰﻣﺔ‪  (  Arduino  )  ‬ﻭوﻫﻲ‪  ‬ﺧﺎﺻﺔ‪  ‬ﺑﺒﺮﻣﺠﺔ‪  ‬ﻟﻮﺣﺎﺕت‪  ‬‬ ‫•‬
‫ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺒﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪    .‬‬
‫ﺍاﻟﺤﺰﻣﺔ‪  ‬ﺍاﻟﺜﺎﻧﻴﺔ‪  :‬ﺣﺰﻣﺔ‪  (  Arduino  Due  )  ‬ﻭوﻫﻲ‪  ‬ﺧﺎﺻﺔ‪  ‬ﺑﺒﺮﻣﺠﺔ‪  ‬ﻟﻮﺣﺔ‪  ‬‬ ‫•‬
‫ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺩدﻭو‪  ‬ﻓﻘﻂ‪  ‬ﺑﺒﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  .‬‬
‫ﺍاﻟﺤﺰﻣﺔ‪  ‬ﺍاﻟﺜﺎﻟﺜﺔ‪  :‬ﺣﺰﻣﺔ‪  (  Arduino  Uno/Nano/Mega2560  )  ‬‬ ‫•‬
‫ﻭوﻫﻲ‪  ‬ﺧﺎﺻﺔ‪  ‬ﺑﺒﺮﻣﺠﺔ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻭوﻧﻮ‪/‬ﻧﺎﻧﻮ‪/‬ﻣﻴﻘﺎ‪  ‬ﺑﺒﺮﻧﺎﻣﺞ‪  ‬‬
‫ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  .‬‬
‫ﻭوﺳﻨﻌﻤﻞ‪  ‬ﻓﻲ‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﻜﺘﺎﺏب‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺤﺰﻣﺔ‪  ‬ﺍاﻟﺜﺎﻟﺜﺔ‪  ‬ﺑﺈﺳﺘﺨﺪﺍاﻡم‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬‬
‫ﺍاﻭوﻧﻮ‪  .‬ﺳﻨﺤﺪﺩد‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺤﺰﻣﺔ‪  ‬ﺍاﻟﺜﺎﻟﺜﺔ‪  ‬ﻭوﺑﻌﺪﻫﺎ‪  ‬ﻧﻀﻐﻂ‪  ‬ﻋﻠﻰ‪T(  NEXT  )  ‬‬

‫‪18‬‬
‫سميولينك اردوينو‬

‫‪  -  5‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭو‪  ‬ﺳﻨﻮﺍاﻓﻖ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺸﺮﻭوﻁط‪  ‬ﻭوﺑﻌﺪﻫﺎ‪  ‬ﻧﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬‬
‫)‪T(  NEXT  ‬‬

‫‪19‬‬
‫سميولينك اردوينو‬

‫‪  -  6‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭو‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪T(  NEXT  )  ‬‬

‫‪20‬‬
‫سميولينك اردوينو‬

‫‪  -  7‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭو‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪T(  Install  )  ‬‬

‫‪21‬‬
‫سميولينك اردوينو‬

‫‪  -  8‬ﺳﻴﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺮﻳﻂ‪  ‬ﺍاﻛﻤﺎﻝل‪  ‬ﺗﺜﺒﻴﺖ‪  ‬ﺍاﻟﺤﺰﻣﺔ‪  ‬ﻛﻤﺎﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬‬
‫ﺍاﻟﺘﺎﻟﻴﺔ‪  .‬ﺳﻨﻨﺘﻈﺮ‪  ‬ﺣﺘﻰ‪  ‬ﺍاﻧﺘﻬﺎﺀء‪  ‬ﺍاﻟﺘﺜﺒﻴﺖ‪.‬‬

‫‪22‬‬
‫سميولينك اردوينو‬

‫‪  -  9‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭو‪  ‬ﻫﻲ‪  ‬ﺗﺨﺒﺮﻧﺎ‪  ‬ﺑﺈﻧﺘﻬﺎﺀء‪  ‬ﺍاﻟﺘﺜﺒﻴﺖ‪  ‬ﻭوﺑﻌﺪﻫﺎ‪  ‬‬
‫ﺳﻨﻈﻐﻂ‪  ‬ﻋﻠﻰ‪T(  Finish  )  ‬‬

‫‪23‬‬
‫سميولينك اردوينو‬

‫‪  -  10‬ﺳﻨﻔﺘﺢ‪  ‬ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪  ‬ﻟﻨﺘﺄﻛﺪ‪  ‬ﻣﻦ‪  ‬ﻭوﺟﻮﺩد‪  ‬ﺣﺰﻣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻗﻤﻨﺎ‪  ‬‬
‫ﺑﺘﺜﺒﻴﺘﻬﺎ‪  ‬ﻭوﺳﻨﻈﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻳﻘﻮﻧﺔ‪T(  Simulink  Library  )  ‬‬

‫‪24‬‬
‫سميولينك اردوينو‬

‫‪  -  11‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭوﻫﻲ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﻤﻜﺘﺒﺎﺕت‪  ‬ﺍاﻟﺨﺎﺻﺔ‪  ‬‬

‫ﺑﺎﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﻭوﻣﻦ‪  ‬ﺿﻤﻦ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻤﻜﺘﺒﺎﺕت‪  ‬ﺳﻨﺠﺪ‪  ‬ﺍاﻟﻤﻜﺘﺒﺔ‪  ‬ﺍاﻟﺨﺎﺻﺔ‪  ‬ﺑﺎﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬‬

‫)‪  T(  Simulink  Support  Package  for  Arduino  Hardware  ‬‬

‫‪25‬‬
‫سميولينك اردوينو‬

‫اﻟــــــﺒـــــﺎب اﻟـــﺜــــﺎﻟﺚ‬

‫بداية العمل‬

‫‪26‬‬
‫سميولينك اردوينو‬

‫اﳌﺜﺎل اﻷول ) اﻟﻔﻼش (‪:‬‬


‫—————————————————‬
‫األدوات املستخدمة‪:‬‬
‫لوحة اردوينو اونو ) ‪( Arduino Uno‬‬ ‫•‬
‫• لوحة تجارب ) ‪( Breadboard‬‬
‫• مقاومة ‪ 330‬اوم‬
‫• دايود ضوئي ) ‪( LED‬‬

‫‪27‬‬
‫سميولينك اردوينو‬

‫اخلطوة األولى‪ :‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪  .‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻄﺮﻑف‪  ‬‬


‫ﺍاﻟﻤﻮﺟﺐ‪  ‬ﻟـ‪  LED  ‬ﻓﻲ‪  pin  2  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬‬
‫اخلطوة الثانية‪ :‬ﻗﻢ‪  ‬ﺑﻔﺘﺢ‪  ‬ﺑﺮﻧﺎﻣﺞ‪  ‬ﺍاﻟﻤﺎﺗﻼﺏب‪  ‬ﻟﻌﻤﻞ‪  ‬ﻣﻠﻒ‪  ‬ﺳﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺟﺪﻳﺪ‪  ‬ﻣﻦ‪  ‬‬
‫ﺧﻼﻝل‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻳﻘﻮﻧﺔ‪  ‬ﺟﺪﻳﺪ‪  NEW  ‬ﺛﻢ‪  ‬ﺍاﺧﺘﺎﺭر‪Tsimulink  modle  ‬‬

‫‪28‬‬
‫سميولينك اردوينو‬

‫اخلطوة الثالثة‪  :‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺸﺎﺷﺔ‪  ‬ﺍاﻟﺨﺎﺻﺔ‪  ‬ﺑﺎﻟﺴﻤﻴﻮﻟﻨﻚ‪  ‬ﻭو‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺳﻨﻀﻊ‪  ‬ﻓﻴﻬﺎ‪  ‬‬
‫ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﺨﺎﺻﺔ‪  ‬ﺑﻤﺸﺮﻭوﻋﻨﺎ‪  .  ‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺎﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻳﻘﻮﻧﺔ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬‬
‫ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  T(  simulink  library  )  ‬‬

‫‪29‬‬
‫سميولينك اردوينو‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻳﻘﻮﻧﺔ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  (  simulink  library  )  ‬‬


‫ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﻗﺎﺋﻤﺔ‪  ‬ﺑﻤﻜﺘﺒﺎﺕت‪  ‬ﺍاﻟﺴﻴﻤﻴﻮﻟﻨﻚ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺳﻨﺨﺘﺎﺭر‪  ‬ﻣﻨﻬﺎ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻤﻨﺎﺳﺒﺔ‪  ‬‬
‫ﻟﻤﺸﺮﻭوﻋﻨﺎ‪.‬‬

‫ً‬
‫ﺇإﺫذﺍا‪  ‬ﻣﺎﻫﻲ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺳﻨﺤﺘﺎﺟﻬﺎ‪  ‬ﻓﻲ‪  ‬ﻣﺸﺮﻭوﻋﻨﺎ‪  ‬ﺍاﻻﻭوﻝل‪  :‬‬
‫‪ T1‬ﺑﻠﻮﻙك‪  ‬ﻣﻮﻟﺪ‪  ‬ﺍاﻟﻨﺒﻀﺎﺕت‪  (  Puls  Generator  )  ‬‬
‫‪ T2‬ﺑﻠﻮﻙك‪  ‬ﻣﺨﺮﺝج‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺭرﻗﻤﻲ‪  (Digital  Output)  ‬ﺍاﻟﺬﻱي‪  ‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  LED  ‬‬
‫‪ T3‬ﺑﻠﻮﻙك‪  ‬ﻋﺎﺭرﺽض‪  ‬ﺍاﻻﺷﺎﺭرﺍاﺕت‪  (  Scope  )  ‬ﺳﻜﻮﺏب‬

‫‪30‬‬
‫سميولينك اردوينو‬

‫اخلطوة الرابعة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺎﻟﺒﺤﺚ‪  ‬ﻋﻦ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺜﻼﺙث‪  ‬ﺑﻠﻮﻛﺎﺕت‪  ‬ﻣﻦ‪  ‬ﻗﺎﺋﻤﺔ‪  ‬ﻣﻜﺘﺒﺎﺕت‪  ‬‬
‫ﺍاﻟﺴﻴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  Puls  ‬‬


‫‪  Generator‬ﺩدﺍاﺧﻞ‪  ‬‬
‫ﻣﻜﺘﺒﺔ‪  Sources  ‬ﺛﻢ‪  ‬‬
‫ﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺐ‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬ﺍاﻟﻰ‪  ‬ﺻﻔﺤﺔ‪  ‬ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  Digital  Output  ‬ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪  TArduino  ‬‬


‫ﻋﻨﺪ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬‬
‫ﻋﻠﻰ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬‬
‫ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬‬
‫ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﺭرﺑﻌﺔ‪  ‬ﺍاﻗﺴﺎﻡم‪  ‬ﻭوﺳﻨﺨﺘﺎﺭر‪  ‬ﻗﺴﻢ‪Tcommon  ‬‬

‫ﺑﻌﺪ‪  ‬ﺍاﻟﺪﺧﻮﻝل‪  ‬ﻋﻠﻰ‪  ‬‬


‫ﻗﺴﻢ‪  Common  ‬‬
‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  Digital  Output  ‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫‪31‬‬
‫سميولينك اردوينو‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  ‬‬


‫ﺍاﻻﺳﻜﻮﺏب‪  Scope  ‬‬
‫ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪  Sink      ‬‬
‫ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪  )  ‬ﺑﻠﻮﻙك‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﺍاﺧﺘﻴﺎﺭرﻱي‪T(  ‬‬

‫ﺑﻌﺪ‪  ‬ﺍاﻻﻧﺘﻬﺎﺀء‪  ‬ﻣﻦ‪  ‬ﻭوﺿﻊ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻼﺯزﻣﺔ‪  ‬ﺳﻨﻐﻠﻖ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪  ‬ﻭو‪  ‬ﺑﻌﺪﻫﺎ‪  ‬‬
‫ﻧﻘﻮﻡم‪  ‬ﺑﺘﺮﺗﻴﺐ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻭوﺗﻮﺻﻴﻠﻬﺎ‪  ‬ﻣﻊ‪  ‬ﺑﻌﻀﻬﺎ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﻭوﺿﻊ‪  ‬ﻣﺆﺷﺮ‪  ‬ﺍاﻟﻤﺎﻭوﺱس‪  ‬‬
‫ﻋﻠﻰ‪  ‬ﻃﺮﻑف‪  ‬ﺍاﻟﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻤﻮﺟﻮﺩد‪  ‬ﻓﻲ‪  ‬ﻛﻞ‪  ‬ﺑﻠﻮﻙك‪  .‬ﺳﻨﻀﻊ‪  ‬ﺍاﻟﻤﺎﻭوﺱس‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻱي‪  ‬ﻃﺮﻑف‪  ‬‬
‫ﻭوﺛﻢ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻣﻊ‪  ‬ﺍاﻻﺳﺘﻤﺮﺍاﺭر‪  ‬ﻭوﺍاﻟﺘﺤﺮﻳﻚ‪  ‬ﻭوﺳﻴﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺧﻂ‪  ‬ﺗﻮﺻﻴﻞ‪  ‬ﻧﻮﺻﻠﻪ‪  ‬ﺑﺄﻱي‪  ‬‬
‫ﺑﻠﻮﻙك‪  ‬ﺍاﺧﺮ‪.‬‬

‫‪32‬‬
‫سميولينك اردوينو‬

‫ﻭوﻫﺬﺍا‪  ‬ﻫﻮ‪  ‬ﺍاﻟﺸﻜﻞ‪  ‬ﺍاﻟﻨﻬﺎﺋﻲ‪  ‬ﻟﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻣﻊ‪  ‬ﺑﻌﻀﻬﺎ‪  ‬ﺍاﻟﺒﻌﺾ‪  .‬‬

‫‪scope‬‬

‫‪pulse‬‬

‫) ‪( digital output‬‬

‫‪33‬‬
‫سميولينك اردوينو‬

‫اخلطوة اخلامسة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻌﺪﻳﻞ‪  ‬ﻭوﺿﺒﻂ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬‬
‫ﺍاﻟﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬ﻭو‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺻﻔﺤﺔ‪  ‬ﺍاﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺒﻠﻮﻙك‪.‬‬

‫ﺳﻨﺒﺪﺃأ‪  ‬ﻣﻊ‪  ‬ﺑﻠﻮﻙك‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪    Digital  Output  ‬‬
‫ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬‬
‫ﺍاﻟﻤﻮﺟﻮﺩد‪  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻣﺜﺎﻟﻨﺎ‪  ‬ﺍاﻻﻭوﻝل‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﺪﺍاﻳﻮﺩد‪  ‬‬
‫ﺍاﻟﻀﻮﺋﻲ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  2  ‬ﺭرﺍاﺟﻊ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪T(  ‬‬

‫‪34‬‬
‫سميولينك اردوينو‬

‫ﺛﻢ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Puls  Generator  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬‬
‫ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﺧﺼﺎﺋﺺ‪  ‬‬
‫ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻣﺜﻞ‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻭوﻋﺮﺽض‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬ﻭوﺍاﺭرﺗﻔﺎﻋﻬﺎ‪  ‬ﻭوﻋﺪﺩد‪  ‬ﺍاﻟﻨﺒﻀﺎﺕت‪  ‬ﻓﻲ‪  ‬‬
‫ﺍاﻟﻤﻮﺟﺔ‪  .‬ﺳﻨﺘﻌﺮﻑف‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﻤﻘﺼﻮﺩد‪  ‬ﺑﻄﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻭوﻋﺮﺽض‪  ‬ﻭوﺍاﺭرﺗﻔﺎﻉع‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬‬
‫ﻭوﻋﺪﺩد‪  ‬ﺍاﻟﻨﺒﻀﺎﺕت‪  ‬ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪ T1‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻣﻦ‪  0  ‬ﺍاﻟﻰ‪  6  ‬ﻭوﻋﺎﺩدﺓة‪  ‬ﻳﻘﺎﺱس‪  ‬ﺑﻮﺣﺪﺓة‪  ‬ﺍاﻟﺰﻣﻦ‪  )  ‬ﺍاﻟﺜﺎﻧﻴﺔ‪    (  ‬‬
‫‪ T2‬ﻧﻼﺣﻆ‪  ‬ﺍاﻥن‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  3  ‬ﻧﺒﻀﺎﺕت‪  ‬ﻛﻞ‪  ‬ﻧﺒﻀﺔ‪  ‬ﺑﻌﺮﺽض‪  2  ‬ﺛﺎﻧﻴﺔ‪  ‬‬
‫‪ T3‬ﻧﻼﺣﻆ‪  ‬ﺍاﻥن‪  ‬ﻛﻞ‪  ‬ﻧﺒﻀﺔ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  ‬ﺟﺰﺀء‪  ‬ﻣﻮﺟﺐ‪  ‬ﻭوﺟﺰﺀء‪  ‬ﺳﺎﻟﺐ‪  ‬ﻭوﻛﻞ‪  ‬ﺟﺰﺀء‪  ‬‬
‫ﺑﻌﺮﺽض‪  1  ‬ﺛﺎﻧﻴﺔ‪  ‬‬
‫‪ T4‬ﺍاﺭرﺗﻔﺎﻉع‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬ﻣﻦ‪  0  ‬ﺍاﻟﻰ‪  2  ‬ﻭوﻋﺎﺩدﺓة‪  ‬ﻳﻘﺎﺱس‪  ‬ﺑﻮﺣﺪﺓة‪  ‬ﺍاﻟﺠﻬﺪ‪  ‬ﺍاﻟﻜﻬﺮﺑﺎﺋﻲ‪  ‬‬
‫)‪  ‬ﺍاﻟﻔﻮﻟﺖ‪(  ‬‬
‫‪35‬‬
‫سميولينك اردوينو‬

‫ﺗﻮﺿﺢ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﺻﻔﺤﺔ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺑﻠﻮﻙك‪TPuls  Generator  ‬‬

‫‪36‬‬
‫سميولينك اردوينو‬

‫ﻣﻦ‪  )  Pulse  type  ‬ﻧﻮﻉع‪  ‬‬


‫ﺍاﻟﻨﺒﻀﺔ‪  (  ‬ﺳﻨﺠﺪ‪  ‬ﺧﻴﺎﺭرﻳﻦ‪  ‬‬
‫ﺍاﻻﻭوﻝل‪  Sample  based  :‬ﻭوﻫﻮ‪  )  ‬ﺍاﻻﻋﺘﻤﺎﺩد‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﻌﻴﻨﺔ‪  (  ‬ﻓﻲ‪  ‬ﺗﺤﺪﻳﺪ‪  ‬‬
‫ﺧﺼﺎﺋﺺ‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  .‬‬
‫ﻭوﺍاﻟﺜﺎﻧﻲ‪  Time  based  :‬ﻭوﻫﻮ‪  )  ‬ﺍاﻻﻋﺘﻤﺎﺩد‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﻮﻗﺖ‪  (  ‬ﻓﻲ‪  ‬ﺗﺤﺪﻳﺪ‪  ‬‬
‫ﺧﺼﺎﺋﺺ‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺸﺮﺡح‪  ‬ﻛﻼﻫﻤﺎ‪  ‬ﻭوﻟﻜﻦ‪  ‬ﺳﻨﺒﺪﺃأ‪  ‬ﺑﺈﺳﺘﺨﺪﺍاﻡم‪TSample  based  ‬‬

‫ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﺳﻨﻮﺿﺢ‪  ‬ﺷﻴﺌﺎ‪  ‬ﺑﺴﻴﻄﺎ‪  ‬ﻋﻦ‪  :Samples  ‬‬

‫‪  )  Samples‬ﺍاﻟﻌﻴﻨﺎﺕت‪  (  ‬ﻫﻲ‪  ‬ﺍاﻟﺨﻄﻮﻁط‪  ‬ﺍاﻟﻌﺎﻣﻮﺩدﻳﺔ‪  ‬ﺑﺎﻟﻠﻮﻥن‪  ‬ﺍاﻻﺯزﺭرﻕق‪  .‬‬


‫ﻓﻨﻘﻮﻝل‪  ‬ﺍاﻥن‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻟﻬﺎ‪  ‬ﻃﻮﻝل‪  13  ‬ﺛﺎﻧﻴﺔ‪  ‬ﺍاﻭو‪  13  ‬ﻋﻴﻨﺔ‪  ،(  Samples  )  ‬‬
‫ﻓﻨﺴﺘﻄﻴﻊ‪  ‬ﺗﺤﺪﻳﺪ‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺍاﻭو‪  ‬ﻋﺮﺽض‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﻋﺪﺩد‪  ‬ﺍاﻟﻌﻴﻨﺎﺕت‪.‬‬

‫‪37‬‬
‫سميولينك اردوينو‬

‫ﻣﻦ‪  Time  (t)  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺈﺧﺘﻴﺎﺭر‪  ‬‬


‫‪Tuse  simulation  time‬‬

‫‪  Amplitude‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬ﺍاﺭرﺗﻔﺎﻉع‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬‬

‫ﺳﻨﻘﻮﻡم‪  ‬ﺑﻮﺿﻌﻪ‪T1  ‬‬

‫‪  Period‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬ﻋﺮﺽض‪  ‬ﺍاﻟﻨﺒﻀﺔ‪    ‬ﺍاﻟﻜﺎﻣﻞ‪    ‬‬


‫)‪  (  number  of  samples  ‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬‬
‫ﺃأﻥن‪  ‬ﻋﺮﺽض‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬ﺳﻴﻜﻮﻥن‪  ‬ﺑﻌﺪﺩد‪  ‬ﺍاﻟﻌﻴﻨﺎﺕت‪  ‬‬
‫ﺳﻨﻘﻮﻡم‪  ‬ﺑﻮﺿﻌﻪ‪  10  ‬ﺍاﻱي‪  ‬ﺍاﻥن‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬ﻋﺮﺿﻬﺎ‪  )  samples  10  ‬ﺗﺤﺘﻮﻱي‪  ‬‬
‫ﻋﻠﻰ‪  10  ‬ﻋﻴﻨﺎﺕت‪T(  ‬‬

‫‪  Pulse  width‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬ﻋﺮﺽض‪  ‬ﺍاﻟﺠﺰﺀء‪  ‬‬

‫ﺍاﻟﻤﻮﺟﺐ‪  ‬ﻣﻦ‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  .‬‬

‫ﻭوﻳﺘﻢ‪  ‬ﺗﺤﺪﻳﺪ‪  ‬ﻋﺮﺽض‪  ‬ﺍاﻟﺠﺰﺀء‪  ‬ﺍاﻟﺴﺎﻟﺐ‪  ‬‬

‫ﺍاﻋﺘﻤﺎﺩدﺍا‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺠﺰﺀء‪  ‬ﺍاﻟﻤﻮﺟﺐ‪  ‬ﻓﻜﻴﻒ‪  ‬ﺫذﻟﻚ؟‪  ‬‬

‫ﻧﺤﻦ‪  ‬ﻭوﺿﻌﻨﺎ‪  ‬ﺍاﻟﻌﺮﺽض‪  ‬ﺍاﻟﻜﺎﻣﻞ‪  ‬ﻟﻠﻨﺒﻀﺔ‪  10  ‬ﻋﻴﻨﺎﺕت‪  ‬ﻓﺈﺫذﺍا‪  ‬ﻛﺎﻥن‪  ‬ﻋﺮﺽض‪  ‬ﺍاﻟﺠﺰﺀء‪  ‬‬
‫ً‬
‫ﺍاﻟﻤﻮﺟﺐ‪  5  ‬ﻋﻴﻨﺎﺕت‪  ،‬ﺇإﺫذﺍا‪  ‬ﻋﺮﺽض‪  ‬ﺍاﻟﺠﺰﺀء‪  ‬ﺍاﻟﺴﺎﻟﺐ‪  ‬ﺍاﻳﻀﺎ‪  5  ‬ﻋﻴﻨﺎﺕت‪  .‬‬

‫ﻭوﺇإﺫذﺍا‪  ‬ﻛﺎﻥن‪  ‬ﺍاﻟﻌﺮﺽض‪  ‬ﺍاﻟﻤﻮﺟﺐ‪  7  ‬ﻋﻴﻨﺎﺕت‪  ،‬ﻓﺴﻴﻜﻮﻥن‪  ‬ﺍاﻟﻌﺮﺽض‪  ‬ﺍاﻟﺴﺎﻟﺐ‪  3  ‬ﻋﻴﻨﺎﺕت‪.‬‬


‫‪38‬‬
‫سميولينك اردوينو‬

‫‪  Phase  delay‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬ﺗﺤﺮﻳﻚ‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬‬

‫ﻟﻠﻴﻤﻴﻦ‪  ‬ﺍاﻭو‪  ‬ﻟﻠﻴﺴﺎﺭر‪  ‬ﺑﻤﻘﺪﺍاﺭر‪  ‬ﻋﺪﺩد‪  ‬ﻣﻌﻴﻦ‪  ‬ﻣﻦ‪  ‬‬

‫ﺍاﻟﻌﻴﻨﺎﺕت‪.‬‬

‫‪  Sample  time‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬ﺍاﻟﻮﻗﺖ‪  ‬ﺍاﻟﺬﻱي‪  ‬ﺗﺴﺘﻐﺮﻗﻪ‪  ‬‬


‫ﺍاﻟﻌﻴﻨﺔ‪  ‬ﺍاﻟﻮﺍاﺣﺪﺓة‪  ‬ﺑﺎﻟﺜﺎﻧﻴﺔ‪  ‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﻮﺿﻌﻪ‪  0T2  ‬ﺛﺎﻧﻴﺔ‪  .‬‬
‫ﻭوﻣﻦ‪  ‬ﺧﻼﻟﻪ‪  ‬ﻧﺴﺘﻄﻴﻊ‪  ‬ﺣﺴﺎﺏب‪  ‬ﺍاﻟﻮﻗﺖ‪  ‬ﺍاﻟﺬﻱي‪  ‬ﺗﺴﺘﻐﺮﻗﻪ‪  ‬‬
‫ﺍاﻟﻨﺒﻀﺔ‪  ‬ﺍاﻟﻜﺎﻣﻠﺔ‪  ‬ﺑﺎﻟﻄﺮﻳﻘﺔ‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  :‬‬
‫ﻧﺤﻦ‪  ‬ﺣﺪﺩدﻧﺎ‪  ‬ﺍاﻥن‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬ﺍاﻟﻜﺎﻣﻠﺔ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  10  ‬ﻋﻴﻨﺎﺕت‪  .‬ﻓﺈﺫذﺍا‪  ‬ﻛﺎﻥن‪  ‬ﻛﻞ‪  ‬ﻋﻴﻨﺔ‪  ‬‬
‫ﺗﺴﺘﻐﺮﻕق‪  0T2  ‬ﺛﺎﻧﻴﺔ‪  ،‬ﻓﻬﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻨﺒﻀﺔ‪  ‬ﺍاﻟﻜﺎﻣﻠﺔ‪  ‬ﺗﺴﺘﻐﺮﻕق‪  2  ‬ﺛﺎﻧﻴﺔ‪  .‬‬
‫ﻭوﺗﻮﺻﻠﻨﺎ‪  ‬ﺍاﻟﻰ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻨﺘﻴﺠﺔ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺿﺮﺏب‪  ‬ﻋﺪﺩد‪  ‬ﺍاﻟﻌﻴﻨﺎﺕت‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻮﻗﺖ‪  ‬ﺍاﻟﺬﻱي‪  ‬‬
‫ﺗﺴﺘﻐﺮﻗﻪ‪  ‬ﺍاﻟﻌﻴﻨﺔ‪  ‬ﺍاﻟﻮﺍاﺣﺪﺓة‪  T(  Sample  time  *  Period  )  ‬‬
‫ﺍاﻟﻨﺒﻀﺔ‪  ‬ﺍاﻟﻜﺎﻣﻠﺔ‪  2  ‬ﺛﺎﻧﻴﺔ‪  ‬ﻣﻘﺴﻤﺔ‪  ‬ﻋﻠﻰ‪  ‬ﺟﺰﺋﻴﻦ‪  )  ‬ﺍاﻟﺠﺰﺀء‪  ‬ﺍاﻟﻤﻮﺟﺐ‪  1  ‬ﺛﺎﻧﻴﺔ‪  ‬‬
‫ﻭوﺍاﻟﺠﺰﺀء‪  ‬ﺍاﻟﺴﺎﻟﺐ‪  1  ‬ﺛﺎﻧﻴﺔ‪  (  ‬ﻳﻌﻨﻲ‪  ‬ﺍاﻥن‪  LED  ‬ﺳﻴﻌﻤﻞ‪  ‬ﻟﻤﺪﺓة‪  ‬ﺛﺎﻧﻴﺔ‪  ‬ﺛﻢ‪  ‬ﻳﻨﻄﻔﺊ‪  ‬ﻟﻤﺪﺓة‪  ‬‬
‫ﺛﺎﻧﻴﺔ‪  .‬‬

‫ﺛﻢ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪TOK  ‬‬

‫‪39‬‬
‫سميولينك اردوينو‬

‫ﻭوﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  (  Run  )  ‬ﺍاﻟﻤﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﺣﺘﻰ‪  ‬ﻳﻘﻮﻡم‪  ‬‬
‫ﺑﺤﻔﻆ‪  ‬ﺍاﻟﺘﻌﺪﻳﻼﺕت‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺍاﺟﺮﻳﻨﺎﻫﺎ‪  .‬ﻟﺬﻟﻚ‪  ‬ﺍاﻱي‪  ‬ﺗﻌﺪﻳﻞ‪  ‬ﺍاﻭو‪  ‬ﺗﻐﻴﻴﺮ‪  ‬ﺗﻘﻮﻡم‪  ‬ﺑﻪ‪  ‬ﻳﺠﺐ‪  ‬‬
‫ﻋﻠﻴﻚ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  (  Run  )  ‬ﻟﺤﻔﻆ‪  ‬ﺍاﻟﺘﻌﺪﻳﻼﺕت‪.‬‬

‫‪40‬‬
‫سميولينك اردوينو‬

‫ﺛﻢ‪  ‬ﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻔﺘﺢ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  )  ‬ﻋﺎﺭرﺽض‪  ‬ﺍاﻟﻤﻮﺟﺎﺕت‪  (  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬‬
‫ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  .‬ﻭوﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺸﺎﺷﺔ‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻭوﻫﻲ‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺍاﻟﺘﻲ‪  ‬‬
‫ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﻟﻴﺪﺍاﻫﺎ‪.‬‬

‫‪+‬‬ ‫ـــ‬

‫ﻧﺤﻦ‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﻟﻴﺪ‪  ‬ﻧﺒﻀﺔ‪  ‬ﺑﻌﺮﺽض‪  ‬ﺛﺎﻧﻴﺘﻴﻦ‪  )  ‬ﺛﺎﻧﻴﺔ‪  ‬ﻟﻠﺠﺰﺀء‪  ‬ﺍاﻟﻤﻮﺟﺐ‪  ‬ﻭوﺛﺎﻧﻴﺔ‪  ‬‬
‫ﻟﻠﺴﺎﻟﺐ‪  (  ‬ﻟﻜﻦ‪  ‬ﺍاﻟﺬﻱي‪  ‬ﻧﺸﺎﻫﺪﻩه‪  ‬ﻫﻮ‪  ‬ﺗﻜﺮﺍاﺭر‪  ‬ﻟﻠﻨﺒﻀﺔ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻭوﻟﺪﻧﺎﻫﺎ‪  ‬ﺣﻴﺚ‪  ‬ﺍاﻧﻬﺎ‪  ‬ﺗﺘﻜﺮﺭر‪  ‬‬
‫ﺑﻌﺪ‪  ‬ﻛﻞ‪  ‬ﺛﺎﻧﻴﺘﻴﻦ‪    .‬‬
‫ﻭوﻧﻼﺣﻆ‪  ‬ﺃأﻥن‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻫﻮ‪  10  ‬ﺛﻮﺍاﻧﻲ‪  )  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  5  ‬ﻧﺒﻀﺎﺕت‪  (  ‬‬
‫ﻓﻜﻴﻒ‪  ‬ﻧﺴﺘﻄﻴﻊ‪  ‬ﺗﻐﻴﺮ‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ؟‪    ‬‬
‫ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﺳﺄﻭوﺿﺢ‪  ‬ﻛﻴﻒ‪  ‬ﻧﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪:‬‬

‫‪41‬‬
‫سميولينك اردوينو‬

‫ﻣﻦ‪  ‬ﺧﺎﻧﺔ‪  (  semulation  stop  time  )  ‬ﺍاﻟﻤﺸﺎﺭر‪  ‬ﺍاﻟﻴﻬﺎ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺴﺎﺑﻘﺔ‪  ‬‬
‫ﻧﺴﺘﻄﻴﻊ‪  ‬ﺍاﻟﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  .‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻐﻴﺮ‪  10  ‬ﺍاﻟﻰ‪  5  ‬ﺛﻢ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬‬
‫ﻋﻠﻰ‪  ‬ﺯزﺭر‪  (  Run  )  ‬ﻟﺤﻔﻆ‪  ‬ﺍاﻟﺘﻌﺪﻳﻼﺕت‪  .‬ﻭوﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻔﺘﺢ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﻟﻨﺸﺎﻫﺪ‪  ‬‬
‫ﺍاﻟﺘﻐﻴﺮ‪  ‬ﺍاﻟﺬﻱي‪  ‬ﺣﺼﻞ‪  ‬ﻓﻲ‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪.‬‬

‫‪42‬‬
‫سميولينك اردوينو‬

‫ﻣﻼﺣﻈﺔ‪  :‬ﺗﻐﻴﺮ‪  ‬ﻃﻮﻝل‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻣﻦ‪  (  semulation  stop  time  )  ‬ﻳﻈﻬﺮ‪  ‬‬
‫ﺗﺄﺛﻴﺮﻩه‪  ‬ﻓﻘﻂ‪  ‬ﻓﻲ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﻭوﻟﻴﺲ‪  ‬ﻟﻪ‪  ‬ﺍاﻱي‪  ‬ﺗﺄﺛﻴﺮ‪  ‬ﻋﻨﺪ‪  ‬ﺗﺸﻐﻴﻞ‪  ‬ﺍاﻟﺒﺮﻧﺎﻣﺞ‪  ‬ﻋﻠﻰ‪  ‬‬
‫ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪.‬‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺎﻟﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬‬
‫ﺍاﻻﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪43‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬ﺍاﻻﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻔﺤﺔ‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻟﻦ‪  ‬ﻧﻘﻮﻡم‪  ‬ﺑﺘﻐﻴﺮ‪  ‬ﺍاﻱي‪  ‬ﺷﻲﺀء‪  ‬ﻓﻲ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺼﻔﺤﺔ‪  ‬ﻭوﻟﻜﻦ‪  ‬ﺳﻨﻮﺿﺢ‪  ‬ﻣﺎﻫﻮ‪  Number  ‬‬
‫‪  .of  axes‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻐﻴﻴﺮ‪  ‬ﺍاﻟﺮﻗﻢ‪  1  ‬ﺍاﻟﻰ‪  2  ‬ﻭوﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  OK  ‬‬
‫ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺑﺤﻔﻆ‪  ‬ﺍاﻟﺘﻌﺪﻳﻼﺕت‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺯزﺭر‪  (  Run  )  ‬ﻭوﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻔﺘﺢ‪  ‬‬
‫ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﻭوﺳﻮﻑف‪  ‬ﻧﺸﺎﻫﺪ‪  ‬ﺍاﻟﺘﻐﻴﺮ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪44‬‬
‫سميولينك اردوينو‬

‫ﻧﻼﺣﻆ‪  ‬ﺍاﻥن‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﺍاﺿﻴﻒ‪  ‬ﺍاﻟﻴﻪ‪  ‬ﻣﺪﺧﻞ‪  ‬ﺁآﺧﺮ‪  ‬ﻭوﺃأﻳﻀﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬‬
‫ﺍاﻧﻘﺴﻤﺖ‪  ‬ﺍاﻟﻰ‪  ‬ﻗﺴﻤﻴﻦ‪  ‬ﻛﻞ‪  ‬ﻗﺴﻢ‪  ‬ﺗﺎﺑﻊ‪  ‬ﻟﻤﺪﺧﻞ‪  ‬ﻣﻦ‪  ‬ﻣﺪﺍاﺧﻞ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  .‬‬
‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺈﺭرﺟﺎﻉع‪  ‬ﺍاﻻﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺴﺎﺑﻘﺔ‪  ‬ﺳﻨﻐﻴﺮ‪    Number  of  axes  ‬‬
‫ﻣﻦ‪  2  ‬ﺍاﻟﻰ‪  1  ‬ﻭوﺳﺘﻈﻬﺮ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﺍاﻟﻄﺒﻴﻌﻴﺔ‪  ‬ﺑﻘﺴﻢ‪  ‬ﻭوﺍاﺣﺪ‪  ‬ﻭوﺳﻨﺘﺎﺑﻊ‪  ‬‬
‫ﺍاﻟﺘﻌﺮﻑف‪  ‬ﻋﻠﻰ‪  ‬ﺑﺎﻗﻲ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻻﺳﻜﻮﺏب‪.‬‬

‫‪45‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺍاﻟﺪﺧﻮﻝل‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺎﻟﻀﻐﻂ‪  ‬ﻋﻞ‪  History  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬‬
‫ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻟﻦ‪  ‬ﻧﻘﻮﻡم‪  ‬ﺑﺘﺤﺪﻳﺪ‪  ‬ﺍاﻱي‪  ‬ﺧﻴﺎﺭر‪  ‬ﻣﻦ‪  ‬ﺍاﻟﺨﻴﺎﺭرﺍاﺕت‪  ‬ﺍاﻟﻤﻮﺟﻮﺩدﺓة‪  ‬ﻭوﺳﻨﺘﺮﻛﻬﺎ‪  ‬ﻣﻦ‪  ‬ﻏﻴﺮ‪  ‬‬
‫ﺗﺤﺪﻳﺪ‪.‬‬

‫‪46‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺎﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  Style  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻣﻦ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺼﻔﺤﺔ‪  ‬ﻧﺴﺘﻄﻴﻊ‪  ‬ﺗﻌﺪﻳﻞ‪  ‬ﺣﺠﻢ‪  ‬ﻭوﻟﻮﻥن‪  ‬ﻭوﺷﻜﻞ‪  ‬ﺍاﻟﺨﻂ‪  ‬ﺍاﻟﻤﺴﺘﺨﺪﻡم‪  ‬ﻓﻲ‪  ‬‬
‫ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  .‬‬
‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻻﻧﺘﻬﺎﺀء‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  OK  ‬ﻭوﻻ‪  ‬ﻧﻨﺴﻰ‪  ‬ﺍاﻥن‪  ‬ﻧﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  (  Run  )  ‬ﻟﺤﻔﻆ‪  ‬‬
‫ﺍاﻟﺘﻌﺪﻳﻼﺕت‪.‬‬

‫‪47‬‬
‫سميولينك اردوينو‬

‫ﺑﻘﻲ‪  ‬ﻟﻨﺎ‪  ‬ﻓﻲ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﺃأﻥن‪  ‬ﻧﺘﻌﺮﻑف‪  ‬ﻋﻠﻰ‪  ‬ﻃﺮﻳﻘﺔ‪  ‬ﺍاﻟﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﺍاﺭرﺗﻔﺎﻉع‪  ‬‬
‫ﺍاﻟﻤﺤﻮﺭر‪  )  Y  ‬ﺍاﻟﻤﺤﻮﺭر‪  ‬ﺍاﻟﺼﺎﺩدﻱي‪  .(  ‬ﻧﺴﺘﻄﻴﻊ‪  ‬ﺗﻌﺪﻳﻞ‪  ‬ﺍاﻟﻤﺤﻮﺭر‪  Y  ‬ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬‬
‫ﺑﺰﺭر‪  ‬ﺍاﻟﻤﺎﻭوﺱس‪  ‬ﺍاﻻﻳﻤﻦ‪  ‬ﻓﻲ‪  ‬ﺍاﻱي‪  ‬ﻣﻜﺎﻥن‪  ‬ﻋﻠﻰ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﻭوﺳﺘﻈﻬﺮ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬‬
‫ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﺳﻨﺨﺘﺎﺭر‪  Axes  properties  ‬ﻭو‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪48‬‬
‫سميولينك اردوينو‬

‫ﻧﺴﺘﻄﻴﻊ‪  ‬ﻣﻦ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺼﻔﺤﺔ‪  ‬ﺗﻐﻴﻴﺮ‪  Y-max  ‬ﻭو‪  Y-min  ‬ﺛﻢ‪  ‬ﻧﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬‬
‫‪  .OK‬ﻭوﺑﻌﺪﻫﺎ‪  ‬ﻧﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  (  Run  )  ‬ﻟﺤﻔﻆ‪  ‬ﺍاﻟﺘﻌﺪﻳﻼﺕت‪.‬‬

‫‪49‬‬
‫سميولينك اردوينو‬

‫اخلطوة السادسة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺎﻟﺤﺎﺳﻮﺏب‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬‬

‫ﻣﻨﻔﺬ‪  USB  ‬ﺛﻢ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﻗﺎﺋﻤﺔ‪  ‬ﺃأﺩدﻭوﺍاﺕت‪  (  tools  )  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬‬

‫ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪50‬‬
‫سميولينك اردوينو‬

‫ﻣﻦ‪  ‬ﻗﺎﺋﻤﺔ‪  ‬ﺃأﺩدﻭوﺍاﺕت‪  ‬ﺳﻨﺨﺘﺎﺭر‪  (  Run  on  Target  Hardware  )  ‬ﻭوﺑﻌﺪﻫﺎ‪  ‬‬
‫ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  (  Prepare  to  Run  )  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  (  Prepare  to  Run  )  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺻﻔﺤﺔ‪  ‬ﺍاﺧﺘﻴﺎﺭر‪  ‬ﻧﻮﻉع‪  ‬‬
‫ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻟﻤﺴﺘﺨﺪﻣﺔ‪  ‬ﺳﻮﺍاﺀء‪  ‬ﻛﺎﻧﺖ‪  Uno  )  ‬ﺍاﻭو‪  Mega  ‬ﺍاﻭو‪  ‬ﻏﻴﺮﻫﺎ‪  (  ‬ﻛﻤﺎ‪  ‬‬
‫ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﺑﺎﻟﻨﺴﺒﺔ‪  ‬ﻟﻲ‪  ‬ﻓﺄﻧﺎ‪  ‬ﺍاﺳﺘﺨﺪﻡم‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻧﻮ‪T(  Arduino  Uno  )  ‬‬

‫‪51‬‬
‫سميولينك اردوينو‬

‫ﺑﻤﺠﺮﺩد‪  ‬ﺍاﻥن‪  ‬ﻧﻘﻮﻡم‪  ‬ﺑﺈﺧﺘﻴﺎﺭر‪  ‬ﻧﻮﻉع‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺼﻔﺤﺔ‪  ‬ﺍاﻟﻤﻮﺿﺤﺔ‪  ‬‬
‫ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻟﻦ‪  ‬ﻧﻘﻮﻡم‪  ‬ﺑﺄﻱي‪  ‬ﺗﻐﻴﺮ‪  ‬ﻓﻲ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺼﻔﺤﺔ‪  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪TOK  ‬‬

‫‪52‬‬
‫سميولينك اردوينو‬

‫اخلطوة السابعة‪ :‬ﺭرﻓﻊ‪  ‬ﺍاﻟﺒﺮﻧﺎﻣﺞ‪  ‬ﻋﻠﻰ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬‬

‫ﺯزﺭر‪  (  Deploy  to  Hardware  )  ‬ﺍاﻟﻤﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻧﺘﻬﺎﺀء‪  ‬ﻋﻤﻠﻴﺔ‪  ‬ﺍاﻟﺮﻓﻊ‪  ‬ﺳﻨﻼﺣﻆ‪  ‬ﺍاﻥن‪  LED  ‬ﺑﺪﺃأ‪  ‬ﻳﻌﻤﻞ‪  ‬ﻟﻤﺪﺓة‪  ‬ﺛﺎﻧﻴﺔ‪  ‬ﺛﻢ‪  ‬ﻳﻨﻄﻔﺊ‪  ‬‬
‫ﻟﻤﺪﺓة‪  ‬ﺛﺎﻧﻴﺔ‪  .‬‬

‫ﺭرﺍاﺑﻂ‪  ‬ﻓﻴﺪﻳﻮ‪  ‬ﻟﻤﺸﺎﻫﺪﺓة‪  ‬ﺗﻄﺒﻴﻖ‪  ‬ﻋﻤﻠﻲ‪  ‬ﻟﻠﻤﺜﺎﻝل‪  :‬‬


‫‪https://www.youtube.com/watch?v=H4Tk8owL1GI‬‬

‫‪53‬‬
‫سميولينك اردوينو‬

‫اﳌﺜﺎل اﻟﺜﺎﻧﻲ ) اﳌﻔﺎﺗﻴﺢ (‪:‬‬


‫—————————————————‬
‫ﺍاﻷﺩدﻭوﺍاﺕت‪  ‬ﺍاﻟﻤﺴﺘﺨﺪﻣﺔ‪  :‬‬
‫ﻟﻮﺣﺔ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻭوﻧﻮ‪  (  Arduino  Uno  )  ‬‬ ‫•‬
‫ﻟﻮﺣﺔ‪  ‬ﺗﺠﺎﺭرﺏب‪  (  Breadboard  )  ‬‬ ‫•‬
‫‪  2‬ﻣﻔﺘﺎﺡح‪  ‬ﺿﻐﺎﻁط‪  (  Bush  Button  )  ‬‬ ‫•‬
‫ﻣﻘﺎﻭوﻣﺔ‪  330  ‬ﺍاﻭوﻡم‪  ‬‬ ‫•‬
‫‪  2‬ﻣﻘﺎﻭوﻣﺔ‪  1  ‬ﻛﻴﻠﻮ‪  ‬ﺍاﻭوﻡم‪  ‬‬ ‫•‬
‫ﺩدﺍاﻳﻮﺩد‪  ‬ﺿﻮﺋﻲ‪(  LED  )  ‬‬ ‫•‬

‫‪54‬‬
‫سميولينك اردوينو‬

‫اخلطوة األولى‪ :‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪  .‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻄﺮﻑف‪  ‬‬


‫ﺍاﻟﻤﻮﺟﺐ‪  ‬ﻟـ‪  LED  ‬ﻓﻲ‪  pin  1  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ،‬ﻭوﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻻﻭوﻝل‪  ‬ﻓﻲ‪  pin  ‬‬
‫‪  7‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ،‬ﻭوﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻓﻲ‪  pin  13  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪    .‬‬
‫اخلطوة الثانية‪ :‬ﻓﺘﺢ‪  ‬ﻣﻠﻒ‪  ‬ﺳﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺟﺪﻳﺪ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻳﻘﻮﻧﺔ‪  ‬‬
‫ﺟﺪﻳﺪ‪  NEW  ‬ﺛﻢ‪  ‬ﺍاﺧﺘﺎﺭر‪  Tsimulink  modle  ‬‬
‫اخلطوة الثالثة‪ :‬ﻓﺘﺢ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  (  simulink  library  )  ‬ﺍاﻟﺘﻲ‪  ‬‬
‫ﺳﻨﺨﺘﺎﺭر‪  ‬ﻣﻨﻬﺎ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻤﻨﺎﺳﺒﺔ‪  ‬ﻟﻤﺸﺮﻭوﻋﻨﺎ‪  ‬ﻭوﻫﻲ‪  ‬ﻛﺎﻟﺘﺎﻟﻲ‪  :‬‬
‫‪ .1‬ﺑﻠﻮﻛﻴﻦ‪  ‬ﺩدﺧﻞ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺭرﻗﻤﻲ‪  (  Digital  Input  )  ‬ﻭوﺍاﻟﺘﻲ‪  ‬ﺗﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬‬
‫ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻷﻭوﻝل‪  ‬ﻭوﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬‬
‫‪ .2‬ﺑﻠﻮﻙك‪  ‬ﺧﺮﺝج‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺭرﻗﻤﻲ‪  (Digital  Output)  ‬ﻭوﺍاﻟﺬﻱي‪  ‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  LED  ‬‬
‫‪ .3‬ﺑﻠﻮﻙك‪  ‬ﺑﻮﺍاﺑﺔ‪  (  AND  Gate  )  AND  ‬‬
‫‪ .4‬ﺑﻠﻮﻙك‪  ‬ﻋﺎﺭرﺽض‪  ‬ﺍاﻻﺷﺎﺭرﺍاﺕت‪  (  Scope  )  ‬ﺳﻜﻮﺏب‪  ‬‬
‫اخلطوة الرابعة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺐ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻣﻦ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺍاﻟﻰ‪  ‬‬
‫ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  ‬‬


‫ﺑﻮﺍاﺑﺔ‪  AND  ‬‬
‫ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪    ‬‬
‫‪  Logic  and  Bit  Operations‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫‪55‬‬
‫سميولينك‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  ‬‬


‫‪  Digital  Input‬‬
‫ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬‬
‫‪  Arduino‬ﻓﻲ‪  ‬ﻗﺴﻢ‪  common  ‬ﺍاﻟﺘﻲ‪  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻬﺎ‪  ‬ﺑﺎﻟﺘﻔﺼﻴﻞ‪  ‬‬
‫ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪  .‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫ﻭوﺑﻘﻴﺔ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻳﻀﺎ‪  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻬﺎ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪.‬‬

‫ﺑﻌﺪ‪  ‬ﺍاﻻﻧﺘﻬﺎﺀء‪  ‬ﻣﻦ‪  ‬ﻭوﺿﻊ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻼﺯزﻣﺔ‪  ‬ﺳﻨﻐﻠﻖ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪  ‬ﻭو‪  ‬ﺑﻌﺪﻫﺎ‪  ‬‬
‫ﻧﻘﻮﻡم‪  ‬ﺑﺘﺮﺗﻴﺐ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻭوﺗﻮﺻﻴﻠﻬﺎ‪  ‬ﻣﻊ‪  ‬ﺑﻌﻀﻬﺎ‪  )  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬‬
‫ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪T(  ‬‬

‫) ‪( digital input‬‬
‫‪AND‬‬ ‫) ‪( digital output‬‬

‫) ‪( digital input‬‬
‫‪scope‬‬

‫‪56‬‬
‫سميولينك اردوينو‬

‫اخلطوة اخلامسة‪  :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻌﺪﻳﻞ‪  ‬ﻭوﺿﺒﻂ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬‬
‫ﺍاﻟﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬ﻭو‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺻﻔﺤﺔ‪  ‬ﺍاﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺒﻠﻮﻙك‪.‬‬

‫ﺳﻨﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Digital  Input  ‬ﺍاﻻﻭوﻝل‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬‬
‫ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺍاﻟﻤﻮﺻﻞ‪  ‬ﺑﻪ‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬‬
‫ﺍاﻷﻭوﻝل‪  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻣﺜﺎﻟﻨﺎ‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻷﻭوﻝل‪  ‬‬
‫ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  7  ‬ﺭرﺍاﺟﻊ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪T(  ‬‬

‫ﺛﻢ‪  ‬ﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  Digital  Input  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬‬
‫ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺍاﻟﻤﻮﺻﻞ‪  ‬ﺑﻪ‪  ‬‬
‫ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻣﺜﺎﻟﻨﺎ‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬‬
‫ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  13  ‬ﺭرﺍاﺟﻊ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪T(  ‬‬

‫‪57‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Digital  Output  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻴﻪ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬‬
‫ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬‬
‫ﺍاﻟﻤﻮﺻﻞ‪  ‬ﺑﻪ‪  LED  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻣﺜﺎﻟﻨﺎ‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬‬
‫ﺍاﻟﺪﺍاﻳﻮﺩد‪  ‬ﺍاﻟﻀﻮﺋﻲ‪  (  LED  )  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  1  ‬ﺭرﺍاﺟﻊ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪T(  ‬‬

‫ﺛﻢ‪  ‬ﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  )  ‬ﻋﺎﺭرﺽض‪  ‬ﺍاﻟﻤﻮﺟﺎﺕت‪  (  ‬ﻭوﺳﻨﺠﻌﻠﻪ‪  ‬ﺫذﻭو‪  ‬‬
‫ﺛﻼﺛﺔ‪  ‬ﺃأﻃﺮﺍاﻑف‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  .‬ﻭوﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬‬
‫ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ،‬ﻭوﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﻭوﺳﺘﻈﻬﺮ‪  ‬‬
‫ﻟﻨﺎ‪  ‬ﺍاﻟﺸﺎﺷﺔ‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﺛﻢ‪  ‬ﺳﻨﻜﺘﺐ‪  3  ‬ﻓﻲ‪  ‬ﺧﺎﻧﺔ‪  .Number  of  axes  ‬ﻭوﺳﻨﻼﺣﻆ‪  ‬ﺍاﻥن‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬‬
‫ﺍاﺻﺒﺢ‪  ‬ﺫذﻭو‪  ‬ﺛﻼﺛﺔ‪  ‬ﺃأﻃﺮﺍاﻑف‪.‬‬

‫‪58‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  AND  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻴﻪ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬‬
‫ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  .‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﻧﺎﻓﺬﺓة‪  OPERATOR  ‬ﻧﺤﺪﺩد‪  ‬ﻧﻮﻉع‪  ‬ﺍاﻟﺒﻮﺍاﺑﺔ‪  ‬ﺍاﻟﻤﻨﻄﻘﻴﺔ‪  .‬ﻭوﻓﻲ‪  ‬ﻣﺜﺎﻟﻨﺎ‪  ‬‬
‫ﺍاﻟﺜﺎﻧﻲ‪  ‬ﺳﻨﺘﻌﺎﻣﻞ‪  ‬ﻣﻊ‪  ‬ﺑﻮﺍاﺑﺔ‪TAND  ‬‬

‫‪59‬‬
‫سميولينك اردوينو‬

‫ﻭوﺳﻨﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﻋﺪﺩد‪  ‬ﻣﺪﺍاﺧﻞ‪  ‬ﺍاﻟﺒﻮﺍاﺑﺔ‪  ‬ﻣﻦ‪  ‬‬


‫ﺧﻼﻝل‪TNumber  of  input  port  ‬‬

‫ﻭوﺳﻨﻐﻴﺮ‪  ‬ﻣﻦ‪  ‬ﺷﻜﻞ‪  ‬ﺍاﻟﺒﻮﺍاﺑﺔ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬‬


‫‪Ticon  shape‬‬

‫ﻭوﻻ‪  ‬ﻧﻨﺴﻰ‪  ‬ﺍاﻥن‪  ‬ﻧﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  RUN  ‬ﺣﺘﻰ‪  ‬ﻳﻘﻮﻡم‪  ‬ﺑﺤﻔﻆ‪  ‬‬
‫ﺍاﻟﺘﻌﺪﻳﻼﺕت‪.‬‬

‫ﻟﻜﻦ‪  ‬ﻣﺎ‪  ‬ﻫﻲ‪  ‬ﺍاﻟﻔﻜﺮﺓة‪  ‬ﻣﻦ‪  ‬ﺍاﺿﺎﻓﺔ‪  ‬ﺑﻮﺍاﺑﺔ‪  AND  ‬؟‪  ‬‬
‫ﻧﺤﻦ‪  ‬ﻧﻌﻠﻢ‪  ‬ﺍاﻥن‪  ‬ﺟﺪﻭوﻝل‪  ‬ﺑﻮﺍاﺑﺔ‪  AND  ‬ﻛﺎﻟﺘﺎﻟﻲ‪  :‬ﻓﻤﺎﺫذﺍا‪  ‬ﻳﻌﻨﻲ؟‪  ‬‬

‫املفتاح االول‬ ‫املفتاح الثاني‬ ‫الدايود الضوئي‬


‫) ‪( Input 1‬‬ ‫) ‪( Input 2‬‬ ‫) ‪( Output‬‬
‫‪0F‬‬ ‫‪0F‬‬ ‫‪0F‬‬
‫‪0F‬‬ ‫‪1F‬‬ ‫‪0F‬‬
‫‪1F‬‬ ‫‪0F‬‬ ‫‪0F‬‬
‫‪1F‬‬ ‫‪1F‬‬ ‫‪1F‬‬

‫)‪  5  =  1  ‬ﻓﻮﻟﺖ‪  (  ‬ﺍاﻱي‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﻣﻀﻐﻮﻁط‪  ‬ﺍاﻭو‪  ‬ﺃأﻥن‪  LED  ‬ﺷﻐﺎﻝل‪  ‬‬
‫)‪  0  =  0  ‬ﻓﻮﻟﺖ‪  (  ‬ﺍاﻱي‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﻏﻴﺮ‪  ‬ﻣﻀﻐﻮﻁط‪  ‬ﺍاﻭو‪  ‬ﺃأﻥن‪  LED  ‬ﻏﻴﺮ‪  ‬ﺷﻐﺎﻝل‬

‫‪60‬‬
‫سميولينك اردوينو‬

‫ﻣﻦ‪  ‬ﺍاﻟﺠﺪﻭوﻝل‪  :‬‬


‫ﺍاﻟﺤﺎﻟﺔ‪  ‬ﺍاﻷﻭوﻝل‪  ‬ﺗﻌﻨﻲ‪  ‬ﺃأﻧﻪ‪  ‬ﺍاﺫذﺍا‪  ‬ﻛﺎﻥن‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻻﻭوﻝل‪  ‬ﻭو‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻏﻴﺮ‪  ‬ﻣﻀﻐﻮﻃﻴﻦ‪    ،‬‬ ‫•‬
‫ﺳﻴﻜﻮﻥن‪  LED  ‬ﻏﻴﺮ‪  ‬ﺷﻐﺎﻝل‪  .‬‬
‫ﺍاﻟﺤﺎﻟﺔ‪  ‬ﺍاﻟﺜﺎﻧﻴﺔ‪  ‬ﺗﻌﻨﻲ‪  ‬ﺃأﻧﻪ‪  ‬ﺍاﺫذﺍا‪  ‬ﻛﺎﻥن‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻻﻭوﻝل‪  ‬ﻏﻴﺮ‪  ‬ﻣﻀﻐﻮﻁط‪  ‬ﻭو‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬‬ ‫•‬
‫ﻣﻀﻐﻮﻁط‪  ،‬ﺳﻴﻜﻮﻥن‪  LED  ‬ﻏﻴﺮ‪  ‬ﺷﻐﺎﻝل‪  .‬‬
‫ﺍاﻟﺤﺎﻟﺔ‪  ‬ﺍاﻟﺜﺎﻟﺜﺔ‪  ‬ﺗﻌﻨﻲ‪  ‬ﺃأﻧﻪ‪  ‬ﺍاﺫذﺍا‪  ‬ﻛﺎﻥن‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻻﻭوﻝل‪  ‬ﻣﻀﻐﻮﻁط‪  ‬ﻭو‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻏﻴﺮ‪  ‬‬ ‫•‬
‫ﻣﻀﻐﻮﻁط‪  ،‬ﺳﻴﻜﻮﻥن‪  LED  ‬ﻏﻴﺮ‪  ‬ﺷﻐﺎﻝل‪  .‬‬
‫ﺍاﻟﺤﺎﻟﺔ‪  ‬ﺍاﻟﺮﺍاﺑﻌﺔ‪  ‬ﺗﻌﻨﻲ‪  ‬ﺃأﻧﻪ‪  ‬ﺍاﺫذﺍا‪  ‬ﻛﺎﻥن‪  ‬ﺍاﻟﻤﻔﺘﺎﺡح‪  ‬ﺍاﻻﻭوﻝل‪  ‬ﻭو‪  ‬ﺍاﻟﺜﺎﻧﻲ‪  ‬ﻣﻀﻐﻮﻃﻴﻦ‪    ،‬‬ ‫•‬
‫ﺳﻴﻜﻮﻥن‪  LED  ‬ﺷﻐﺎﻝل‪.‬‬

‫ﺍاﻟﺨﻄﻮﺓة‪  ‬ﺍاﻟﺴﺎﺩدﺳﺔ‪  :‬ﺗﻮﺻﻴﻞ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺎﻟﺤﺎﺳﺐ‪  ‬ﻭو‪  ‬ﺭرﻓﻊ‪  ‬‬


‫ﺍاﻟﺒﺮﻧﺎﻣﺞ‪  ‬ﻋﻠﻰ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬‬
‫)‪T(  Deploy  to  Hardware  ‬‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻧﺘﻬﺎﺀء‪  ‬ﻋﻤﻠﻴﺔ‪  ‬ﺍاﻟﺮﻓﻊ‪  ‬ﺳﻨﻼﺣﻆ‪  ‬ﺍاﻥن‪  LED  ‬ﻟﻦ‪  ‬ﻳﻌﻤﻞ‪  ‬ﺣﺘﻰ‪  ‬ﻧﻘﻮﻡم‪  ‬ﺑﺎﻟﻀﻐﻂ‪  ‬‬
‫ﻋﻠﻰ‪  ‬ﺍاﻟﻤﻔﺘﺎﺣﻴﻦ‪  ‬ﻣﻌﺎ‪.‬‬

‫ﺭرﺍاﺑﻂ‪  ‬ﻓﻴﺪﻳﻮ‪  ‬ﻟﻤﺸﺎﻫﺪﺓة‪  ‬ﺗﻄﺒﻴﻖ‪  ‬ﻋﻤﻠﻲ‪  ‬ﻟﻠﻤﺜﺎﻝل‪  :‬‬


‫‪https://www.youtube.com/watch?v=Sf1OanjGPIk‬‬

‫‪61‬‬
‫سميولينك اردوينو‬

‫اﳌﺜﺎل اﻟﺜﺎﻟﺚ )‪:( PWM‬‬


‫—————————————————‬
‫ﺍاﻷﺩدﻭوﺍاﺕت‪  ‬ﺍاﻟﻤﺴﺘﺨﺪﻣﺔ‪  :‬‬
‫ﻟﻮﺣﺔ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻭوﻧﻮ‪  (  Arduino  Uno  )  ‬‬
‫•‬
‫• ﻟﻮﺣﺔ‪  ‬ﺗﺠﺎﺭرﺏب‪  (  Breadboard  )  ‬‬
‫• ﻣﻘﺎﻭوﻣﺔ‪  330  ‬ﺍاﻭوﻡم‪  ‬‬
‫• ﺩدﺍاﻳﻮﺩد‪  ‬ﺿﻮﺋﻲ‪(  LED  )  ‬‬

‫‪62‬‬
‫سميولينك اردوينو‬

‫ﻣﺎﻫﻲ‪  ‬ﺧﺎﺻﻴﺔ‪  :PWM  ‬ﻫﻲ‪  ‬ﺑﺈﺧﺘﺼﺎﺭر‪  ‬ﺗﺤﻮﻝل‪  ‬ﺍاﻟﻘﻴﻢ‪  ‬ﻣﻦ‪  ‬ﺭرﻗﻤﻴﺔ‪  ‬ﺍاﻟﻰ‪  ‬ﺗﻤﺎﺛﻠﻴﺔ‪  ‬‬
‫)‪  .(  from  Digital  to  Analog  ‬ﻓﻌﻠﻰ‪  ‬ﺳﺒﻴﻞ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﻟﻮ‪  ‬ﺍاﻧﻨﺎ‪  ‬ﻧﻤﻠﻚ‪  ‬ﺑﻄﺎﺭرﻳﺔ‪  ‬‬
‫‪  5‬ﻓﻮﻟﺖ‪  ،‬ﻓﺴﻴﻜﻮﻥن‪  ‬ﻟﺪﻳﻨﺎ‪  ‬ﻗﻴﻤﺘﻴﻦ‪  ‬ﺭرﻗﻤﻴﺔ‪  ‬ﻭوﻫﻲ‪  0  )  ‬ﻓﻮﻟﺖ‪  5  ،‬ﻓﻮﻟﺖ‪  T(  ‬‬
‫ﺍاﻣﺎ‪  ‬ﺍاﻟﻘﻴﻢ‪  ‬ﺍاﻟﺘﻤﺎﺛﻠﻴﺔ‪  ‬ﻓﺴﻴﻜﻮﻥن‪  ‬ﻟﺪﻳﻨﺎ‪  ‬ﺟﻤﻴﻊ‪  ‬ﺍاﻟﻘﻴﻢ‪  )  ‬ﻣﻦ‪  0  ‬ﻓﻮﻟﺖ‪  ‬ﺍاﻟﻰ‪  5  ‬ﻓﻮﻟﺖ‪  T(  ‬‬
‫ﺑﻌﺪ‪  ‬ﺍاﻥن‪  ‬ﺗﻌﺮﻓﻨﺎ‪  ‬ﻋﻠﻰ‪  ‬ﺧﺎﺻﻴﺔ‪  PWM  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻨﻔﻴﺬ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪.‬‬

‫اخلطوة األولى‪ :‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪  .‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻄﺮﻑف‪  ‬‬


‫ﺍاﻟﻤﻮﺟﺐ‪  ‬ﻟـ‪  LED  ‬ﻓﻲ‪  pin  9  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪    .‬ﻭوﺍاﻟﺴﺒﺐ‪  ‬ﻓﻲ‪  ‬ﺍاﺧﺘﻴﺎﺭر‪  PIN  ‬‬
‫‪  9‬ﻫﻮ‪  ‬ﺃأﻧﻪ‪  ‬ﻳﺪﻋﻢ‪  ‬ﺧﺎﺻﻴﺔ‪    .PWM  ‬ﻧﻼﺣﻆ‪  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  Arduino  Uno  ‬ﺃأﻧﻬﺎ‪  ‬‬
‫ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  ‬ﻣﺪﺍاﺧﻞ‪  ‬‬
‫ﺑﺠﺎﻧﺒﻬﺎ‪  ‬ﺗﻮﺟﺪ‪  ‬ﻋﻼﻣﺔ‪  ‬‬
‫~‪  ‬ﺗﺸﻴﺮ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻌﻼﻣﺔ‪  ‬‬
‫ﺃأﻥن‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬‬
‫ﻳﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  ‬ﺧﺎﺻﻴﺔ‪    PWM  ‬‬
‫ﻫﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻤﺪﺍاﺧﻞ‪  (  11  ،10  ،9  ،6  ،5  ،3  )  ‬ﺟﻤﻴﻌﻬﺎ‪  ‬ﻳﺪﻋﻢ‪  .PWM  ‬ﻭوﻻ‪  ‬‬
‫ﻳﻤﻜﻦ‪  ‬ﺍاﺳﺘﺨﺪﺍاﻡم‪  ‬ﺧﺎﺻﻴﺔ‪  PWM  ‬ﻣﻊ‪  ‬ﺍاﻟﻤﺪﺍاﺧﻞ‪  ‬ﺍاﻟﺨﺮﻯى‪  .‬‬
‫ﻣﻊ‪  ‬ﺍاﻟﻌﻠﻢ‪  ‬ﺃأﻥن‪  ‬ﺧﺎﺻﻴﺔ‪  PWM  ‬ﻓﻲ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  8  ‬ﺑﺖ‪  (  8  bit  )  ‬‬
‫ﻭوﻫﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻧﻬﺎ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  256  ‬ﻣﺴﺘﻮﻯى‪  )  ‬ﻣﻦ‪  0  ‬ﺍاﻟﻰ‪T(  255  ‬‬

‫اخلطوة الثانية‪ :‬ﻓﺘﺢ‪  ‬ﻣﻠﻒ‪  ‬ﺳﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺟﺪﻳﺪ‪.‬‬

‫‪63‬‬
‫سميولينك اردوينو‬

‫اخلطوة الثالثة‪ :‬ﻓﺘﺢ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  (  simulink  library  )  ‬ﺍاﻟﺘﻲ‪  ‬‬


‫ﺳﻨﺨﺘﺎﺭر‪  ‬ﻣﻨﻬﺎ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻤﻨﺎﺳﺒﺔ‪  ‬ﻟﻤﺸﺮﻭوﻋﻨﺎ‪  ‬ﻭوﻫﻲ‪  ‬ﻛﺎﻟﺘﺎﻟﻲ‪  :‬‬
‫‪ .1‬ﺑﻠﻮﻙك‪  PWM  ‬‬
‫‪ .2‬ﺑﻠﻮﻙك‪  Repeating  Sequence  ‬‬
‫‪ .3‬ﺑﻠﻮﻙك‪  )  Scope  ‬ﺍاﺧﺘﻴﺎﺭرﻱي‪  (  ‬‬
‫اخلطوة الرابعة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺐ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻣﻦ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺍاﻟﻰ‪  ‬‬
‫ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  PWM  ‬ﺩدﺍاﺧﻞ‪  ‬‬


‫ﻣﻜﺘﺒﺔ‪  Arduino  ‬ﻓﻲ‪  ‬ﻗﺴﻢ‪  ‬‬
‫‪  .common‬ﺍاﻟﺘﻲ‪  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬‬
‫ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻬﺎ‪  ‬ﺑﺎﻟﺘﻔﺼﻴﻞ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪  .‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬‬
‫ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  ‬‬


‫‪  Repeating‬‬
‫‪  Sequence‬ﺩدﺍاﺧﻞ‪  ‬‬
‫ﻣﻜﺘﺒﺔ‪  .Sources  ‬ﺛﻢ‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‬

‫ﻭو‪  ‬ﺑﻠﻮﻙك‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻪ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻻﻭوﻝل‪.‬‬

‫‪64‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺍاﻻﻧﺘﻬﺎﺀء‪  ‬ﻣﻦ‪  ‬ﻭوﺿﻊ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﺮﺗﻴﺐ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻭوﺗﻮﺻﻴﻠﻬﺎ‪  ‬ﻣﻊ‪  ‬‬
‫ﺑﻌﻀﻬﺎ‪  )  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪T(  ‬‬

‫اخلطوة اخلامسة‪  :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻌﺪﻳﻞ‪  ‬ﻭوﺿﺒﻂ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬‬
‫ﺍاﻟﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬ﻭو‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺻﻔﺤﺔ‪  ‬ﺍاﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺒﻠﻮﻙك‪.‬‬

‫ﺳﻨﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  PWM  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺘﻲ‪  ‬‬
‫ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺍاﻟﻤﻮﺻﻞ‪  ‬ﺑﻪ‪  ‬‬
‫‪  LED‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻣﺜﺎﻟﻨﺎ‪  ‬‬
‫ﺍاﻟﺜﺎﻟﺚ‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﺪﺍاﻳﻮﺩد‪  ‬ﺍاﻟﻀﻮﺋﻲ‪  ‬‬
‫)‪  (  LED  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  9  ‬ﺭرﺍاﺟﻊ‪  ‬‬
‫ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪T(  ‬‬

‫‪65‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Repeating  Sequence  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻴﻪ‪  ‬‬
‫ﻣﺮﺗﻴﻦ‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺍاﻟﻘﻴﻢ‪  ‬‬
‫ﻭوﺍاﻷﺯزﻣﻨﺔ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺳﻴﻌﻤﻞ‪  ‬ﺑﻬﺎ‪TLED  ‬‬

‫ﻓﻲ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺸﺎﺷﺔ‪  ‬ﻟﺪﻳﻨﺎ‪  )  Time  values  ‬ﺃأﺯزﻣﻨﺔ‪  ‬ﺗﺸﻐﻴﻞ‪  LED  ‬ﺑﺎﻟﺜﺎﻧﻴﺔ‪    .(  ‬‬
‫ﻭوﻟﺪﻳﻨﺎ‪  ‬ﺍاﻳﻀﺎ‪  )  Output  values  ‬ﻗﻴﻢ‪  ‬ﺗﺸﻐﻴﻞ‪  .(  LED  ‬ﻓﻜﻞ‪  ‬ﺯزﻣﻦ‪  ‬ﻣﺮﺗﺒﻂ‪  ‬‬
‫ﺑﻘﻴﻤﺔ‪  ‬ﺗﺸﻐﻴﻞ‪  ‬ﻣﻌﻴﻨﺔ‪  ‬ﻋﻠﻰ‪  ‬ﺣﺴﺐ‪  ‬ﺍاﻟﺘﺮﺗﻴﺐ‪    .‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺸﺎﺷﺔ‪            ‬‬
‫)ﺍاﻟﺰﻣﻦ‪  ،  0  ‬ﻗﻴﻤﺔ‪  ‬ﺍاﻟﺘﺸﻐﻴﻞ‪)  ،  (0  ‬ﺍاﻟﺰﻣﻦ‪  ،  0T2  ‬ﻗﻴﻤﺔ‪  ‬ﺍاﻟﺘﺸﻐﻴﻞ‪)  ،  (30  ‬ﺍاﻟﺰﻣﻦ‪  ‬‬
‫‪  ،  0T4‬ﻗﻴﻤﺔ‪  ‬ﺍاﻟﺘﺸﻐﻴﻞ‪)  ،  (60  ‬ﺍاﻟﺰﻣﻦ‪  ،  0T6  ‬ﻗﻴﻤﺔ‪  ‬ﺍاﻟﺘﺸﻐﻴﻞ‪  ،  …T  ،  (100  ‬‬
‫)ﺍاﻟﺰﻣﻦ‪  ،  1  ‬ﻗﻴﻤﺔ‪  ‬ﺍاﻟﺘﺸﻐﻴﻞ‪)  ،  T…  ،  (255  ‬ﺍاﻟﺰﻣﻦ‪  2  ‬ﻗﻴﻤﺔ‪  ‬ﺍاﻟﺘﺸﻐﻴﻞ‪  (0  ‬‬
‫ﻧﻼﺣﻆ‪  ‬ﺍاﻥن‪  ‬ﺍاﻋﻠﻰ‪  ‬ﻗﻴﻤﺔ‪  ‬ﻳﻤﻜﻦ‪  ‬ﺍاﺳﺘﺨﺪﺍاﻣﻬﺎ‪  255  ‬ﻓﻬﻲ‪  ‬ﺗﻤﺜﻞ‪  ‬ﺃأﻗﻮﻯى‪  ‬ﺷﺪﺓة‪  ‬ﺍاﺿﺎﺀءﺓة‪  .‬‬
‫ﻭوﺍاﻳﻀﺎ‪  ‬ﻳﺠﺐ‪  ‬ﺍاﻥن‪  ‬ﻳﻜﻮﻥن‪  ‬ﻋﺪﺩد‪  ‬ﻗﻴﻢ‪  Time  values  ‬ﻣﺴﺎﻭوﻱي‪  ‬ﻟﻌﺪﺩد‪  ‬ﻗﻴﻢ‪  ‬‬
‫‪TOutput  values‬‬

‫‪66‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  RUN  ‬ﺣﺘﻰ‪  ‬ﻳﻘﻮﻡم‪  ‬ﺑﺤﻔﻆ‪  ‬‬


‫ﺍاﻟﺘﻌﺪﻳﻼﺕت‪.‬‬

‫ﺛﻢ‪  ‬ﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻔﺘﺢ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  )  ‬ﻋﺎﺭرﺽض‪  ‬ﺍاﻟﻤﻮﺟﺎﺕت‪  (  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬‬
‫ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  TScope  ‬ﻭوﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺸﺎﺷﺔ‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻧﻼﺣﻆ‪  ‬ﺍاﻥن‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻏﻴﺮ‪  ‬ﻭوﺍاﺿﺤﺔ‪  .‬ﻭوﻟﺤﻞ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻤﺸﻜﻠﺔ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬‬
‫‪  AutoScale‬ﺍاﻟﻤﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪.‬‬

‫‪67‬‬
‫سميولينك اردوينو‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  AutoScale  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫اخلطوة السادسة‪ :‬ﺗﻮﺻﻴﻞ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺎﻟﺤﺎﺳﺐ‪  ‬ﻭو‪  ‬ﺭرﻓﻊ‪  ‬‬


‫ﺍاﻟﺒﺮﻧﺎﻣﺞ‪  ‬ﻋﻠﻰ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬‬
‫)‪T(  Deploy  to  Hardware  ‬‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻧﺘﻬﺎﺀء‪  ‬ﻋﻤﻠﻴﺔ‪  ‬ﺍاﻟﺮﻓﻊ‪  ‬ﺳﻨﻼﺣﻆ‪  ‬ﺃأﻥن‪  ‬ﺷﺪﺓة‪  ‬ﺍاﺿﺎﺀءﺓة‪  LED  ‬ﺗﺘﺰﺍاﻳﺪ‪  ‬ﺣﺘﻰ‪  ‬ﺗﺼﻞ‪  ‬‬
‫ﺍاﻟﻰ‪  ‬ﺃأﻗﻮﻯى‪  ‬ﺷﺪﺓة‪  ‬ﺍاﺿﺎﺀءﺓة‪  ‬ﻋﻨﺪ‪  255  ‬ﺛﻢ‪  ‬ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺗﺒﺪﺃأ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺘﻨﺎﻗﺺ‪.‬‬

‫ﺭرﺍاﺑﻂ‪  ‬ﻓﻴﺪﻳﻮ‪  ‬ﻟﻤﺸﺎﻫﺪﺓة‪  ‬ﺗﻄﺒﻴﻖ‪  ‬ﻋﻤﻠﻲ‪  ‬ﻟﻠﻤﺜﺎﻝل‪  :‬‬


‫‪https://www.youtube.com/watch?v=vz-CAHV2H2k‬‬

‫‪68‬‬
‫سميولينك اردوينو‬

‫اﳌﺜﺎل اﻟﺮاﺑﻊ ) ﻣﺤﺮك ﺳﻴﺮﻓﻮ (‪:‬‬


‫—————————————————‬
‫ﺍاﻷﺩدﻭوﺍاﺕت‪  ‬ﺍاﻟﻤﺴﺘﺨﺪﻣﺔ‪  :‬‬
‫ﻟﻮﺣﺔ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻭوﻧﻮ‪  (  Arduino  Uno  )  ‬‬
‫•‬
‫• ﻟﻮﺣﺔ‪  ‬ﺗﺠﺎﺭرﺏب‪  (  Breadboard  )  ‬‬
‫• ﻣﺤﺮﻙك‪  ‬ﺳﻴﺮﻓﻮ‪(  ServoMotor  )  ‬‬

‫‪69‬‬
‫سميولينك اردوينو‬

‫ﻣﺎﻫﻮ‪  :servomotor  ‬ﻫﻮ‪  ‬ﻋﺒﺎﺭرﺓة‪  ‬ﻋﻦ‪  ‬ﻣﺤﺮﻙك‪  ‬ﻳﺘﺤﺮﻙك‪  ‬ﺣﺮﻛﺔ‪  ‬ﺯزﺍاﻭوﻳﺔ‪  ،‬ﺍاﻱي‪  ‬ﻳﺪﻭوﺭر‪  ‬‬
‫ﺑﻤﻘﺪﺍاﺭر‪  ‬ﺯزﺍاﻭوﻳﺔ‪  ‬ﻣﺤﺪﺩدﺓة‪  )  ‬ﻣﻦ‪  0  ‬ﺩدﺭرﺟﺔ‪  ‬ﺍاﻟﻰ‪  180  ‬ﺩدﺭرﺟﺔ‪  (  ‬ﻭوﻫﺬﻩه‪  ‬ﻫﻲ‪  ‬ﺍاﻟﻤﻴﺰﺓة‪  ‬ﺍاﻟﺘﻲ‪  ‬‬
‫ﺗﻤﻴﺰﻩه‪  ‬ﻋﻦ‪  ‬ﺍاﻟﻤﺤﺮﻙك‪  ‬ﺍاﻟﻌﺎﺩدﻱي‪  ‬ﺣﻴﺚ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻤﺤﺮﻙك‪  ‬ﺍاﻟﻌﺎﺩدﻱي‪  ‬ﻳﺘﺤﺮﻙك‪  ‬ﺣﺮﻛﺔ‪  ‬ﺩدﻭوﺭرﺍاﻧﻴﺔ‪  ‬‬
‫ﻣﺴﺘﻤﺮﺓة‪  .‬ﻭوﻫﺬﻩه‪  ‬ﺍاﻟﻤﻴﺰﺓة‪  ‬ﺟﻌﻠﺖ‪  ‬ﻟﻪ‪  ‬ﺍاﺳﺘﺨﺪﺍاﻣﺎﺕت‪  ‬ﻛﺜﻴﺮﺓة‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺮﻭوﺑﻮﺗﺎﺕت‪  ‬ﻋﻠﻰ‪  ‬‬
‫ﺳﺒﻴﻞ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  )  ‬ﺣﺮﻛﺔ‪  ‬ﺍاﻟﺬﺭرﺍاﻉع‪  ،‬ﻭوﺣﺮﻛﺔ‪  ‬ﺍاﻟﻘﺪﻡم‪  ،‬ﻭوﺣﺮﻛﺔ‪  ‬ﺍاﻟﺮﺃأﺱس‪  (T………،‬‬
‫ﻓﺠﻤﻴﻌﻬﺎ‪  ‬ﻳﺴﺘﺨﺪﻡم‪  servomotor  ‬ﻟﻠﺘﺤﺮﻙك‪  .‬ﺍاﻟﺼﻮﺭرﺓة‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪  ‬ﻋﺒﺎﺭرﺓة‪  ‬ﻋﻦ‪  ‬ﺫذﺭرﺍاﻉع‪  ‬‬
‫ﻣﺘﺤﺮﻙك‪  ‬ﻳﺴﺘﺨﺪﻡم‪  servomotor  ‬ﻓﻲ‪  ‬ﺣﺮﻛﺘﻪ‪.‬‬
‫‪servomotor‬‬

‫‪servomotor‬‬

‫‪servomotor‬‬

‫‪70‬‬
‫سميولينك اردوينو‬

‫اخلطوة األولى‪ :‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪  .‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﻣﻮﺗﻮﺭر‪  ‬ﻳﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  ‬‬
‫ﺛﻼﺛﺔ‪  ‬ﺍاﻃﺮﺍاﻑف‪  ،‬ﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻻﺣﻤﺮ‪  ‬ﻳﻮﺻﻞ‪  ‬ﺑﺎﻟﻤﻮﺟﺐ‪  .‬ﻭوﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻻﺳﻮﺩد‪  ‬ﻳﻮﺻﻞ‪  ‬‬
‫ﺑﺎﻻﺭرﺿﻲ‪  ،‬ﻭوﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻻﺻﻔﺮ‪  ‬ﻳﻮﺻﻞ‪  ‬ﺑﺄﻱي‪  )  PIN  ‬ﻣﻦ‪  0  ‬ﺍاﻟﻰ‪  (  13  ‬ﻭوﻗﺪ‪  ‬ﻗﻤﻨﺎ‪  ‬‬
‫ﺑﺈﺧﺘﻴﺎﺭر‪    TPIN  10  ‬‬

‫اخلطوة الثانية‪ :‬ﻓﺘﺢ‪  ‬ﻣﻠﻒ‪  ‬ﺳﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺟﺪﻳﺪ‪.‬‬

‫اخلطوة الثالثة‪ :‬ﻓﺘﺢ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  (  simulink  library  )  ‬ﺍاﻟﺘﻲ‪  ‬‬


‫ﺳﻨﺨﺘﺎﺭر‪  ‬ﻣﻨﻬﺎ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻤﻨﺎﺳﺒﺔ‪  ‬ﻟﻤﺸﺮﻭوﻋﻨﺎ‪  ‬ﻭوﻫﻲ‪  ‬ﻛﺎﻟﺘﺎﻟﻲ‪  :‬‬
‫‪ .1‬ﺑﻠﻮﻙك‪  Standard  Servo  Write  ‬‬
‫‪ .2‬ﺑﻠﻮﻙك‪    Repeating  Sequence  Stair  ‬‬
‫‪ .3‬ﺑﻠﻮﻙك‪  )  Scope  ‬ﺍاﺧﺘﻴﺎﺭرﻱي‪(  ‬‬

‫اخلطوة الرابعة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺐ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻣﻦ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺍاﻟﻰ‪  ‬‬
‫ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  Standard  Servo  Write  ‬ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪  Arduino  ‬ﻓﻲ‪  ‬‬
‫ﻗﺴﻢ‪  .common  ‬ﺍاﻟﺘﻲ‪  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻬﺎ‪  ‬ﺑﺎﻟﺘﻔﺼﻴﻞ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬‬
‫ﺍاﻷﻭوﻝل‪  .‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬‬
‫ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫‪71‬‬
‫سميولينك اردوينو‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  Repeating  Sequence  Stair  ‬ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪  .Sources  ‬‬


‫ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬‬
‫ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪T‬‬

‫ﻭو‪  ‬ﺑﻠﻮﻙك‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻪ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻻﻭوﻝل‪.‬‬

‫ﺑﻌﺪ‪  ‬ﺍاﻻﻧﺘﻬﺎﺀء‪  ‬ﻣﻦ‪  ‬ﻭوﺿﻊ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﺮﺗﻴﺐ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻭوﺗﻮﺻﻴﻠﻬﺎ‪  ‬ﻣﻊ‪  ‬‬
‫ﺑﻌﻀﻬﺎ‪  )  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪T(  ‬‬

‫‪72‬‬
‫سميولينك اردوينو‬

‫اخلطوة اخلامسة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻌﺪﻳﻞ‪  ‬ﻭوﺿﺒﻂ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬‬
‫ﺍاﻟﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬ﻭو‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺻﻔﺤﺔ‪  ‬ﺍاﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺒﻠﻮﻙك‪.‬‬

‫ﺳﻨﺒﺪﺃأ‪  ‬ﻣﻊ‪  ‬ﺑﻠﻮﻙك‪  Standard  Servo  Write  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻴﻪ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬‬
‫ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬‬
‫ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺍاﻟﻤﻮﺻﻞ‪  ‬ﺑﻪ‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬‬
‫ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬‬
‫ﻣﺤﺮﻙك‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  10  ‬ﺭرﺍاﺟﻊ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪T(  ‬‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Repeating  Sequence  Stair  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬‬
‫ﻋﻠﻴﻪ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬‬
‫ﺳﻨﺤﺪﺩد‪  ‬ﻗﻴﻢ‪  ‬ﺍاﻟﺰﻭوﺍاﻳﺎ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺳﻴﺘﺤﺮﻙك‪  ‬ﺑﻬﺎ‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪.‬‬

‫‪73‬‬
‫سميولينك اردوينو‬

‫ﻓﻲ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺑﻠﻮﻙك‪  Repeating  Sequence  Stair  ‬ﻟﺪﻳﻨﺎ‪  ‬ﺧﺎﻧﺔ‪  ‬‬
‫‪  Vector  of  output  values‬ﺍاﻟﺘﻲ‪  ‬ﺳﻨﻜﺘﺐ‪  ‬ﻓﻴﻬﺎ‪  ‬ﻗﻴﻢ‪  ‬ﺍاﻟﺰﻭوﺍاﻳﺎ‪  ‬ﻛﻤﺎ‪  ‬ﻫﻮ‪  ‬‬
‫ﻣﻮﺿﺢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﺼﻮﺭرﺓة‪  T[  0:1:180    180:-1:0  ]  ‬‬
‫ﻓﻲ‪  ‬ﺍاﻟﺒﺪﺍاﻳﺔ‪  ‬ﻛﺘﺒﻨﺎ‪  0:1:180  ‬ﻭوﻫﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻥن‪  ‬ﻣﺤﺮﻙك‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﺳﻴﺒﺪﺃأ‪  ‬ﻳﺘﺤﺮﻙك‪  ‬‬
‫ﺻﻌﻮﺩدﺍا‪  ‬ﻣﻦ‪  ‬ﺍاﻟﺰﺍاﻭوﻳﺔ‪  0  ‬ﺩدﺭرﺟﺔ‪  ‬ﺑﻤﻘﺪﺍاﺭر‪  1  ‬ﺩدﺭرﺟﺔ‪  ‬ﺣﺘﻰ‪  ‬ﻳﺼﻞ‪  ‬ﺍاﻟﻰ‪  180  ‬ﺩدﺭرﺟﺔ‪  .‬‬
‫ﻭوﺑﻌﺪﻫﺎ‪  ‬ﻛﺘﺒﻨﺎ‪  180:-1:0  ‬ﻭوﻫﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻥن‪  ‬ﻣﺤﺮﻙك‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﺳﻴﺘﺤﺮﻙك‪  ‬ﻧﺰﻭوﻻ‪  ‬ﻣﻦ‪  ‬‬
‫‪  180‬ﺩدﺭرﺟﺔ‪  ‬ﺑﻤﻘﺪﺍاﺭر‪  1  ‬ﺩدﺭرﺟﺔ‪  )  ‬ﻭوﺿﻌﻨﺎ‪  ‬ﻋﻼﻣﺔ‪  ‬ﺍاﻟﺴﺎﻟﺐ‪  ‬ﻷﻧﻪ‪  ‬ﺗﻨﺎﺯزﻝل‪  (  ‬ﺣﺘﻰ‪  ‬ﻳﺼﻞ‪  ‬‬
‫ﺍاﻟﻰ‪  0  ‬ﺩدﺭرﺟﺔ‪  .‬‬
‫ﺣﺎﻭوﻝل‪  ‬ﺃأﻥن‪  ‬ﺗﺠﺮﺏب‪  ‬ﺯزﻭوﺍاﻳﺎ‪  ‬ﻣﺨﺘﻠﻔﺔ‪  ‬ﻣﺜﻞ‪  [  0:3:60    60:-3:0  ]  ‬ﺃأﻭو‪  ‬ﻏﻴﺮﻫﺎ‪  .‬‬

‫ﻭوﻟﺪﻳﻨﺎ‪  ‬ﺍاﻳﻀﺎ‪  ‬ﺧﺎﻧﺔ‪  Sample  time  ‬ﻭوﻫﻮ‪  ‬ﻳﺸﻴﺮ‪  ‬ﺇإﻟﻰ‪  ‬ﺍاﻟﻮﻗﺖ‪  ‬ﺍاﻟﺬﻱي‪  ‬ﻳﺴﺘﻐﺮﻗﻪ‪  ‬‬
‫ﺍاﻻﻧﺘﻘﺎﻝل‪  ‬ﻣﻦ‪  ‬ﺯزﺍاﻭوﻳﺔ‪  ‬ﺇإﻟﻰ‪  ‬ﺍاﺧﺮﻯى‪  ‬ﻭوﺳﻨﻜﺘﺐ‪  ‬ﻓﻴﻪ‪  )  0T01  ‬ﻗﻤﻨﺎ‪  ‬ﺑﻮﺿﻊ‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﺮﻗﻢ‪  ‬‬
‫ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﺘﺠﺮﺑﺔ‪  ‬ﻓﻮﺟﺪﻧﺎﻩه‪  ‬ﺍاﻻﻧﺴﺐ‪  T(  ‬‬
‫ﻟﻮ‪  ‬ﻛﻨﺎ‪  ‬ﻧﺴﺘﺨﺪﻡم‪  [  0:1:180    180:-1:0  ]  ‬ﻓﻬﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺍاﻥن‪  ‬ﻛﻞ‪  1  ‬ﺩدﺭرﺟﺔ‪  ‬‬
‫ﺳﺘﺄﺧﺬ‪  0T01  ‬ﺛﺎﻧﻴﺔ‪  .‬‬
‫ﺍاﻣﺎ‪  ‬ﺇإﺫذﺍا‪  ‬ﺍاﺳﺘﺨﺪﻣﻨﺎ‪  [  0:3:60    60:-3:0  ]  ‬ﻓﻬﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻥن‪  ‬ﻛﻞ‪  3  ‬ﺩدﺭرﺟﺎﺕت‪  ‬‬
‫ﺳﺘﺄﺧﺬ‪  0T01  ‬ﺛﺎﻧﻴﺔ‪.‬‬

‫‪74‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  RUN  ‬ﺣﺘﻰ‪  ‬ﻳﻘﻮﻡم‪  ‬ﺑﺤﻔﻆ‪  ‬‬


‫ﺍاﻟﺘﻌﺪﻳﻼﺕت‪.‬‬

‫ﺛﻢ‪  ‬ﺑﻌﺪﻫﺎ‪  ‬ﺳﻨﻔﺘﺢ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﺳﻜﻮﺏب‪  )  ‬ﻋﺎﺭرﺽض‪  ‬ﺍاﻟﻤﻮﺟﺎﺕت‪  (  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬‬
‫ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  TScope  ‬ﻭوﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺍاﻟﺸﺎﺷﺔ‪  ‬ﺍاﻟﺘﺎﻟﻴﺔ‪:‬‬

‫ﻣﻼﺣﻈﺔ‪  :‬ﺇإﻥن‪  ‬ﻛﺎﻧﺖ‪  ‬ﺻﻮﺭرﺓة‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﻏﻴﺮ‪  ‬ﻭوﺍاﺿﺤﺔ‪  ،‬ﺍاﺿﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬‬
‫ﺯزﺭر‪  AutoScale  ‬ﻭوﺳﻴﻘﻮﻡم‪  ‬ﺑﻌﺮﺽض‪  ‬ﺍاﻟﻤﻮﺟﺔ‪  ‬ﺑﺸﻜﻞ‪  ‬ﻭوﺍاﺿﺢ‪.‬‬

‫‪75‬‬
‫سميولينك اردوينو‬

‫اخلطوة السادسة‪ :‬ﺗﻮﺻﻴﻞ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺎﻟﺤﺎﺳﺐ‪  ‬ﻭو‪  ‬ﺭرﻓﻊ‪  ‬‬


‫ﺍاﻟﺒﺮﻧﺎﻣﺞ‪  ‬ﻋﻠﻰ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬‬
‫)‪T(  Deploy  to  Hardware  ‬‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻧﺘﻬﺎﺀء‪  ‬ﻋﻤﻠﻴﺔ‪  ‬ﺍاﻟﺮﻓﻊ‪  ‬ﺳﻨﻼﺣﻆ‪  ‬ﺃأﻥن‪  ‬ﻣﺤﺮﻙك‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﺑﺪﺃأ‪  ‬ﻳﺘﺤﺮﻙك‪  ‬ﻟﻠﻴﻤﻴﻦ‪  ‬‬
‫ﻭوﻟﻠﻴﺴﺎﺭر‪  ‬ﺑﻤﻘﺪﺍاﺭر‪  180  ‬ﺩدﺭرﺟﺔ‬

‫ﺭرﺍاﺑﻂ‪  ‬ﻓﻴﺪﻳﻮ‪  ‬ﻟﻤﺸﺎﻫﺪﺓة‪  ‬ﺗﻄﺒﻴﻖ‪  ‬ﻋﻤﻠﻲ‪  ‬ﻟﻠﻤﺜﺎﻝل‪  :‬‬


‫?‪https://www.youtube.com/watch‬‬
‫‪v=NGcVMZdCWWI‬‬

‫‪76‬‬
‫سميولينك اردوينو‬

‫اﳌﺜﺎل اﳋﺎﻣﺲ ) اﻟﺘﺤﻜﻢ ﰲ ﻣﺤﺮك ﺳﻴﺮﻓﻮ ﻳﺪوﻳﺎ (‪:‬‬


‫—————————————————‬
‫ﺍاﻷﺩدﻭوﺍاﺕت‪  ‬ﺍاﻟﻤﺴﺘﺨﺪﻣﺔ‪  :‬‬
‫ﻟﻮﺣﺔ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺍاﻭوﻧﻮ‪  (  Arduino  Uno  )  ‬‬
‫•‬
‫• ﻟﻮﺣﺔ‪  ‬ﺗﺠﺎﺭرﺏب‪  (  Breadboard  )  ‬‬
‫• ﻣﺤﺮﻙك‪  ‬ﺳﻴﺮﻓﻮ‪  (  ServoMotor  )  ‬‬
‫• ﻣﻘﺎﻭوﻣﺔ‪  ‬ﻣﺘﻐﻴﺮﺓة‪(  Potentiometer  )  ‬‬

‫‪77‬‬
‫سميولينك اردوينو‬

‫اخلطوة األولى‪ :‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪  .‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﻣﺤﺮﻙك‪    ‬‬


‫ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﺃأﻭوﻻ‪  ،‬ﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻻﺣﻤﺮ‪  ‬ﻳﻮﺻﻞ‪  ‬ﺑﺎﻟﻤﻮﺟﺐ‪  .‬ﻭوﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻻﺳﻮﺩد‪  ‬ﻳﻮﺻﻞ‪  ‬‬
‫ﺑﺎﻻﺭرﺿﻲ‪  ،‬ﻭوﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻻﺻﻔﺮ‪  ‬ﻳﻮﺻﻞ‪  ‬ﺑﺄﻱي‪  )  PIN  ‬ﻣﻦ‪  0  ‬ﺍاﻟﻰ‪  (  13  ‬ﻭوﻗﺪ‪  ‬ﻗﻤﻨﺎ‪  ‬‬
‫ﺑﺈﺧﺘﻴﺎﺭر‪  TPIN  8  ‬‬
‫ﺛﺎﻧﻴﺎ‪  ‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ،‬ﻧﻼﺣﻆ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  ‬‬
‫ﺛﻼﺛﺔ‪  ‬ﺍاﻃﺮﺍاﻑف‪  ،‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻷﻳﺴﺮ‪  ‬ﺑﺎﻟﻤﻮﺟﺐ‪  ‬ﻭوﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻷﻳﻤﻦ‪  ‬‬
‫ﺑﺎﻻﺭرﺿﻲ‪  ،‬ﻭوﺍاﻟﻌﻜﺲ‪  ‬ﺻﺤﻴﺢ‪  )  ‬ﻧﺴﺘﻄﻴﻊ‪  ‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻷﻳﻤﻦ‪  ‬ﺑﺎﻟﻤﻮﺟﺐ‪  ‬‬
‫ﻭوﺍاﻷﻳﺴﺮ‪  ‬ﺑﺎﻷﺭرﺿﻲ‪  .(  ‬ﻭوﺃأﻣﺎ‪  ‬ﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻷﻭوﺳﻂ‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻮﺻﻴﻠﻪ‪  ‬ﻓﻲ‪  ‬ﺃأﻱي‪  ‬ﻣﺪﺧﻞ‪  ‬‬
‫ﻣﻦ‪  ‬ﺍاﻟﻤﺪﺍاﺧﻞ‪  ‬ﺍاﻟﺘﻤﺎﺛﻠﻴﺔ‪  .(  Analog  Input  )  ‬‬
‫ﻭوﺍاﻟﻔﺎﺋﺪﺓة‪  ‬ﻣﻦ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻤﺪﺍاﺧﻞ‪  ‬ﻫﻮ‪  ‬ﺍاﻧﻬﺎ‪  ‬ﺗﺴﺘﺨﺪﻡم‪  ‬ﻣﻊ‪  ‬‬
‫ﺍاﻟﺤﺴﺎﺳﺎﺕت‪    .‬‬
‫ﺍاﻷﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺃأﻭوﻧﻮ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬ﻋﻠﻰ‪  6  ‬ﻣﺪﺍاﺧﻞ‪  ‬ﺗﻤﺎﺛﻠﻴﺔ‪  ‬‬
‫)‪  ‬ﻣﻦ‪  A0  ‬ﺍاﻟﻰ‪  (  A5  ‬ﻭوﻓﻲ‪  ‬ﻣﺜﺎﻟﻨﺎ‪  ‬ﻫﺬﺍا‪  ‬ﻗﻤﻨﺎ‪  ‬ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻄﺮﻑف‪  ‬ﺍاﻻﻭوﺳﻂ‪  ‬ﻟﻠﻤﻘﺎﻭوﻣﺔ‪  ‬‬
‫ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  TA0  ‬‬
‫ﻭوﺗﺘﻜﻮﻥن‪  ‬ﺍاﻟﻤﺪﺍاﺧﻞ‪  ‬ﺍاﻟﺘﻤﺎﺛﻠﻴﺔ‪  ‬ﻣﻦ‪  10  ‬ﺑﺖ‪  ،(  10  bit  )  ‬ﻭوﻫﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻧﻬﺎ‪  ‬ﺗﺤﺘﻮﻱي‪  ‬‬
‫ﻋﻠﻰ‪  1024  ‬ﻣﺴﺘﻮﻯى‪  )  ‬ﻣﻦ‪  0  ‬ﺍاﻟﻰ‪T(  1023  ‬‬

‫اخلطوة الثانية‪ :‬ﻓﺘﺢ‪  ‬ﻣﻠﻒ‪  ‬ﺳﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺟﺪﻳﺪ‪.‬‬

‫‪78‬‬
‫سميولينك اردوينو‬

‫اخلطوة الثالثة‪ :‬ﻓﺘﺢ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  (  simulink  library  )  ‬ﺍاﻟﺘﻲ‪  ‬‬


‫ﺳﻨﺨﺘﺎﺭر‪  ‬ﻣﻨﻬﺎ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺍاﻟﻤﻨﺎﺳﺒﺔ‪  ‬ﻟﻤﺸﺮﻭوﻋﻨﺎ‪  ‬ﻭوﻫﻲ‪  ‬ﻛﺎﻟﺘﺎﻟﻲ‪  :‬‬
‫‪ .1‬ﺑﻠﻮﻙك‪  ‬ﺩدﺧﻞ‪  ‬ﺍاﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺗﻤﺎﺛﻠﻲ‪  (  Analog  Input  )  ‬ﺍاﻟﺬﻱي‪  ‬ﻳﻌﺒﺮ‪  ‬ﻋﻦ‪  ‬‬
‫ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬‬
‫‪ .2‬ﺑﻠﻮﻙك‪  Gain  ‬‬
‫‪ .3‬ﺑﻠﻮﻙك‪Standard  Servo  Write  ‬‬

‫اخلطوة الرابعة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺐ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻣﻦ‪  ‬ﻣﻜﺘﺒﺔ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪  ‬ﺍاﻟﻰ‪  ‬‬
‫ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  Analog  Input  ‬ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪  Arduino  ‬ﻓﻲ‪  ‬ﻗﺴﻢ‪  ‬‬
‫‪  common‬ﺍاﻟﺘﻲ‪  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻬﺎ‪  ‬ﺑﺎﻟﺘﻔﺼﻴﻞ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪  .‬‬
‫ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬ﺍاﻟﻰ‪  ‬‬
‫ﻣﻠﻒ‪  ‬ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫ﺳﻨﺠﺪ‪  ‬ﺑﻠﻮﻙك‪  Gain  ‬ﺩدﺍاﺧﻞ‪  ‬ﻣﻜﺘﺒﺔ‪  .Math  Operations  ‬ﻭوﺳﻨﻘﻮﻡم‪  ‬ﺑﺴﺤﺒﻪ‪  ‬‬
‫ﺍاﻟﻰ‪  ‬ﻣﻠﻒ‪  ‬‬
‫ﺍاﻟﺴﻤﻴﻮﻟﻨﻚ‪.‬‬

‫ﻭو‪  ‬ﺑﻠﻮﻙك‪  Standard  Servo  Write  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺍاﻟﻮﺻﻮﻝل‪  ‬ﺍاﻟﻴﻪ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬‬
‫ﺍاﻟﺮﺍاﺑﻊ‪.‬‬

‫‪79‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺍاﻻﻧﺘﻬﺎﺀء‪  ‬ﻣﻦ‪  ‬ﻭوﺿﻊ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﺮﺗﻴﺐ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻭوﺗﻮﺻﻴﻠﻬﺎ‪  ‬ﻣﻊ‪  ‬‬
‫ﺑﻌﻀﻬﺎ‪  )  ‬ﺳﺒﻖ‪  ‬ﺷﺮﺡح‪  ‬ﺗﻮﺻﻴﻞ‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﺍاﻷﻭوﻝل‪T(  ‬‬

‫اخلطوة اخلامسة‪ :‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻌﺪﻳﻞ‪  ‬ﻭوﺿﺒﻂ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺒﻠﻮﻛﺎﺕت‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬‬
‫ﺍاﻟﻀﻐﻂ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻋﻠﻰ‪  ‬ﺍاﻟﺒﻠﻮﻙك‪  ‬ﻭو‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺻﻔﺤﺔ‪  ‬ﺍاﻋﺪﺍاﺩد‪  ‬ﺍاﻟﺒﻠﻮﻙك‪.‬‬

‫ﺳﻨﺒﺪﺃأ‪  ‬ﻣﻊ‪  ‬ﺑﻠﻮﻙك‪  Analog  Input  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻴﻪ‪  ‬‬


‫ﻣﺮﺗﻴﻦ‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬‬
‫ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺍاﻟﻤﻮﺻﻞ‪  ‬ﺑﻪ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬‬
‫ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﻗﻤﻨﺎ‪  ‬‬
‫ﺑﺘﻮﺻﻴﻞ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  A0  ‬ﺭرﺍاﺟﻊ‪  ‬‬
‫ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪  .(  ‬ﻭوﺳﻨﻜﺘﺐ‪  0T01  ‬ﻓﻲ‪  ‬ﺧﺎﻧﺔ‪TSample  time  ‬‬

‫‪80‬‬
‫سميولينك اردوينو‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Standard  Servo  Write  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻴﻪ‪  ‬‬
‫ﻣﺮﺗﻴﻦ‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻻﻋﺪﺍاﺩدﺍاﺕت‪  ‬ﺍاﻟﺘﻲ‪  ‬‬
‫ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﺭرﻗﻢ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺍاﻟﻤﻮﺻﻞ‪  ‬ﺑﻪ‪  ‬‬
‫ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﻓﻲ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  .‬ﻭوﻓﻲ‪  ‬ﻫﺬﺍا‪  ‬ﺍاﻟﻤﺜﺎﻝل‪  ‬ﻗﻤﻨﺎ‪  ‬‬
‫ﺑﺘﻮﺻﻴﻞ‪  ‬ﻣﺤﺮﻙك‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﺪﺧﻞ‪  ‬ﺭرﻗﻢ‪  )  8  ‬ﺭرﺍاﺟﻊ‪  ‬ﺍاﻟﺪﺍاﺋﺮﺓة‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻴﺔ‪T(  ‬‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻨﺘﻘﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Gain  ‬ﻭوﺳﻨﻀﻐﻂ‪  ‬‬


‫ﻋﻠﻴﻪ‪  ‬ﻣﺮﺗﻴﻦ‪  ‬ﻭوﻋﻨﺪﻫﺎ‪  ‬ﺳﺘﻈﻬﺮ‪  ‬ﻟﻨﺎ‪  ‬ﺷﺎﺷﺔ‪  ‬ﺍاﻋﺪﺍاﺩدﺍاﺕت‪  ‬‬
‫ﺍاﻟﺒﻠﻮﻙك‪  ‬ﺍاﻟﺘﻲ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻟﻬﺎ‪  ‬ﺳﻨﺤﺪﺩد‪  ‬ﻗﻴﻤﺔ‪  ‬ﻣﻌﺎﻣﻞ‪  ‬‬
‫ﺍاﻟﺘﻜﺒﻴﺮ‪  ‬ﺃأﻭو‪  ‬ﺍاﻟﺘﺼﻐﻴﺮ‪  .‬ﻭوﺳﻨﻜﺘﺐ‪  0T176  ‬ﻓﻲ‪  ‬ﺧﺎﻧﺔ‪TGain  ‬‬

‫ﻭوﺳﺄﺷﺮﺡح‪  ‬ﺍاﻟﺴﺒﺐ‪  ‬ﺍاﻟﺬﻱي‪  ‬ﺟﻌﻠﻨﺎ‪  ‬ﻧﻀﻊ‪  ‬ﻫﺬﻩه‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  :‬‬


‫ﻛﻤﺎ‪  ‬ﺫذﻛﺮﻧﺎ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻤﺪﺍاﺧﻞ‪  ‬ﺍاﻟﺘﻤﺎﺛﻠﻴﺔ‪  ‬ﺗﺘﻜﻮﻥن‪  ‬ﻣﻦ‪  1024  ‬ﻣﺴﺘﻮﻯى‪  (1023  -  0)  ‬‬
‫ﻭوﺃأﻳﻀﺎ‪  ‬ﻋﻠﻤﻨﺎ‪  ‬ﺃأﻥن‪  ‬ﻣﺤﺮﻙك‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﻳﺘﺤﺮﻙك‪  ‬ﺑﺰﺍاﻭوﻳﺔ‪T(180  -  0)  ‬‬

‫‪0‬‬ ‫‪1023‬‬

‫‪81‬‬
‫سميولينك اردوينو‬

‫ﻛﻤﺎ‪  ‬ﻧﻼﺣﻆ‪  ‬ﻓﻲ‪  ‬ﺻﻮﺭرﺓة‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬ﻓﺈﻥن‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  ‬ﻋﻨﺪ‪  ‬ﺍاﻟﻨﻘﻄﺔ‪  A  ‬ﻫﻲ‪  0  ‬‬
‫ﻭوﻋﻨﺪ‪  ‬ﺗﺪﻭوﻳﺮ‪  ‬ﻋﺼﺎ‪  ‬ﺍاﻟﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬ﺗﺰﺩدﺍاﺩد‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  ‬ﺗﺪﺭرﻳﺠﻴﺎ‪  ‬ﺣﺘﻰ‪  ‬‬
‫ﺗﺼﻞ‪  ‬ﺍاﻟﻰ‪1023  ‬ﻋﻨﺪ‪  ‬ﺍاﻟﻨﻘﻄﺔ‪    TB  ‬‬
‫ﻭوﻟﻜﻦ‪  ‬ﻋﻨﺪ‪  ‬ﺍاﺳﺘﺨﺪﺍاﻡم‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﻧﺤﻦ‪  ‬ﻻ‪  ‬ﻧﺤﺘﺎﺝج‪  ‬ﺍاﻟﻰ‪  1023  ‬ﻣﺴﺘﻮﻯى‪  .‬ﺑﻞ‪  ‬ﻓﻘﻂ‪  ‬‬
‫ﺳﻨﺤﺘﺎﺝج‪  ‬ﺍاﻟﻰ‪  180  ‬ﻓﻤﺎﺫذﺍا‪  ‬ﺳﻨﻔﻌﻞ؟‪  ‬‬
‫ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﻘﺴﻴﻢ‪  180  ‬ﻋﻠﻰ‪  1023  ‬ﻭوﺳﻴﻜﻮﻥن‪  ‬ﺍاﻟﻨﺎﺗﺞ‪  0T176  ‬ﻟﺬﻟﻚ‪  ‬ﻭوﺿﻌﻨﺎ‪  ‬‬
‫ﻫﺬﻩه‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  ‬ﻓﻲ‪  ‬ﺑﻠﻮﻙك‪TGain  ‬‬

‫ﺳﺄﺷﺮﺡح‪  ‬ﺍاﻻﻥن‪  ‬ﻛﻴﻒ‪  ‬ﺗﺘﻢ‪  ‬ﻋﻤﻠﻴﺔ‪  ‬ﺍاﻟﺘﻜﺒﻴﺮ‪  ‬ﺍاﻭو‪  ‬ﺍاﻟﺘﺼﻐﻴﺮ‪  ‬ﻓﻲ‪  ‬ﺑﻠﻮﻙك‪  :Gain  ‬‬
‫ﻟﻮ‪  ‬ﻓﺮﺿﻨﺎ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺣﺼﻠﻨﺎ‪  ‬ﻋﻠﻴﻬﺎ‪  ‬ﻣﻦ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ،255  ‬ﻓﺈﻥن‪  ‬‬
‫ﻫﺬﻩه‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  ‬ﺳﺘﺪﺧﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Gain  ‬ﻭوﺳﺘﻀﺮﺏب‪  ‬ﻓﻲ‪  0T176  ‬ﻭوﺳﻴﻜﻮﻥن‪  ‬‬
‫ﺍاﻟﻨﺎﺗﺞ‪  44T88  ‬ﻭوﻫﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﺳﻴﺘﺤﺮﻙك‪  ‬ﺑﺰﺍاﻭوﻳﺔ‪  44T88  ‬ﺩدﺭرﺟﺔ‪      .‬‬
‫ﻭوﻟﻮ‪  ‬ﻓﺮﺿﻨﺎ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  ‬ﺍاﻟﺘﻲ‪  ‬ﺣﺼﻠﻨﺎ‪  ‬ﻋﻠﻴﻬﺎ‪  ‬ﻣﻦ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ،1023  ‬ﻓﺈﻥن‪  ‬‬
‫ﻫﺬﻩه‪  ‬ﺍاﻟﻘﻴﻤﺔ‪  ‬ﺳﺘﺪﺧﻞ‪  ‬ﻋﻠﻰ‪  ‬ﺑﻠﻮﻙك‪  Gain  ‬ﻭوﺳﺘﻀﺮﺏب‪  ‬ﻓﻲ‪  0T176  ‬ﻭوﺳﻴﻜﻮﻥن‪  ‬‬
‫ﺍاﻟﻨﺎﺗﺞ‪  180  ‬ﻭوﻫﺬﺍا‪  ‬ﻳﻌﻨﻲ‪  ‬ﺃأﻥن‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﺳﻴﺘﺤﺮﻙك‪  ‬ﺑﺰﺍاﻭوﻳﺔ‪  180  ‬ﺩدﺭرﺟﺔ‪  .‬‬

‫ﺑﻌﺪ‪  ‬ﺫذﻟﻚ‪  ‬ﺳﻨﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  RUN  ‬ﺣﺘﻰ‪  ‬ﻳﻘﻮﻡم‪  ‬ﺑﺤﻔﻆ‪  ‬‬


‫ﺍاﻟﺘﻌﺪﻳﻼﺕت‪.‬‬

‫‪82‬‬
‫سميولينك اردوينو‬

‫اخلطوة السادسة‪  :‬ﺗﻮﺻﻴﻞ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﺑﺎﻟﺤﺎﺳﺐ‪  ‬ﻭو‪  ‬ﺭرﻓﻊ‪  ‬‬


‫ﺍاﻟﺒﺮﻧﺎﻣﺞ‪  ‬ﻋﻠﻰ‪  ‬ﻟﻮﺣﺔ‪  ‬ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‪  ‬ﻋﻦ‪  ‬ﻃﺮﻳﻖ‪  ‬ﺍاﻟﻀﻐﻂ‪  ‬ﻋﻠﻰ‪  ‬ﺯزﺭر‪  ‬‬
‫)‪T(  Deploy  to  Hardware  ‬‬

‫ﻭوﺑﻌﺪ‪  ‬ﺍاﻧﺘﻬﺎﺀء‪  ‬ﻋﻤﻠﻴﺔ‪  ‬ﺍاﻟﺮﻓﻊ‪  ‬ﺳﻨﻘﻮﻡم‪  ‬ﺑﺘﺤﺮﻳﻚ‪  ‬ﻋﺼﺎ‪  ‬ﺍاﻟﺘﺤﻜﻢ‪  ‬ﻓﻲ‪  ‬ﺍاﻟﻤﻘﺎﻭوﻣﺔ‪  ‬‬
‫ﺍاﻟﻤﺘﻐﻴﺮﺓة‪  ‬ﻭوﺳﻨﻼﺣﻆ‪  ‬ﺩدﻭوﺭرﺍاﻥن‪  ‬ﻣﺤﺮﻙك‪  ‬ﺍاﻟﺴﻴﺮﻓﻮ‪  ‬ﺑﺰﻭوﺍاﻳﺎ‪  ‬ﺗﻌﺘﻤﺪ‪  ‬ﻋﻠﻰ‪  ‬ﺣﺮﻛﺔ‪  ‬ﻋﺼﺎ‪  ‬‬
‫ﺍاﻟﺘﺤﻜﻢ‪  0  )        ‬ﺩدﺭرﺟﺔ‪  180  -  ‬ﺩدﺭرﺟﺔ‪T(  ‬‬

‫ﺭرﺍاﺑﻂ‪  ‬ﻓﻴﺪﻳﻮ‪  ‬ﻟﻤﺸﺎﻫﺪﺓة‪  ‬ﺗﻄﺒﻴﻖ‪  ‬ﻋﻤﻠﻲ‪  ‬ﻟﻠﻤﺜﺎﻝل‪  :‬‬


‫?‪https://www.youtube.com/watch‬‬
‫‪v=mO450hzd7og‬‬

‫‪83‬‬
‫سميولينك اردوينو‬

 .‫ ﺍاﻟﺴﻤﻴﻮﻟﻴﻨﻚ‬ ‫ ﺑﺎﺳﺘﺨﺪﺍاﻡم‬ ‫ ﺍاﻻﺭرﺩدﻭوﻳﻨﻮ‬ ‫ ﻟﺒﺮﻣﺠﺔ‬ ‫ ﻣﺪﺧﻞ‬ ‫ ﻋﻦ‬ ‫ ﻋﺒﺎﺭرﺓة‬ ‫ ﺍاﻟﻜﺘﺎﺏب‬ ‫ﻫﺬﺍا‬


 .‫ ﺍاﻟﻜﺘﺎﺏب‬ ‫ ﻫﺬﺍا‬ ‫ ﻓﻲ‬ ‫ ﺍاﻟﻴﻪ‬ ‫ ﺗﻄﺮﻗﻨﺎ‬ ‫ ﻣﻤﺎ‬ ‫ ﻭوﺍاﻋﻘﺪ‬ ‫ ﺍاﻛﺒﺮ‬ ‫ ﺑﻤﺸﺎﺭرﻳﻊ‬ ‫ ﺗﻘﻮﻡم‬ ‫ ﺍاﻥن‬ ‫ﻭوﺗﺴﺘﻄﻴﻊ‬
 :‫ ﺫذﻟﻚ‬ ‫ ﻓﻲ‬ ‫ ﺗﺴﺎﻋﺪﻙك‬ ‫ ﺳﻮﻑف‬ ‫ ﺍاﻟﺘﻲ‬ ‫ ﺍاﻟﺮﻭوﺍاﺑﻂ‬ ‫ ﺑﻌﺾ‬ ‫ ﻟﻚ‬ ‫ ﺳﺄﺿﻊ‬ ‫ﻟﺬﻟﻚ‬

http://www.mathworks.com/hardware-support/
arduino-simulink.html
http://makerzone.mathworks.com/arduino/
#featured
https://www.youtube.com/watch?
v=_OLctOFjjYQ&spfreload=10
https://www.youtube.com/watch?
v=vAG3Tri7QeM
https://www.youtube.com/watch?v=EjVHlJqMtK0
http://www.mathworks.com/matlabcentral/
fileexchange/41906-arduino-s-function-for-
mpc4725-i2c-dac
http://www.automatedtrader.net/articles/
42/143277/creating-driver-blocks-for-
arduino--lego--and-other-targets

84
‫سميولينك اردوينو‬

‫ﺗﺴﺘﻄﻴﻊ‪  ‬ﺍاﻟﺘﻮﺍاﺻﻞ‪  ‬ﻣﻊ‪  ‬ﺍاﻟﻤﺆﻟﻒ‪  ‬ﻣﻦ‪  ‬ﺧﻼﻝل‪  ‬ﺍاﻟﺒﺮﻳﺪ‪  ‬ﺍاﻻﻟﻜﺘﺮﻭوﻧﻲ‪  ‬ﺍاﻟﺘﺎﻟﻲ‪  :‬‬
‫‪jihad.basuni@gmail.com‬‬

‫‪85‬‬

You might also like