ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
سخصة انكتاب انكتاب يخضع نهشخصً انحشي مفتوحً انمصذس تصوستً األنكتشوويً مجاواً و يمكىك ان تىششي او تُعذنً كيفما تشاء ششط أن تزكٌش انمصذس انصوس ثالثيً االتعاد انمستخذمً فى انكتاب مأخوري مه موقع oomlout.co.ukو تخضع ايضا نهشخصً انحشي مفتوحً انمصذس يمكىك ان تستغم رنك انعمم تصوسي تجاسيً تششط انحصول عهى ارن مثاشش مه انمؤنف.
ارا اعجثك انكتاب وأحثثت دعم انكاتة و انمزيذ مه انكتة انعشتيً انحشي مفتوحً انمصذس فال تتشدد تانتواصم معى abdallah.ali.abdallah.elmasry@gmail.com
1
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهداء اىل والدى العزيز.... اىل والدتى العزيزة.... م
اىل كل من ساهم فى نشر املعرفه حبريه www.networkset.net www.aabouzaid.comم www.shabayek.comم linuxac.org
2
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
فّسض الكتاب رسطَماظؽؿاب....................................................................................م(مم1م) م ىغهِىاتمحقلماظؽؿاب........................................................................م(م5مم) م ؽؿاتماظدضقؼف....................................م(م7م) م قِ اهفطو األِو:معؼدعفمسـماردوؼـقموماٌُؿ اهفطو اهثاًٖ:ماظؿففقزات......................................................................م( )21م اهفطو اهثاهج:مابدأمععماردوؼـقم..............................................................م( )43م اهفطو اهرابػ:مادؿكداممايلاداتم..........................................................م( )77م اهفطو اهساىش:ماظؿقاصؾمععمايادبماآل..............................................م( )92م اهفطو اهسادش:مادؿكدامماحملرطاتم....................................................م( )113م اهفطو اهسابػ:مودائؾماألدخالموماالخراجماٌؿؼدعف...................................م( )125م اهفطو اهثاىن:مأشطقفماردوؼـقم..............................................................م( )166م اهفطو اهتاسػ:متارؼخمتطقرماردوؼـق........................................................م( )173م تغهي ِ صارن االسرّنمم.................................................Fablab Egyptم()179 ىهذل اهىراحػ:معراجعم(طؿبم+معقاضعمتعؾقؿقف)..........................................م( )183م م م م
3
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
4
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
م
الف٠ات املشتّدفْ وَ الكتاب
امطؾمعـمؼرؼدمتعؾؿمتؼـقااتماظاؿقؽؿماآلمبلافقظفمومؼلارمداقا م
طااانمظااؽمععرصاافمتؼـقاافماومخاااهمباٌؿقؽؿاااتماظدضقؼاافماومحؿااكمعااام زظااتمصااكمبداؼاافمتعؾُاؿمػااذامالااالمومامطااؾمعااـمظدؼاافماظ ااغػم ٌعرصفمماىقؾماىدؼدمعـماٌؿقؽؿاتماظدضقؼفمعػؿقحفماٌصدرم م
ِن احتاج اىل خربٓ ف ٜدلاه اإللكرتٌٔٗات ٔ الربدل ٛحت ٜاقسأ ِرا الكتاب ؟
بعاااضماٌعرصااافمباداداااقاتماالظؽرتوغقااااتموماظا•ااافم ‣ؾذهمجدامالطـفامظقلتمذارطممضارورىممظؾاؿعؾؿممصؾؼادم ضؿااتمبؽؿاباافماٌعؾقعاااتمبسدااؾقبمداافؾمومعقلاارمضاادرم االعؽانمومميؽـؽماذامواجفتمصعقبفمعامانمتراداؾـكم سؾكماظاؼدماالظؽرتوغكم م
م
وا الر ٝسٕف اتعمىْ فِ ٜرا الكتاب؟؟ طقػمتصؿؿماإلظؽرتوغقاتماظؿػاسؾقةمبـػلؽ م اظعؿؾمسؾكمبقؽةمتطقؼرماردًِِّمArduino IDE اظؿقؽؿماالظؽرتوغكمظؽؾمعامػقمحقظؽمعـماجفزهماظؽرتوغقفم م
5
ازدٍٖٕٔ ببشاطٛ مسييّحغهن اهمتييا
Simplify Arduino
تؽؿلاابماٌفاااراتماألوظقاافم
ظػفؿماألطاقادماظا•قافماٌلاؿكدعفممصاكمماظعدؼادم عاـماٌ اارؼعماظؿاكمتعؿؿاادمسؾاكمماردًِّيِم,موظؼاادم اضااػتماظعدؼااادمعاااـماٌصااادرماًارجقااافماظؿاااكم هؿقىمسؾكماظعدؼدمعـماٌ ارؼعماظرائعفموماظؿاكم ميؽـؽمانمتـػذػامبـػلؽمبعدمضرا ةماظؽؿابم م
كٗف مت تصىٗي الكتاب ؟ تييي تطييىّيماظؽؿااابمبسدااؾقبمؼعؿؿاادمسؾااكماظ اارحمباألعـؾاافم Examplesمومحقثمؼؿؿمتؼدؼؿماٌعؾقعاتمسؾكمػقؽافمأعـؾافم صااغ همومؼؼاادممطااؾمعـااالمجااز ممجدؼاادمصااكمتعؾااؿمظغاافمبر•اافم اردوؼـق ,مطؿامدؿفدممغفاؼةمطؾمصصؾمصػقفم․صصفمظؽكم تؽؿبمعالحظاتؽماظ كصقة .م ماذامطـتمعـمعلؿكدعلموؼـدوزممميؽـؽمأنمتؽؿبمداخاؾمعؾػااتماظؽؿابماإلظؽرتوغقاةم عاـمغاق مPDFمباداؿكداممبرغااعجمFoxit PDFموماذامطـاتمتؼارأمماظؽؿاابمباداؿكدامم ظقحماظؽرتوغكم Tabletعـؾم Ipadميؽـؽمادؿكداممبرغاعجم Good Readerمععم عالحظفمانماظؽؿابمعؿقاصاؼمعاعمقاعماجفازهماظؿابؾاتماٌكؿؾػافماظؿاكمشؿؾاؽمذاذافم بؼقاسم4مبقصفماوماطام .م
6
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو األِو عؼدعفمامساملماردوؼـقموماٌؿقؽؿاتماظدضقؼف
Introduction to Arduino & microcontrollers
7
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىًي مزىينم ظاقسمبؾعقادمطااانماظعؿاؾمسؾاكمصاـاسفمدائارهماظؽرتوغقافمظؾؼقااامم بقزقػاافمععقـاافمؼعـااكمبـااا متصااؿقؿماظؽرتوغااكمععؼاادمعااـمعؽقغاااتمعـااؾم اٌؼاوعات,ماٌؽـػات,ماٌؾػات,ماظرتاغزدؿقر...اخل .م م
ماًتماظادوائرماالظؽرتوغقافمبابؿافماظؿصاؿقؿموماساادهم تغ ماومتعدؼؾمجز مبلقطمصقفامطانمؼعـكماظؽـ معاـم سؿؾقاتمععؼدهمعـؾماظؾقاممومضطعماالدالكموماساادهم اظـظاارمصااكماٌكططاااتماالظؽرتوغقاافموماظؽااـ معااـم االعااقرماٌزسفاافموماظؿااكمادتمإماضؿصااارموزقػاافم تطااقؼرماٌـؿفاااتماالظؽرتوغقاافمسؾااكم•ؿقمساافمعااـم اٌفـددنيماٌؿكصصنيمصؼط .م م م
بفضوماظؿطقرماظؿؽـقظقجكمصكم•الماذؾاهماٌقصالتموم اخارتا ماظادوائرماٌد•افم Integrated Circuits )(ICماصؾحمعاـماٌؿؽاـموضاعمدائارهماظؽرتوغقافمطاعؾافم سؾكمذر فمصغ همحفؿفاامضادمالمؼؿفااوزمرأسماظادبقسم حؿااكماغاافمصااكماظقضااتمايااامػـاااكمدوائاارماظؽرتوغمقاافم حفؿفامؼؼدرمباظـاغقمعرتمNano Meterموماظؿكمالمميؽـم روئقؿفاماالمبسدؿكدممعؽااتمضقئقفمخاصف .م
8
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مىا ادٗمتطقرممIntegrated Circuitsمامزفقرمجقؾمخاصمعـماظادوائرماالظؽرتوغقافم ؼلاؿكماٌؿقؽؿااتماظدضقؼافمم Micro Controllersمومػاكماذاؾفممبؽؿؾقاقمترمعصاغرمضاباؾم ظؾا•فمالدا م•ؿقسفمعـماظقزائػمعـؾمضرائفمدرجفمحراره,ماظؿقؽؿمصاكم‣اركمطفرباك,م اومحؿكمادارهمخطقطماالغؿااجمصاكماٌصااغعم اظؽاى,ممومطؾمذظؽمؼؿؿمبؾلاارفمساـمررؼاؼم اواعرمبر•قافمومباذظؽممهقظاتمتؼـقافمصاـاسفم اظاادوائرموماالغظؿاافماالظؽرتوغقاافمعااـماظؿصااؿقؿم االظؽرتوغكماظؾقتماٌعؿؿدمسؾاكماٌؽقغااتم اظصااؾؾفمصؼااطماماواعاارمبر•قاافمميؽااـمالىم صردمانمؼؽؿؾفامومؼصؿؿفامبـػلفمبلفقظفمومؼلر .م م م
تتىّزماٌؿقؽؿاتماظدضقؼافماؼااامبسعؽاغقافماظاؿغ موماظؿعادؼؾم صاكماىموضاتمم,مبؽااؾمبلاارفمظااقماردتمانمتغا مذاقؽامعااامصااكم ع ااروسؽمميؽـااؽمذظااؽمباظؿعاادؼؾمصااكماظلااطقرماظا•قاافموم اسااادهموضااعماالواعاارماىدؼاادهمسؾااكماٌؿقؽؿ امفماظدضقؼ افموم وربؿفاااماطـاارمعااـمعاارهممومػؽااذامامانمتصااؾمع ااروسؽم ظؾفدفماٌـ قدم ...م م م
9
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اردًِّييِ Arduino
ػااكمبااقردهماظؽرتوغقاافمعػؿقحاافم
اٌصاادرم Open Hardwareمظؿطااقؼرماظؽااـ معااـماالصؽااارموم اٌ ااارؼعماٌؿعؾؼاافمباااظؿقؽؿماآلمبصااقرهمداافؾفمومبلااقطفمسااـم ررؼاؼماداؿكداممظغافمبر•افمعػؿقحافماٌصادرم Arduino Cموم ؼااؿؿمبر•ااافماٌؿقؽؿاافماٌقجاااقدهمسؾااكماظؾاااقردهمبسداااؿكدامم برغااااعجمخااااصمؼلاااؿكم
Development
Integrated
IDE:
Arduino
Environmentموماظاااااذىمؼؿااا اقصرم•اغاااااامظؾؿقؿقاااااؾمعاااااـمعقضاااااعماردوؼـاااااقماظر
ااا اكمم
http://arduino.cc
وا وعٍ ٜاُ ازدٍٖٕٔ وفتٕح املصدز ؟؟ ّغًٖ اًيَمميؽـاؽماالراال موماظؿعادؼؾمسؾاكم اظؿصااؿقؿاتماهلـددااقةموماظ ااػراتماٌصاادرؼةم Source Codesمظؽؾمعـمبقرداتماردًِِّم اٌكؿؾػةمArduino Boardsموم Arduino IDEمعااامؼؿـاداابمععااؽمومميؽـ اؽم اؼا ااًم تطقؼرمظغةمبر•فم Arduino Cم‟رؼفمتاعفموم االرال مسؾكماظ ػراتماٌصدرؼةماًاصةمبفاام طؿامانمطؾمػذهماٌؿقزاتموماظا•قااتم•اغقافمشاعاامسؾاكمشارارمبعاضماظؾقؽااتماظؿطاقؼرهم عـؾم Mikro Cموماظؿكمتؿطؾبمعـؽمذرا مرخصفمعؽؾػفمتصؾمصكمبعاضماالحقاانماماآلفم اظدوالراتمالدؿكداعفا .م م
10
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىا ّىّز بِرداتماردًِِّ مسـمباضكماظؾقرداتماظؿطقؼرؼفمظؾؿؿقؽؿاتمماظدضقؼفماالخرىم Micro Controllers Development boardsمػقمعدىماظلفقظفماظؿعاعؾمععفاموم بلارفماظؾغفماظا•قفموماظؿكمسؿؾمصرؼؼمعـماؼطاظقامسؾكمتطقؼرػامعـذمسامم5002محؿكم االنم,مومظؼدممتماذؿؼاقمظغفماردوؼـقماظا•قفمعـمظغفمم processingومظغفم"دكم"Cموماظؿكم تعدماداسمظغاتماظا•فمايدؼـفمومصاحؾفممبقرهمتؼـقفماظا•قات. م م
قييد ّظيينماظااؾعضمانماردوؼـااقم عصااؿؿمظؾاافقاهمصؼااطمالطااـمػااذام ظاااقسمصاااققحمظؼااادممتمتطاااقؼرمهم ظقـادااااابمقاااااعماٌلاااااؿقؼاتم ابؿاااادا معااااـماهلااااقاهموماغؿفااااا م باٌ اااارؼعماٌؿطاااقرهموماظااادظقؾم اغفمػـااكميقازاتمجؾاارهموعاؾم اردًِِّمسؾكمضؿفماٌؿقؽؿاتماظدضقؼفمومػكماعؽاغقفمد•فمصكمع ارؼعمؼؿؿمبر•ؿفاامبؾغااتم ػـددقفمعؿطقرهمعـؾم MATLABمومظغفمJavaمحقثمدؿفدمعؽؿؾااتمبر•قافمصاكمجااػزهم ظؾغفماظااMATLABموماىاصامخاصفمباظؿعاعؾمععماردًِِّ ,ومدؿفدمصكمصػقفماٌراجعمبعضم اٌقاردماظؿكمتعؾؿؽمطقػقفمادؿكدامماالردوؼـقمععماٌاتمالب,مطؿامميؽـؽماؼاامادؿكدامم
ظغفمJavaمومظغفمVB.NETممصكماظؿقاصؾمععمبقرداتمماردًِِّماٌكؿؾػف
11
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
عهٖ سبّوماهىثاو:مميؽـؽمسؿاؾمدائارهمادؿ اعارمظمؾطؼاسمومايارارهمبااالردوؼـقمومارمداام لممم اظؾقاغااتمام MATLABمسؾاكمايادابماآلمالجارام ماظؿقؾاقالتمايلاابقفماٌؿطاقرهمم اٌؿقصرمبؾغفم .MATLABم
م
ىن امثرماٌ ارؼعماظؿكمابارتماسفابكمطاغتمعلؿؽ اػمزالزلمبسداؿكدامماالردوؼـاقمومظغافم بر•فمMATLABم ومطاغتمعاـمتصاؿقؿمذاابمصاكماظلاددافمس ارمعاـمسؿارهمصاكماظقالؼااتم اٌؿقاادهمحقااثمضاااممبعؿااؾموحاادهمادؿع ااارمومهؾقااؾمظؾاازالزلمبؿؽؾػاافمالمتؿفاااوزم50مدوالمرم بادؿكداممبعضماٌلؿ عراتمومبقردهماردًِِّممصؼطمععماظعؾؿمانماظدوائرماالظؽرتوغقفماٌؿابؾافم ضدمتؿؽؾػماطـرمعـم5000مدوالرمس م
12
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اًِاؼ بِردات اردًِِّ Arduino Boards
Arduino UNO, Arduino Mega, Arduino Nano, Arduino Mini, Arduino Lilypad, Arduino Demulive, Boarduino
تستهفماظؾقرداتمسـمبعاامفام اظاؾعضمعاـمغاحقافمساددماٌكاارجموماٌاداخؾموماظؿاكمهاددم سددماالجفزهماظؿكمميؽـماظؿقؽؿمبفامومسددمايلاداتمSensorsماظؿكمميؽـمد•فاامعاعم اظؾااقردهمومطااذظؽمغااق ماٌؿقؽؿاافماظدضقؼاافمومداارسفماٌعااا ماٌقجااقدم بداخؾاافاموماعؽاغقاافم تؾدؼؾفاماممالمومدقفمغؿـاولممصكمػذاماظؽؿابمبقرده
13
Arduino Uno
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ًظرُ عاىَ عهٖ داٙرُ Arduino Uno مداٙرٔ اهمترًَِّمصغ همتلاؿكدممصاكمبر•افمم عؿقؽؿاافممعااـمذاارطفماشااؾمATmega328موم تقصرمػاذهماظادامئرةمعـاصاذمظؿقصاقؾماٌؽقغااتم االظؽرتوغقاافماماٌؿقؽؿاافمعؾاذاارهمسااـمررؼ اؼمم14م(عاادخؾم|م․اارج)معااـماظـااق ماظرضؿاالم
Digital In/outمعـمػذهمال14مؼقجدم6مميؽاـماداؿكداعفامطؿكاارجمPWMمأومعاامؼعارفم باهتغدّو اهرقىْ اهىغتىد عهٖ عرض اهًبضيٕ()Pulse-Width modulationمومداقفم غؿقدثمسـمػذهماًاصقفمصاكمصصاؾمطاعاؾمؼلاؿكماظادخؾموماًارجماظؿؿاابؾكمم Analog Inputs & Outputs أّضامهقيماظدائرةممسؾكمعفؿازمطرؼلاؿالم Crystal Oscillatorبااااااارتددم,MHz16م باالضااااصفمامعااادخؾمUSBمعاااـمأجاااؾم اظؿقاصااؾمعااعمايادااب,مومػـاااكمعاادخؾم ظؾطاضاااةمعـػصاااؾم,مباالضااااصفمام ICSP headerمواظااااذيمؼعؿااااامررؼؼاااافماضاااااصقفمم ظا•اةماٌؿقؽؿااةموػاالمالمتاازالمعقصااؾةم باظؾقردهم(†الفماظا)USBمومميؽـؽمانممتعؿامبقردهماردوؼـاقممػاذهممباقردهمتطاقؼرمومبر•افم عصااغرهمومعٌٌٌٌفقؽاافمظالدااؿكدامماٌؾاذاار
Development Boardصفااكمتؼرؼؾااامهااقيمطااؾمعااام
هؿاجمظؽلمتعؿؾمسؾقفامدقا مسـمررؼؼمعـػذماظااUSBمأومسـمررؼؼمعصدرمخارجكمظؾطاضافمم عـؾماظؾطارؼف .م
14
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اىداد اهداٙرُ باهطاقَ
Power up
ّىمًيينماعادادماظاادائرةمباظطاضااةمإعاامعااـمخاااللمعـػااذم اظااUSBمصؼطمأومسـمررؼاؼماداؿكداممعصادرمخاارجلم ظؾؽفرباااا مطؿقاااقلمAC\DCمظقؿااادماظااادائرةمباىفااادم اظالزممظؾعؿؾماومحؿكمسـمررؼاؼمبطارمؼامةم9مصقظاتماوم4م بطارؼاتم1.5مصقظتمحقثمؼؿؿمتقصقؾمررماظؾطارؼاةم امعدخؾماالرضلمGndموماظاامVinمماظدائرة .م م م مم
تسيتطّػماظادامئرةماظعؿاؾمسؾاكمجفادمؼارتاوحمبانيمالم6م27-مصقظات,م ظؽـم‧بماالغؿؾاهمحقثماغفماذامضؿـاامبؿاسعنيمجفادمأضاؾمعاـم7مصقظاتم صإنماٌكرجماٌؿقؽؿةمPin 5Vمضدمالمؼلؿطقعمتسعنيمجفدمخرجمؼؾؾاغم اظااام5مصقظاتماٌطؾاقبموضادمؼااىلديمامسادمماداؿؼرارماظادامئرة,ماعاااماذام ضؿـامبؿزوؼدماظدائرةم„فدمأسؾكمعـم12مصقظتمصإغفمضدمؼىلبرمسؾاكممسـصارم تـظقؿماىفدمvoltage regulatorموؼىلدىمامارتػا مدرجةمحرارتافمياامؼاىلديمامتؾاػمم اظؾقردهم,مظذامصإنم•الماىفدماظذيمؼػاؾمادؿكداعفمػقمعـم7مام12مصقظت .م
15
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىسارد ِ ىداسو اهطاقَ اهمٍربَّ ههىتذمىٕ Power Inputs/Outputs مVinمم:مجفااادماظااادخؾمسـااادعامغلاااؿكدمم
عصاادرمراضااةمخااارجل,مميؽــااامتااسعنيماىفاادمعااـم خاللمػذاماٌدخؾم,مإذامطـامغؼاقممبؿاسعنيماظطاضاةم ظؾااادائرةمعاااـمخااااللمعااادخؾماحملاااقلمميؽــاااام اظقصقلمظفمعـمخاللمػذاماٌدخؾمأؼااً. V5م:مجفدمعـؿظؿمؼلؿكدممظؿسعنيماظطاضةم
ظؾعـاصرماٌلؿكدعفمسؾكماظدائرةمومدقفمغلؿكدعفم ظؿقص ماظطاضفمظؾؼطعماالظؽرتوغقفماظؿكمدـاقػفا,مضادم ؼستلمػذاماىفدمعاـمخااللمVinمساامعاـظؿمجفادم داخؾلمأومتسعقـافمعاـمخااللمعـػاذمالمUSBمأومأيم عصدرمجفدمعـؿظؿمبؼقؿفم5مصقظت. V3.3م:معصادرمظؾففادمبؼقؿاةم3.3مصقظاتم
عىلعـمعاـمضؾاؾمعاـظؿماىفادماظاداخؾلمظؾادمائرةموم أضصكمضقؿةمظلقبماظؿقارمعـمخاللمػذاماًطمػقم 57معقؾلمأعؾ . GNDمم:ماًطماالرضل.
16
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىغاهخ اهدقّل ِ اه امرُ Microprocessor اٌؿقؽؿاتماظدضقؼفماذؾففمبقحدهممحادبمآمصغ همايفؿمومهقيماٌؿقؽؿافماظدضقؼافمم ATmega328مسؾكمععا مبلرسفم 63ىّحامػرتزمومذاطرةمطؾقفمتلاوىممKilo Byte 33
6%
3% 2%
SRAM - 2 Killobyte Flash Disk - 29 Killobyte EEPROM - 1 Killobyte Bootloader 0.5 Killobyte 89%
o
Boot loaderم:ماظلقصتموؼرماٌلىللمسـمطقػقفمصفؿماظدائرهمظؾغفم Arduino C
o
:SRAMمتعؿا اظذاطرهماٌُلؿكدعفمصكمتلفقؾماٌؿغ اتمبصقرهمعىلضؿف.
o
Flash Diskم:معلاااحفم‡زؼـقاافمتلااؿكدمممصااكم‡اازؼـماظاغاااعجماظااذىمدااـؽؿؾفم ظؿ غقؾماٌؿقؽؿفم,مصكماظقػؾافماالوممضادمؼؾادومػاذاماظارضؿمصاغ مجادامظمؽـافمصاكم ايؼقؼفمطاصكمظؽؿابفماظؽـ معـماالواعرمطؿامدـرىمصكماالعـؾفماظؼادعف .م
o
EEPROMم:ماظذاطرهماٌلىلظفمسـمتلفقؾمبعضماٌؿغ اتمبصقرهمدائؿفمداخاؾم
اٌؿقؽؿ افمومتظااؾم‣ؿػظاافمبؼقؿؿفااامحؿااكمبعاادمصصااؾماظؽفربااا مومميؽــااامانمغعؿاػااامعـااؾم اظلقاضفمHard Diskمصكماظؽؿؾققترماظ كصك.
17
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىداسو ِ ىسارد اهتذمي(I/O) Input & Output Pins مممّىمنم‡صقصماًطقطماظرضؿقةماالربعفمس رم(61م(Digital Pinsمطؿاداخؾمأوم․اارجمم وذظؽمبادؿكدامماالواعرماظا•قافمطؿاامداـرىمصاكماظػصاؾماظـااغكممومتعؿاؾمػاذهماًطاقطم سؾكمجفدماضصاهم2م صقظتموطاؾمخاطمميؽاـمأنمؼاىلعـمداقبمظؾؿقاارم‟ادودمالم10معقؾالم أعؾ ,مومػـاكم3مخطقطمدخؾمشابؾقةمAnalogموععـقغةمعـمA0مام,A5ب ؽؾماصرتاضالم تلؿطقعمػذهماٌداخؾمضقاسمجفدمعـمصػرمحؿكم2مصقظت.
18
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىالذظات صسطَّ : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماالولم :م
19
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ُذالدؤَالُذ،ذفَ َدؾُواذوَرِحَ ِؿؽُمُذ حه ُّ الْ ِعؾْمُذخَزَا ِئنُذوَمِ ْػتَا ُ الؾهُذ،ذفَإِنَّهُذ ُوؤِجَرُذفِقهِذأَ ِربَ َعةٌذ:ذالدَّا ِئلُذوَالْؿُ ِدتَ ِؿعُذ،ذ َّ وَالْؿُعَؾِّمُذ،ذوَالْؿُجَابُذلَفُمِ
ه وَسََّلهَ رَسُولُ اللَّهِ صَلَّى اللَّهُ َعلَيِ ِ
20
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهثاًْ :اهتحٍّزات اِال:ماٌؽقغاتماٌادؼفمHardware & Tools
21
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مّف تبدأ استسداي اردًِِّ ِ ىا ا ستذتاد دااقفمغلااؿكدممبااقردهمعااـمغااق مArduino UNOمومدااؿقؿاجمظؾؿؽقغاااتماظؿاظقاافمطؾداؼاافم:مم (عؾققزف:مصكمبعضماالعـؾفمدؿقؿاجماضاصاتمهلذهماٌؽقغات) م
Arduino Uno V.3 ػكماظؾاقردهماٌلامؽقظفمساـماداؿؼؾالماألمواعارم اظا•قاافمعااـماياداابماآلمومطؿابؿفااامصااكم ذاطرهماٌؿقؽؿفماظدضقؼفم ATmega328 ماٌقضقسفمبداخؾفا )USB printer cable (1 Meter طاباااؾمرابعااافمظؿقصاااقؾماظؾاااقردهمبايادااابم اآل,مميؽـااؽمذاارا ماىمغااق مومؼػاااؾمانم ؼؽااقنمضصاا مضاادرماالعؽااانممحؿااكمالمؼلااؾبم ازساااجمابـااا ماظعؿااؾم,رااقلم"مواحاادمعاارتم"م دقؽقنماطـرمعـمطاصك م
هِذَ اهتحار )(Breadboard بااااقردهمخاصاااافمتلااااؿكدممظرتطقاااابمومصااااؽم اٌؽقغااااتماالظؽرتوغقااافمسؾقفاااامبلااافقظفمدونم اياجفماميامم,مميؽـاؽمذارا ماىمحفاؿم وؼػاؾمHalf Sized Breadboard
22
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
داِّد ضِ( ْٙاهِان ىستهفٕ)Colored Leds
بعااااضماظؾقااااداتمومػااااكماذااااؾفمباٌصااااابقحم اظصغ همومتعؿؾمسؾكمهقؼؾماظؿقاارماظؽفرباكم امضاااق ,مؼػااااؾمانمت ااارتىم01مظقاااداتم بااسظقانمموماحفااامم․ؿؾػااافمومتؿااقصرهمباااسظقانم عـااؾ:االر,ماألخااار,ماظاتؼااا,ماألصااػر,م االبقضموماالزرق م ىكاِىات
Resistors
دااـقؿاجمامعؼاوعاااتمظؾااؿقؽؿمصااكماظؿقااارم اظؽفربكمسؾاكمعاداخؾموم․اارجماٌؿقؽؿافم اظدضقؼفمومدـقؿاجماٌؼاوعاتماظؿاظقف :م )Resistor 560 Ohm (x5 Resistor 10 Killo-Ohm (x5 )AVO Meter (multi-meter device
(استّيييارٓ)مجفاااازممضقااااسمطفربااالمعؿعاااددم االدؿكداعاتمومؼلؿطقعمضقاسمماٌؼاوعااتموم صرقماىفدمومذدهماظؿقارماظؽفربك بغض االسالن ههتِطّالت بّن اهىمًِات Wires دؿلااؿكدممصااكمتقصااقؾماٌؽقغاااتمبؾعااافامسؾااكم ظقحااافماظؿفااااربمومداااؿؿعؾؿمطقاااػمغمؼاااقممبؿففقااازم اظلؾؽمبـػلؽمطؿامدـرىمصكماظصػقفماظؿاظقف .م
23
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مّف تُحٍز أسالن اهتِطّو ميؽـااؽمايصااقلمسؾااكموصااالتمساظقاافماىااقدهمسااـم ررؼؼمادؿكداممضطعفمعـمطابؾم Cat5ماٌلاؿكدممصاكم وصااالتمذااؾؽاتماياداابماآلمومتلااؿطقعمذاارا همعااـم ‣التمعلؿؾزعاتماظؽؿؾققترموماظ ؾؽاتم .م ضؿمباداؿكداممض اارهماالداالكمومضاصمواحادممداـؿكمعارتم عااـماىفااؿنيمظؾلااؾؽماٌاارادموفقاازهمطؿااامصااكماظصااقرهم االو,مبؿمطررمغػسماظعؿؾقفمعرهماخرىموظؽاـمباارقالم ․ؿؾػاافمحؿااكمهصااؾمسؾااكم•ؿقساافمادااالكمجاااػزهم ظالدؿكداممم م م اذامطـتمالمتػاؾمانمتؼقممبفذهماظعؿؾقافمميؽـاؽمذارا م •ؿقساااافمادااااالكمعؼ اااارهمجاااااػزهمظالدااااؿكدامممعااااعم ال breadboardمومدؿفدػامصكم‣االتماٌؽقغااتم االظؽرتوغقفمم م
24
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ا ا مًتم صكمعصارمومترشابمصاكمذارا متؾاؽماٌؽقغااتمػـااكم3م عقاضعمعصرؼفممسؾكماالغرتغتمتلؿطقعمرؾبمتؾؽماٌؽقغاتمعـفاام ومدااقؿؿمذااقـفامظؾااابمعـزظااؽمصااكممشاااقنمؼااقعنيمومدااقؿؿماضاااصفم تؽؾػفماظ قـمسؾكمدعرماٌؽقغات.م م
م
http://www.fut-electronics.com http://egyrobots.com http://www.ram-e-shop.com
ماعاماذاممطـتمتػاؾمزؼارهمبعضماحملالمبـػلؽمم م ميؽـؽماظذػابمام‣ؾمرامماظؽرتوغقؽسم RAM Electronics
ماٌقجااقدمصااكم"م بييا
اههييِل " موم‣ااؾمصققت اارماظؽرتوغااقؽسم
Future Electronicsماٌقجااقدماعااامممهّييَ ًٌدسييَ عييّن صىشمصكمعقدانمعبدُ باصامصكماظعؾادقفم .م م وماذامطـتمصكماحدىماظدولماظعربقفماوماىمدوظافماخارىمالمؼؿاقصرم بفام‣التمتؾقعمػذهماٌؽقغاتم(خاصافماردًِّيِ)مميؽـاؽمزؼاارهم اٌقضاااعماظؿاااامومداااؿفدمسؾقااافماظؽاااـ معاااـماٌـؿفااااتماًاصااافم بادرًِِّممععماظ قـمالاغكم م م
http://www.buyincoins.comم
طؿامميؽـؽمزؼارهمضائؿفماٌقزسنيماظعاٌقني الردًِِّمظؿؾقثمسـمعقز م‣ؾكمضرؼبمعـؽم ساماظرابطماظؿا :م
http://arduino.cc/hu/Main/Buyم
25
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
م
م
حمتوواتذسؾبهذ Arduino Unoذ عؾققزفمضدم‡ؿؾػمعؽقغاتماظعؾؾفمعـمبؾدماماخرىمسؾكمحلبماٌقردمومرضؿم اصدارهماظؾقردهمطؿامضدمهؿقىمسؾكمعؾصؼاتماضاصقفمالردوؼـقم م 26
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
تحٍّز اهبرىحّات:ثاًّا
Software's 27
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بّ َٙتطِّر اردًِِّ )Arduino (IDE
تغتبرمبقؽفماظؿطقؼرم Arduino IDEاالداهماٌلؿكدعفمصكمطؿابفماالطقادماظا•قفمبؾغفم Arduino Cومهقؼؾفامبعدمذظؽمامصقغفمتـػقذؼفمميؽـموضعفامسؾكماٌؿقؽؿفماظدضقؼافم اٌقجقدهمسؾكماظؾقردهم .م
تتىّزمبقؽفمتطقؼرماردوؼـقمباظؾلارفموماظلفقظفمصكماظؿعاعؾمصفكمتؽادم‡ؾاقمعاـماىمتعؼقاداتم صكماٌظفرمماظعاممومهؿقىمصؼطمسؾكمعام ؿاجفماٌاعجمظقؾادأمتطاقؼرمباراعجمبؾغافماردوؼـاقم دكمArduino Cمطؿاماغفامتلؿكدممصكمغػسماظقضتمظرصعماظاغااعجمعؾاذارهماماٌؿقؽؿافم اظدضقؼفمومبذظؽمظـمهؿاجمامبرغاعجماخرم․صصمظرصعماظصقغفماظؿـػقذؼفمظؾؾقرده .م
28
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
م سييّتي اهصييرزمسؾااكمبقؽاافمتطااقؼرماردوؼـااقماظـلااكفماًاصاافمبًِّييدِزمبسسؿؾااارهماطـاارماغظؿاافم اظؿ غقؾمذققسامومذفرهمبنيماٌلؿكدعنيمبااظرشؿمعاـماغاكماغصاحمب ادهمبسداؿكداممظقاـؽسم
الغفم•اغكمومدرؼعمومآعـمباالضاصفماماغفموفتٕح املصدز Source
Openم,م م
ومصكمقعماالحقالمميؽـؽماظعؿؾمسؾكماىمغظاممت غقؾمهب.م م م
ىن ّرّدمماظؿعرفماطـرمسؾكمغظاممت غقؾمظقاـؽسمػـااكمطؿاابم
سربكم•اغك ]ماِبًتِ ببساطَ[ عـمتسظقػ: أذىييد ىذىييد أبِزّييدمومؼ اارحمادااؿكداممغظاااممت ااغقؾم هًّمش ابًِتِ Ubuntuبادؾقبمدفؾموميؿعممومميؽـاؽم هؿقؾفم•اغامعـمسؾكماٌقضعماظر
كمظؾؽؿابم:
http://www.simplyubuntu.com/
29
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تًزّو بّ َٙاهتطِّر Arduino IDE تتيييييِ رمبقؽااااافماظؿطاااااقؼرماظا•قااااافمىؿقاااااعماغظؿااااافماظؿ اااااغقؾم اٌكؿؾػا مف Windows, Linux, MACموميؽـاؽمهؿقؾافامعااـم اٌقضعماظر م
كمٌطقرىماردوؼـقمسؾكماظرابطماظؿا:م
http://arduino.cc/hu/Main/Softwareم
باهًسبَمٌلؿكدعكموؼـدوزماومعاكمضؿمبؿـزؼؾماالصدارهماًاصافمبفؿااممعاـماظارابطماساالهموم دؿفدممعؾػمعاغقط,مضؿمبػؽماظاغطمبسدؿكدامماحدىماظااعجمعـؾم 7zipمبؿمضؿمبؿ غقؾم عؾػمarduino.exe
30
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
م هىسيييتسدىٖمغظااااممظقاااـؽسماوبـؿاااقمUbuntuمميؽـاااؽماداااؿكداممعرطااازمماظا•قااااتم Software centerمصؼاطما‟اثمساـم Arduino IDEمباؿماضاغطمزرم Installموم باظـلؾفمٌلؿكدعكماغظؿفمظقـؽسماالخرىمعـؾمصقدورام fedoraمومغلاكفماوباـمداقزىم Open SUSEمدؿفدومبقؽفماظؿطقؼرمعقجقدهمصكمعرطزماظا•قاتماًاصفمباظؿقزؼعفم م انمملمتلؿطعما‧ادهمميؽـؽمهؿقؾماٌؾػماًاصمبؾقـؽسمعـمسؾكمماٌقضعماظر
ك .م
عؾققزف:متعؿؾماظؾقؽفماظؿطقؼرهمالردوؼـقمبصقرهمادر مسؾكمظقـؽسماطـرمعاـموؼـادوزمظاذظؽم
اغصحماذامطانمجفازكماٌلؿكدممصكمسؿؾقافماظا•افمذوماعؽاغقااتمعؿقداطفماومضاعقػفممعاـم
غاحقفمHardwareمؼػاؾمانمتلؿكدمماحدىمغلخمظقـؽسم م 31
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بغد االًتٍيا٘معاـمتـصاقبمArduino IDEمضاؿم باًطقاتماظؿاظقفمظؿقصقؾماظؾقردهمباظؽؿؾققتر :م م
ضؿمبؿقصقؾمبقردهماردوؼـقمباظؽابؾمم م
م
ادخؾماظطارفماالخارممصاكمصؿقافم USBم صكمايادابماآلموماغؿظارمضؾاقالمحؿاكم
1
تظفرمظؽمرداظفمتػقدمبسنمجفازمايادابم تعرفمسؾكمضطعفمسؿادمجدؼادهم Found Arduino Uno Boardمبعادمزفاقرم تؾاؽماظردااظفمممؼاستكماظقضاتمظؾادأماظعؿااؾم سؾكماظؾقؽفماظؿطقؼرؼفم م م م
2
3
4 32
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهتغرف عهٖ اهِاحٍَ اهرسِىَّ هبّ َٙاهتطِّر
33
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تؿؽقنمبقؽفماظؿطقؼرماظا•قفمعـمواجففمبلقطفمومتـؼلؿماماربعفماجزا مرئقلقفم :م االِو:مذرؼطماظؼقائؿ م اهثاًٖ:مذرؼطماالواعرماظلرؼعف م اهثاهج:معـطؼفمطؿابفماالطقادماظا•قف م اهرابػ:اىز ماًاصمبعرضماظؿـؾقفاتموماالخطا ماظا•قفمصكممبقؽفماظؿطقؼرم
تحٍّز بّ َٙاهتطِّر اِومخطقهمظؿففقزمماظؾقؽفماظؿطقؼرهمػكماخؿقارماظؾقردهماظؿكمدـؿعاعؾمععفاامومؼاؿؿمذظاؽمساـم ررؼؼماظذػابمامضائؿفمToolsموماخؿقارم Boardبؿم…ؿاارمغاق ماظؾاقردهماٌؿاقصرهمظادؼـاموم صكمػذهماياظفمدـكؿارمArduino Unoمطؿامصكماظصقرهماظؿاظقف م
34
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ثاًْمخطقهممتؿؿمصكمحاظفمزفقرمػذهماظرداظفمبعدمتقصقؾماردوؼـقمموماظؿكمتػقادمباسنماىفاازم ملم‧اادمتعرؼػاااتمظؽااكمؼلااؿكدمماردوؼـااقم(تظفاارمشاظؾااامعااعمعلااؿكدعكموؼـاادوزم Vistaاوم )Windows 7مموم‧بمانمغؼقممبؿـصقبماظؿعرؼػاتمطاظؿا :م
اوال:ماصؿحمعدؼرماالجفزهم Device Managerمطؿامصكماظصقرماظؿاظقفم م م
35
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اخرتم"متصػحماىفازمالخؿقارماظؿعرؼػات"مبؿماخؿارماظػقظدرماظذىمؼقجدمبفمبرغاعجماردوؼـقم م
36
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بعدػامدقفمتظفرمرداظفمتلسظؽمسـم"اذامعامطـتمترشبمصكمتـصقبمػاذهماظؿعرؼػااتماممالم م "ماضغطم Okوماغؿظرمضؾقالمحؿكمتـؿفكمسؿؾقفمتعرؼػماردوؼـقمبـفاحمطؿامصكماظصقرهماظؿاظقفم م
م بعاادماالغؿفااا معااـمتـصااقبماظؿعرؼااػممالحااظمرضااؿماٌـػااذماٌلااؿكدممصااكماردوؼـااقمعااـمعاادؼرم االجفزهمطؿامصكماظصقرهماظؿاظقفموماظؿكمتظفرمرضؿماٌـػذم COM3م,متذطرمذظؽماظرضؿمصلقفم ‥ؿاجفمالحؼاًم(مععمعالحظفمانمذظؽماظرضؿمضدم ؿؾػمسـدك)م .م
37
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهسطُِ االسّرُمػكماخؿقارمعـػذماظؿقصقؾمبسردوؼـقمعـمضائؿفمTools – Serial Port
38
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بغد هنمتلؿطقعماظؾدأمصكمطؿابفماولمبرغاعجمظؽمسؾكماالردوؼـقمومذظؽمسـمررؼاؼماخؿقاارم Newمعـمضائؿفم Fileمماٌقجقدهمب رؼطماظؼقائؿمطؿامصكماظصقرهماظؿاظقف م
م اِ ّىمًنماخؿقارمNewمعؾاذرهمعـمذرؼطماالواعرماظلرؼعف م م
39
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اّضام تاقصرمظاؽماظؾقؽافماظؿطقؼرؼافم•ؿقسافمعاـماالعـؾافماظا•قافماىااػزهموماظؿاكمتلاؿطقعم اظقصقلماظقفامعـمخاللمضائؿافم Examplesاٌقجاقدهمصاكمضائؿافم Fileماظرئقلاقفمطؿاامصاكم اظصقرهماظؿاظقفم م
40
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىالذظات صسطَّ : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماظـاغكم :م
41
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ُكنذذَدوِدذالتدَامُحذمَعذمنذخَالػكذالرأي،ذ
فإنذملذَوؽُنذ َرأوهذكلذالصوابذفالَذتؽُنذأنتَذ كلذاخلطأذبتشبُثكذبرأوك فراىسوا ماري أرويه املعروف باسه فولتري
42
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهثاهج ظـؾدأماظعؿؾمععماردوؼـق
Let's get started
43
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
Example 1: Blinking led ِْٙ تصؾّو داِّد ض:اهىثاو األِو
م
44
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو (:)1 بقردهماردًِِّمArduino Uno Breadboard عؼاوعفمطفربقفمبؼقؿفم567ماومم داؼقدمضقئكممضطرم17معؾكم جفازماظؽؿؾققترم ورضفماٌلاسدهماٌقجقدهمصكمػذهماظصػقف م
ىا ٌٖ اهِرقَ اهىسياعدُ:مػاكمورضافمؼاؿؿم رؾاسؿفامظرتذدكمامطقػقفموضعماٌؽقغااتم االظؽرتوغقاااااافمسؾااااااكمظقحاااااافماظؿفاااااااربم
Breadboardم
اهسطيُِ االِهييٖ:مضاؿمبطؾاساافمػاذهماظصااػقفم (عؾققزفمسـدماظطؾاسفمالمتؼؿمبؿؽاؾ ماومتصاغ م حفؿماظصػقفمومادؿكدممعؼقااسم)100%مباؿم ضااصمورضاافماٌلاااسدهمبعاادمذظااؽمضااعماظقرضاافم صااااققم Breadboardممومبؾؿفااااامبادااااؿكدامم4م وصااالتمpin-headerمبااؿماباادأمصااكمتقصااقؾم اٌؽقغاتماالظؽرتوغقفمصقضفامطؿمصكماظصقرهم م
45
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
Pin-Header اهِرقَ اهىساعدُ
Breadboard اردًِِّ
اهسطُِ اهثاًَّ:عـمبقؽفماظؿطقؼرمArduino IDEممضؿمبعؿؾمعؾػمجدؼدمعـمذرؼطماالواعارم اظلرؼعفموماطؿبماالواعرماظا•قفماظؿاظقفمصكماىز ماٌكصصمظؽؿابفماالطقادم م
م
46
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
// Example 01 : Blinking LED const int LED = 13; void setup ) ( { pinMode)LED, OUTPUT(; } void loop)( { digitalWrite)LED, HIGH(; delay)1000(; digitalWrite)LED, LOW(; delay)1000(; }
م
47
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهسطُِ اهثاهثَ:مبعدمانمتـؿفكمعاـمطؿابافم اظؽاااقدماظا•اااكماضاااغطمسؾاااكمزرمتسطقااادم Verifyمصااكماظ اارؼطماالواعاارماظلاارؼعفمصااكم اسؾكمالممIDEمبؿماغؿظرمحؿكمتظفرمرداظفم صكماالدػؾم‡اكمبسنماظاغاعجمضدماغؿفاكم
عااـموفقاازماظؽااقدمظقااؿؿمرصعاافمسؾااكمبييِردُ االردًِِّم م م تأمييييدمانمطابااااؾماالردوؼـااااقمعؿصااااؾم بايادبمبؿمضؿمباظاغطمسؾكمزرم"مرصعم Uploadم "مومذظؽمحؿاكمؼاؿؿمبادأمسؿؾقافمهؿقاؾماظاغااعجماماٌؿقؽؿافماظدضقؼافموماغؿظارم سااادهمباااقاغكمداااؿالحظمسـااادػامانمال ledsاٌقجاااقدهمسؾاااكماظؾاااقردهم(عؽؿاااقبم„اغؾفاااام )Tx/Rxبدأتمتائمبلارسفمساظقافمباؿمتؼاػمضؾقاؾممومػاذهماالضاائمفمتعـاكمانماظؾاقردمهمبادأتم تلؿؼؾؾمبقاغاتماظاغاعجماظذىمضؿـامبؽؿابؿفم,مبعادمذظاؽمؼؾادأماظاغااعجموم‧عاؾماظؾقادماظاذىم وضعـاهمؼائمومؼـطػئمبسغؿظاممطؾمباغقفم .م م م م وربٔكمماولمع رو مظؽمبسدؿكدامماردوؼـق,موماالنمدـؼقممبؿ رؼحمومصفؿماظؽقدم اظا•كماٌلؿكدممصكمػذاماٌـال .م
48
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
صرز اهمِد اهبرىحٖ ...... ;const int LED = 13 ؼؼقممػذاماالعرمبعؿؾمبابتم constantمضقؿؿفم=م13موما
فم LED
سؤاه ملاذا كتبٍا ِرا الجابت ؟؟ غؼااقممبسدااؿكدامماظـقابااتمحؿااكمتلاافؾمسؾقـااامتلااؿقفماٌكااارجموماٌااداخؾم ()Input/Output Pinsمظؾؿؿقؽؿافماظدضقؼافم,مصؿاـالمصاكمػاذاماظاغااعجم ضؿـامبؿعرؼػمػذاماظـابتمحؿكمغعامسـماٌكرجمرضؿم13مبسنما
افم LEDموم
بذظؽمظقماردغامانمغسعرماٌؿقؽؿفمصاكماىمجاز معاـماجازا ماظاغااعجمالحؼاامم بسنمت غؾماظؾقدماٌقجقدممسؾكماٌكرجمرضؿم13مماومانمتؼقممبسرػا مذظاؽماظؾقادمظاـم‥ؿااجم سـدػامظذطرماظرضؿمومامنامدـذطرمطؾؿفمLEDمعؾاذرهمومدؿػفؿماٌؿقؽؿافماظدضقؼافماغـاامغؼصادم بفذاماٌكرجمرضؿم13م م م اهسطر اهثاًٖذمنذاوامرذ
( ) Void setup { ;(pinMode)LED,OUTPUT }
الربنامجذهوذتعروفذوزقػهذ ال pinذرقمذ13ذوذالتىذنرمزذهلاذ بأدمذLED
49
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ٖ براىخ اهىتذمىات اهدقّكَ ّتمِن اهبرًاىخ ىن 3ىراذو ِ ٌٖ ماهتاهٖ: اهىرذهَ االِهٖ :مانمتؼقممبؿعرؼػماىمعاؿغ اتماومبقاباتمصاكماظاغااعجماظاذىمداقفمغؼاقمم بؽؿابؿفم م اهىرذهييَ اهثاًّييَ:متؿؿقاازماٌؿقؽؿاااتماظدضقؼاافمانمقااعمالم Digital Pinsمميؽااـمانم تلااؿكدمماعااامطؿكاارجماومعاادخؾمومصااكمػااذاماٌرحؾ افممغؼااقممباااؾطماسااداداتماٌكااارجموم اٌداخؾمومتعرؼػماٌؿقؽؿفمانماظاا Pinمرضؿم1ماوم12ماوم13معـالمدقفمتلؿكدممطؿكرجماوم انمال Pinمرضؿم5موم6مدقفمؼلؿكدعانمطؿدخؾمظؾؾقاغاتمومتعؿاماظداظفم ) ( setupممػاكم اٌرحؾفماظـاغقف .م م م
احلاله
رقمذPin
ّيتيماداؿكدامماالعارم;)pinMode(pin number, stateممظؿقدؼادموزقػافممالPinموم ػؾمدؿعؿؾمطؿدخؾماممطؿكارجمحقاثمؼاؿؿمطؿابافمرضاؿماِماداؿماظااامPinمماذامضؿـاامبؿعرؼاػم بابتم․صاصمداابؼام,مباؿمؼاؿؿمطؿابافمحاظافماظؿ اغقؾمم INPUTاِم OUPUTمومالحاظماغافم ‧بمطؿابفمحروفمطؾؿفم(عدخؾماوم․رج)مبصقرهم .capitalم
اّضام‧بمانمتؽؿبمقعماسدادتماٌكارجموماٌداخؾمبداخؾماضقاسماظداظف م م} setup ( ) {write your configurations hereمسؾكمدؾقؾماٌـالماذاماردغام انم…اااماٌؿقؽؿاافمانماظاااا pinماظعاذاارهمومايادؼاافمس اارموماظـاظـاافمس اارممػااؿم․ااارجمموانم ال pinاظـاغقفمػكمعدخؾمصلـؼقممبؽؿابف االواعرماظؿاظقف:
50
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
( ) void setup { الذظذ:ذانهذجيبذبعدذانذنـتفىذمنذ
;(pinMode)11,OUTPUT
كل ذامر ذجيب ذان ذنضع ذسالمه ذالػاصؾهذ
;(pinMode)12,OUTPUT
ادلـؼورهذ);( ذوذاذاذندقتفاذفىذاىذامرذدوفذ
;(pinMode)13,OUTPUT
تظفرذلكذردالهذخطأذسـدماذتؼومذبعؿل ذتأكقدذ
;(pinMode)2,INPUT
verifyذلؾربنامج
}
اهىرذهَ اهثاهثَ :صكمػذهماٌرحؾفمغؼقممبؽؿابفماظاغاعجمغػلفمومعامغرؼدمعاـماٌؿقؽؿافمانم تؼعؾفمباظظؾطمومصكمحاظافماظاغااعجماظلاابؼمدامؿؼقمماٌؿقؽؿافمبؿ اغقؾماظؾقادمٌادهمباغقافمباؿم تطػؽفمٌدهمباغقفمومػؽذامعرارمومتؽرار.
) (void loop قمذبتشغقلذLED
{
ثمذانتظرذ1000ذمؾىذثانقه
;(digitalWrite)LED, HIGH ;(delay)1000
قمذبأرػاءذذLED
;(digitalWrite)LED, LOW ;(delay)1000
ثمذانتظرذ1000ذمؾىذثانقه
}
51
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ّتيمطؿابفمبرغااعجماٌؿقؽؿافمداخاؾماظداظافم}void loop ( ) {your programم,مصاكم ػااذاماٌـااالمادااؿكدعـاماالعاار;)HIGH
digitalWrite(LED,ممومػااقماٌلااىللمس اـمم
تطؾقؼمجفدمطفربكماعام HIGH = 5 Voltماوم LOW = 0محقثمغؼقممبؽؿابفماداؿماٌكارجم اوالمبؿماىفدماظذىمغرؼدمتطؾقؼفمومسـدعامغرؼدمت غقؾماظؾقدمغلؿكدمم HIGHمظؿطؾقاؼمجفادم 5مصقظتمومسـدمارػائفمغلؿكدمLOWمظؿطؾقؼمجفدم=مصػر .م م ماعامباظـلؾفمظألعرمم;)delay (1000ممصفقمؼلؿكدممالخؾارماٌؿقؽؿفمطؿمعـماظقضتمم‧بم انمتـؿظرممضؾؾمتـػقذماالعرماظؿامومبفذاماالعرمميؽــامانمغاؿقؽؿمصاكمطاؿمعاـماظقضاتم‧ابم انمؼعؿؾماومؼطػئماظؾقدم .م م ومطؿامذاػدغامصكماٌـالماظلابؼ:م م
;(digitalWrite)LED, HIGH ;(delay)1000 ومتؾاؽمماالواعارممتعـاكمانماٌؿقؽؿافمدامؿطؾؼمجفادمؼلااوىم5مصقظاتمHIGHمسؾاكماٌكاارجم LEDمبؿمتـؿظرم1777معؾكمباغكم ومغالحظماغفمسـادمطؿابافماظقضاتمصاكمباراعجماٌمؿقؽؿااتم اظدضقؼفمؼؿؿمادؿكدامماٌؾكمباغقفمmillisecondموماظؿاكمتعـاكمجاز معاـماظاػمعاـمماظـاغقافموم ميؽــامادؿكدامماظـاغقمNano-secondموماٌاؼؽرومباغقف Micro-Secondم م بعدمذظؽممتؼقمماٌؿقؽؿفمبؿطؾقؼمجفدم Lowمؼلااوىمصاػرمصقظاتموماظاذىمؼعـاكمانماظؾقادم دقفمؼـطػئمبؿمؼظؾمعـطػئمم1777معؾكمباغقف اخرىم=مواحدمباغقفم.
52
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
واذا عَ أه سطس ف ٜالربٌاوج؟؟ // Example 1 Blinking led
ّذتادم اٌا•نيمسـدمطؿابافماىمبرغااعجمعفؿاامطاغاتماظؾغافماظا•قافمامغظااممظؾؿعؾقؼااتم commentsموماظؿعؾقؼاتمػكمؾمتلاسدماٌاعجمسؾكمصفؿمومتـظقؿماظؽاقدماظا•اكمومالم هؿلبمصكماجزا ماظاغاعجم,مععـكماخارمداقؼقمم Arduino IDEمبؿفاػاؾماظؿعؾقؼااتمساـم غؼؾماظاغاعجماماظصقرهماظؿـػقذهمومغؼؾفمومت غقؾفمسؾكماٌؿقؽؿفماظدضقؼفم .م م ميؽـاؽمطؿابافماظؿعؾقؼااتمصاكماردوؼـاقمصاكماىمعؽاانممت اا ممومميؽاـماسؿؾاارممماىمؾافماغفاام تعؾقؼمانمضؿتمباضاصفم ""//ممضؾؾمبداؼفماظلطر.....عـال :م
// Hello I'm Abdallah // I'm Using comments // Arduino is Sooooo funny مػـاكمادؾقبماخرمظؽؿابفماظؿعؾقؼاتماظطقؼؾفمومػكمبادؿكدامماظ ررفماٌائؾافموماظـفؿافمصاكم اولماظؽالممبؿمطؿابفمنؿفمومذررفمعائؾفمصكمغفاؼفماظؽالمم.....عـال :م
/* Hello I'm Abdallah and I Love Arduino, and you are going to learn The best microcontroller system in the world )^_^( */ ىهذِظَ :مصكماظطرؼؼفماالومظؽؿابفماظؿعؾقؼاتم‧بمانمتؽؿبم //ممضؾؾمطؾمداطرمترؼادمانم ؼؿفاػؾفمباظاغاعجمباسؿؾارهمتعؾقؼ,مظؽـمصكماظطرؼؼفماظـاغقافمغؽؿابم */مصاكمبداؼافماظاـصمباؿم غؽؿبمعامغرؼدمعـمطالممومغصقصمومصكماظـفاؼفم…اؿؿمبامام,*/مظاذظؽمتلاؿكدمماظطرؼؼافماظـاغقافم صكماظؿعؾقؼاتماظطقؼؾافموماظطرؼؼافماالومصاكماظؿمعؾقؼااتماظؼصا هماظؿاكمشاظؾاامعاامتؽامقنمداطرم واحد .م
53
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهثاًٖ :تطِّر ههىثاو اهسابل هّغىو كيط عًيد ضؾط ىفتاز (سِّتض) ىن ًِؼPush button مػذاماٌـالم داـؼقممبؿطاقؼرماظػؽارهماظلاابؼفمومداـفعؾماظؾقادمؼعؿاؾمصاكمحاظافماذامضاغطم اٌلؿكدممسؾاكمزرمعاـمغاق مpush buttonمومػاقماذافرماغاقا ماظلقؼؿ ااتماٌلاؿكدعةممم األجفزةماإلظؽرتوغقة .م
54
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو (:)2
بقردهماردوؼـقم Arduino uno
Breadboard Push button Led 10 mm
عؼاوعفم17مطقؾقماوم
عؼاوعف567ممماوم
بعضماظلؾقكمظؾؿقصقؾم
ضؿمبقضعماظلقؼؿشمسؾكمظقحفماظؿفاربمباؿموصاؾماحادىمررصقافمباٌادخؾم5vمباداؿكدامم دؾؽمسؾكمبقردهماردوؼـقموماظطرفماالخرمباٌؼاوعفماظع رهمطقؾقماوممومعاـمغػاسماظـؼطافمضاؿم بؿقصقؾمدؾؽمظؾؿدخؾمرضؿ2ممسؾكماردًِِّمبقردمومبعادمذظاؽمضاؿمبؿقصاقؾمرارفماٌؼاوعافم اظـاغكمباٌدخؾماالرضكم .م
وا اهلدف وَ ِرٓ اخلطٕٓ ؟؟ تعؿؾمتؾؽماظدائرهمسؾكمتقص مدخؾممرضؿلمDigital inputم,مسـادمضاغطماظازرمتـطؾاؼمغؾاافم بؼقؿفم5مصقظتموماظؿكمتعؿاػااماٌؿقؽؿافماظدضقؼافماذاارهمعاـمغاق م HIGHمومسـادمتاركماظازرم ؼـػصؾماظؿقارماظؽفربكمومؼصؾحماظدخؾمؼلاوىمصػرمصقظتمومماظذىمتعؿاهماٌؿقؽؿافمLOWم ومدااقفمغلااؿغؾمػااذاماالعاارمظؿعاادؼؾماٌـااالماالولمظؽااكمؼعؿااؾمصؼااطمسـاادعامؼؽااقنماظاادخؾم
HIGHم
اهسطِٔ اهثإًّ:
طؿابفماألطقادماظا•قةماظؿاظقةمم Arduino IDEم
غصققف:مضؿمبؽؿابافماألواعارمماظا•قافمبـػلاؽموالمتسخاذمػامغلاخمومظصاؼمعاـماظؽؿاابمومذظاؽم حيتمتدربمغػلؽمسؾكمطؿابفماظؽقد م
55
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
// Example_2_Blinking_with_Switch
تغرّف:ٖاهىرذهَ االِه اهىتؾّرات ِ اهثِابت
const int ledPin = 13; const int buttonPin = 2; int val; void setup ( ) { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT);
ِ تغرّف:ًَّاهىرذهَ اهثا تذدّد اهىداسو ِ اهىسارد
} void loop() { val = digitalRead(buttonPin); if (val == HIGH) { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); } else {digitalWrite(ledPin, LOW); } } 56
َ متاب:َاهىرذهَ اهثاهث َّّسٙاِاىر اهبرًاىخ اهر
ازدٍٖٕٔ ببشاطٛ
اهسطِٔ
Simplify Arduino
اهثاهثٕ:مضؿمبعؿؾمتسطقدمظؾؽقدماظا•كمسـمررؼؼماظاغطمسؾكمسالعفمتسطقدم
Verifyمومبعادمانمتؿسطاادمعااـمانماظاغاااعجمصاققحموالم ؿااقىمسؾااكماخطااا مبر•قافمموممتم هقؼؾفماماظصقرهماظؿـػقذؼفمبـفاح,مضؿمبعدمذظؽمبرصعافمظؾؿؿقؽؿافماظدضقؼافمساـمررؼاؼمزرم رصعم Uploadم
صرز اهمِد اهبرىحٖ ...... اهىرذهييٕ
االِهييٖ:ممضؿـااامبؿعرؼااػمعااؿغ ما
اافمledPinموماظااذىمدا عزماممPin 13موم
طذظؽمضؿـاامبؿعرؼاػماٌاؿغ ماٌاؿغ مbuttonPinموماظاذىمدا عزماماظلاقؼؿشماٌقجاقدم سؾااكماٌاادخؾماظرضؿااكماظلااابعمومضؿـااام
;int ledPin = 13 ;int buttunPin = 2 ;int val = 0
بؿعرؼاااػماٌاااؿغ م valوماظاااذىمداااقفم غلااؿكدعفمالحؼااامظؿكاازؼـمحاظاافماظاادخؾم سؾكماٌدخؾماظرضؿكماظـاغكممpin 2
اهىرذهٕ
اهثإًّ:مصكمػذهماٌرحؾةمجعؾـاماٌؿقؽؿةمتعاعاؾممpin 13موماظايتممؼرعازمهلاام بادااااؿمledPinمسؾااااكمأغفااااام․اااارجموم
()void setup { ;)pinMode(ledPin, OUTPUT ;)pinMode(inPin, INPUT }
57
دـلؿكدعفمظؿ غقؾماظؾقدماٌقصاؾمباف,م باااؿمضؿـاااام„عاااؾماٌؿقؽؿاااةمتعاعاااؾم اٌكارجمpin 2م سؾاكماغافمعادخؾم رضؿاااكموزقػؿااافماداااؿؼؾالماالذااااراتم اظرضؿقف م
م HIGH or LOWم
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىرذهَ اهثاهثَ: ;)val = digitalRead(buttunPin
مػذاماألعرمدؿؼقمماٌؿقؽؿةمبؼقاسمضقؿفماىفدمسؾكماٌادخؾممم pin 2مومتلافؾماظؼقؿاةمم ماٌؿغ م valم ومؼؿؿمذظؽمبادؿكدامماألعرم) ( digitalReadوماذامطانماٌلؿكدممضغطمسؾاكماظلاقؼؿشم صسنماظؼقؿفمدؿؽقنم5مصقظتم=مHIGHمومانمملمؼاغطمدؿؽقنماظؼقؿفمصػرمصقظتم=مLOW
)if (val == HIGH { ;)digitalWrite(ledPin, HIGH ;)delay(1000 ;)digitalWrite(ledPin, LOW ;)delay(1000 } } ;)else {digitalWrite(ledPin, LOW
صكمػذاماىز مادؿكدعـامواحدمعـماذفرماالواعرمصكمظغاتماظا•فمومػقماالعر م
(ممif….elseمم=ماذا ..معاااادونمذظا اؽم ),مؼلاااؿكدممذظاااؽماالعااارمظعؿاااؾمعؼارغااااتمومجعاااؾم اٌؿقؽؿفمتػعؾمذئمعاماذامحادثمذائماخارمم‣اددمومصاكمػاذاماٌـاالم اداؿكدعـاماالعارمifم طاظؿام:
دؿؼقسماٌؿقؽؿفمضقؿفماىفدمسؾكماٌدخؾماظلابعموم‡زنماظؼؿقفمصكماٌؿغ م valم
اذامطاغتماظؼؿقفمتلاوىم HIGHموماظؿكمتعـكم5مصقظتمدؿؼقمماٌؿقؽؿفمبؿ غقؾماظؾقدم ٌدهمباغقفمومارػائفمٌدهمباغقفمومػؽذامبادؿؿرار .م
عامملمتؽـماظؼقؿفمتلاوىم HIGHموماىفدماٌطؾؼمسؾكماٌدخؾمؼلاوىمصػرم داؿؼقمم اٌؿقؽؿفمبؿطؾقاؼمجفادمؼلااوىمصاػرمسؾاكماظؾقادمومباذظؽمظاـمؼعؿاؾمماظؾقادمومداقظؾم
عـطػئ. 58
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهثاهج :تطِّر اهىثاو اهسابل ّغىو بي 2سِّتض ىن ًِؼ ِ Push Buttonاذد ىن احيو اهتصيؾّوِ ON اهثاًٖ ىن احو االؽالل OFF
59
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو(:)3 م Arduino uno Breadboard Led 5 mm سدد2معؼاوعفمضقؿفم17مطقؾقماوم م عؼاوعفمواحدهمضقؿفم567ماوم م سددم2مدقؼؿشم م ادالكمتقصقؾم غلكفمعطؾقسفمعـماظقرضفماٌلاسده صااكمػااذاماٌـااالمداااـدعجمعااامتعؾؿـاااهمصااكمطاااالم اٌـاااظنيماالولموماظـاااغكمم,مدـلااؿكدمم2مدااقؼؿشم عاـمغاق م push buttonمومداقؿقماظلاقؼؿشم االولمسؿؾقااافمت اااغقؾماظؾقااادمومداااقؿقماظلاااقؼؿشم االخرمسؿؾقفمارػائف .م اهسطييُِ األِهييٖ :مضااؿمبطابعاافمورضاافماٌلاااسدهموم ضصفامبؿمبؾؿفاامسؾاكماظااامbreadboardمباداؿكدامم4م عـماظااPin-Headersمبؿمضاؿمبؿقصاقؾماٌؽقاغااتم االظؽرتوغقفمسؾكماظقرضفماٌلاسدهممطؿامصكماظصقرهم م
60
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهسطُِ اهثاًَّ :عـمبقؽفماظؿطقؼرمArduino IDEممضؿمبعؿؾمعؾػمجدؼدمعـمذرؼطماالواعارم اظلرؼعفموماطؿبماالواعرماظا•قفماظؿاظقفمصكماىز ماٌكصصمظؽؿابفماالطاقادممومبعادماالغؿفاا م ارصعماظاغاعجماماٌؿقؽؿفماظدضقؼفمسؾكماظؾقردهمومجربماظااغطمسؾاكماظلاقؼؿشماالولموم اظـاغكمومذاػدمعاذامدققدثم
61
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
//Example_3_On_Off_with_2_Switchs_1
const int ledPin= 13; const int inputPin1 = 2; const int inputPin2 = 3; void setup ( ) { pinMode(ledPin, OUTPUT);
حتدودذادلداخلذ
pinMode(inputPin1, INPUT);
وذادلخارجذ لؾدائره
pinMode(inputPin2, INPUT); } void loop ( ) اوامرذالربنامجذ
{ if (digitalRead(inputPin1) == HIGH) {digitalWrite(ledPin, LOW); } else if (digitalRead(inputPin2) == HIGH) {digitalWrite(ledPin, HIGH); }
} 62
الرئقدقه
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
الم ْ ٌ ا اهىثاوممادؿكدعـامتعدؼؾمبلقطمسؾاكماألعارم ifمومػاقممأضااصفمماألعارم else ifباد ً عـم elseمصؼطمومػقمأعرمميؽــامعـمأضاصفماطـرمعـماحؿؿالمواحدممؾفمifم .م عـال :م }If (you like science) {you should read books }else if (you like sport) {you should play football }else if (you like art) { you should take art lessons }else { you should search for a hobby to do in your summer طؿامترىممػذاماٌـالموضعـام3ماحؿؿاالتموممومخقارمأخ مطؿام :م ا امطـتمهبماظعؾقممعهّن أنمتؼرأمبعضماظؽؿب م أىا ا امطـتمهبماظرؼاضةمعهّن أنمتؾعبمطرهماظؼدم م أىا ا امطـتمهبماظػـمعهّن أنمتؿعؾؿمدروسماظردؿ م ِ ا ا هيمؼؽـمظدؼؽمػقاؼةمعهّن أنمتؾقثمسـمػقاؼةمظؿ غؾمبفاموضتماإلجازةماظصقػقة م ومماظاغاعجماظلابؼمادؿكدعـاماحؿؿالمأنماٌلؿكدممدقفمؼاغطمسؾاكماظلاقؼؿشماألولم صؿؼااقمماٌؿقؽؿااةماظدضقؼااةمبؿ ااغقؾماظااداؼقدماظاااقئلموماالحؿؿااالماظـاااغلمػااقمأنمؼاااغطم اٌلؿكدمماظلقؼؿشم2مصؿؼقمماٌؿقؽؿةمبإرػا ماظداؼقدماظاقئلم...مومػؽذامم م
ٔ األُ وا زأٖك أُ ٌعده الربٌاوج قمٗن (^_^)
63
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
//Example_3_On_Off_with_2_Switchs_2 const int ledPin= 13; const int inputPin1 = 2; const int inputPin2 = 3; void setup ) ( { pinMode(ledPin, OUTPUT); pinMode(inputPin1, INPUT); pinMode(inputPin2, INPUT); } void loop ) ( { if (digitalRead(inputPin1) == HIGH) { digitalWrite(ledPin, HIGH); delay(400); digitalWrite(ledPin, LOW); delay(400); } else if (digitalRead(inputPin2) == HIGH( { digitalWrite(ledPin, HIGH); delay(100); digitalWrite(ledPin, LOW); delay(100); } } 64
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىراحغَ سرّغٕ عهٖ ىا تغهىًاُ ٖ االىثهَ اهسابكَ )
اظداظااافماٌلاااىلظفمساااـمضاااؾطماساااداداتم اٌؿقؽؿفمومهدؼدماٌداخؾموماٌكارجم م
( void setup
{…………………} ( void loop ) {…………………}
ؼـؿمطؿابفماظاغااعجماظرئقلاكمداخاؾمػاذهم اظداظفمومؼؼاقمماظاغااعجمباساادهمغػلافمعارهم تؾااااقماالخاااارىمطؾؿااااامامتمتـػقااااذمقااااعم اًطقاتم م
;int name = value
اعرمؼلؿكدممظؿعرؼػمعؿغ مبؼقؿفمععقـفم م
;cons int name = value
اعرمؼلؿكدممظؿعرؼػمبابتمش مضابؾمظؾؿغ ؼ ؾفماألعرماظلابؼمععمأضاصفم constم م االعرماٌلىللمسـمهدؼدموزقػفمطؾم pinم ومضاااؾطفامظؾعؿاااؾممطؿااادخؾماممطؿكااارجم INPUT or OUTPUT
;example: const int led = 13
;)pinMode (pin number, State ;(example1: pinMode)11,INPUT ;(example2: pinMode)led,OUTPUT
digitalWrite (pin number, ;)State
االعاارماٌلااىللمسااـماخااراجمجفاادمسؾااكم احدىماظا pinمبصقرهمرضؿقافم (HIGH )1 (or LOW)0
;)example: digitalWrite(13,HIGH
;)digitalRead (pin number
االعرماٌلىللمسـممضارا همماىفادمماٌطؾاؼمم سؾكماحدىماظاماpinممبصاقرهممرضؿقافممحقاثمم ؼؼااقممبؼقاااسماىفاادم(اذامطااانم5مصقظااتم
;)example: digitalRead(4
حؿكم3.8مصقظاتممؼعؿااممHIGHموماذامطاانمم
65
م
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
عاااامبااانيمصاااػرمحؿاااكم1.8ممصقظاااتمؼعؿاااام LOWم) م
;)delay (time
تسخ مبازعـم‣اددم:م ؼلاؿعؿؾمػاذاماالعارم صااكمهدؼاادماٌاادهماظزعـقاافمظالعاارماظااذىم
;)example1: delay(100 ;) example2: delay(1000م
ؼلؾؼفمصكماظؿـػقذ م (اذامحاادثم...اوماذامحاادث..ماصعااؾم).....م ؾفمذررقفمتلؿكدممظؿـػقذماعرمعامسـدعام ؼؿقؼااؼمذاارطمععاانيممومميؽااـمادااؿكدمم
)if (the condition }{…..what to do
اظ روطماظؿاظقف :م م
)else if (another condition }{…what to do
==ممؼلاوي م =!مممالمؼلاوي م =>مممأضؾمعـمأومؼلاوي م
)else (last condition }{….what to do
=<ممممأطامعـمأومؼلاوي م >ممممممأضؾمعـ م <ممممممأطامعـ م
66
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اصٍر أًِاؼ اهىتؾّرات اهتْ ّىمن استسداىٍا ْ اردًِِّ ماهتاهْ: اظؼؿقف م
عـال م
أيمسااددمصااققحمعااـم داااظبم
;int led = 13
اظـق
م
Integersم
32768محؿكمعقجبم 32768م ؼلاااؿكدممعااااعماألساااادادماظاااايتم
; float sensor = 12.5م
Floatم
هؿقىمطلقرم م حروفمغصقفمأومطؾؿات م رضااؿمرقؼااؾمجاادامؼاارتاوحمباانيم
;char name= hello
character
;long variable = 99999999
long
داظبمم 2414744834648محؿكم عقجبمغػسماظرضؿم م رضؿمصاغ مؼارتاوحمبانيم(م0م)مإم
;byte number= 44
byte
255م
هىزّد ىن اهىغهِىات عن أًِاؼ اهىتؾّرات اهتْ ّىمن استسداىٍا داسو براىخ اردًِِّ قي بزّاُ اهطفذٕ اهتاهّٕ http://www.arduino.cc/en/Reference/VariableDeclaration
67
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مالحظات شخصًه : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماظـاظثم :م
68
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ذوذالعَؼلِذوَشؼَىذيفذالـّعقمِذبعَ ْؼؾِهِ وَأخوذاجلَفاَلةِذيفذالشّؼا َوةِذوَـعَمُ
أبو الطيب املتييب
69
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهرابػ اظدخؾموماًرجماظؿؿابؾكمومادؿكدامماٌلؿ عرات م Analog Inputs/Outputs and Sensors
70
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ّغرفماظدخؾماوماًرجماظؿؿابؾكمبسغافمماىمصارقمجفادممتؾادأمضقؿؿافممعاـمصاػرمومضاباؾممظؾامؿغ م دائؿاممومظقسمظافمم حادودمضصاقىمععقـافم,مسؾاكمسؽاسماظادخؾماظرضؿاكموماظاذىماعاامؼؽاقنم2م صقظتم(1) HIGHموماعامؼؽقنمصػرمصقظت (0) LOWم م
اصارُ تىاثهَّ
اصارُ رقىَّ
م م
وا ِ ٜأِىْٗ االطازات التىاثمْٗ Analog Signals؟؟
ؼعاماظدخؾماظؿااعـؾكمساـماالذااراتماٌاؿغ همعـاؾمصارقماىفادمماظـااتجمعاـم
علؿ عرم(حلاس(sensorم ععنيمغؿقفافماظاؿغ مصاكمساعاؾمععاني,مسؾاكمداؾقؾم اٌـاااالم:ممحلااااسمظؾااااق ماومعاااامؼعااارفمبسداااؿماٌؼاوعااافماظااااقئقفمPhoto- Resistorمومػااكمعؼاوعاافمطفربقاافمتااؿغ مضقؿؿفااامبااؿغ معؼاادارماظاااق ماظااذىم تؿعاارضمظاافموماذامضؿـااامبؿقصااقؾمػااذاماٌؼاوعاافمسؾااكمعصاادرمبابااتمظؾػقظااتموم ادؿكداعـاماظاAVO-meterمظؼقاسمصرقماىفدماٌطؾؼمسؾقفام..مداـفدمانم صرقماىفدمدقؿغ مدائؿامبؿغ معؼدارماظاق ماظلاضطمسؾقفام م م م
71
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ِ ّىمًًا ان غلؿغاللمتؾؽماظظاػرهمصكمضقاسماىمساعؾمبقؽكمععانيمباداؿكداممعلؿ اعراتم عـادؾفموماظؿكمتؼقسمذظؽماظعاعؾماظؾقؽاكمومهقظافماماذاارهمطفربقافمشابؾقافمضابؾافمظؾؼقااسم عـاااؾ:ماياااراره,ماظااااق ,ماظررقباااف,مدااارسفماظرؼااااح,ماظؼاااقه,ماظعااازم,ماظؿلاااار ,مالاااالم اٌغـارقلك...ماخل م م هؿااقىمذاار فمAtmega 328-pماٌلااؿكدعفمصااكمبااقردهم Arduino Unoمسؾكم3معاداخؾمتلاؿطقعمضقااسمعؼادارممصارقمماىفادماظؽفربالممماٌاؿغ م (دخؾمشابؾل)مومػلمعرضؿفمعـمA0محؿاكمA5مومميؽـفاامضقااسمصارقمجفادم بدضفمتصؾمام1.5معؾؾكمصقظتمومػذامؼعـكمتؼرؼؾاملفماجزا معـماالظاػم جز معـمواحدمصقظتمومػكمدضفمساظقفمتؽػكمظؾؽـ معـماظؿطؾقؼاتماظدضقؼفم م م م ٖ ٌ ا اهفطومدـؿعرفمسؾكمبعضماذافرمماٌلؿ اعراتممعـاؾماٌؼاوعافماظااقئقفمومعلؿ اعرمم ايرارهمعـؾمTMP36مأومLM35مم ػقمسؾاارةمساـمتراغزداؿقرمخااصمؼؿاسبرمباايرارمومؼعطاكم تغ مصكماىفدماظؽفرباكم(اظػقظات)معؿـادابمعاعماظاؿغ ممدرجاةم ايرارةم..محقثمؼعطالم60معؾؾاكمصقظاتم(س ارهمأجازا ممعاـماظاػم صقظت)مظؽاؾمم0.1مدرجاةمعؽقؼاةم....ممطؿاامداـؿعرفمسؾاكممماظادخؾموم اًرجماظؿؿابكمومطقػقفمادؿكدامماٌلؿ عراتمععماردوؼـقمم
72
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
كٗف تٕلد احلشاسات اإلطاز ٚالتىاثمٗ ٛ؟؟ م
ظـسخذمحلاسمايرارةمطؿـال:محلاسمايرارةمعـؾمTMP36, TMP35, LM35معامػاقم االمتراغزدؿقرمذامحلادقفمساظقةمظؾؿغ ممايرارةمومعـماٌعروفمأنماظرتاغزداؿقرمؼصاـعمعاـم عادهماظلقؾؽقنماظيتمتؿغ معدىمضابؾقؿفامظؿقصقؾماظؽفربا مبؿغ مايارارةمحقاثمؼازدادماظؿقاارم اظؽفربلماٌارمصقفامبزؼادهمايرارةمومميؽــامإجرا موربافمبلاقطةمظـؿعارفماطـارممسؾاكمررمؼؼافم سؿؾمذظؽمايلاس .م م ؿقىمايلاسمسؾكمبالثمارجؾموػكمطاظؿاظل :م -6عـػذماظدخؾمومؼؿؿمتقصقؾمجفدمبابتمبنيم5.5مصقظتمحؿكم2.2مصقظت -5عـػذماًرجمومػقماٌـػذماظذىم‥صؾمعـفمسؾكمضرا ةمايلاس -3عـػذماألرضلمومؼؿؿمتقصقؾفمبسىمغؼطفمارضكمGND
73
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
دـقؿاجمهلذهماظؿفربةماٌؽقغاتماظؿاظقة :م -6سددم5مبطارؼفمعؼاسمAAAمبؼقؿفم6.2مصقظتم -5سددم6محاعؾمبطارؼاتمظؿقصقؾم5مبطارؼف -3جفااازمضقاااسمعؿعااددماالدااؿكداعاتم AVO Meter
-1حلااااسمحااارارىمعاااـمأيماألغاااقا ماظؿاظقاااةم:م TMP 35, TMP36, LM 35 احارم5مبطارؼافممبؼقااسمAAAمبؼقؿافم 1.5صقظاتمومضاعفؿمم سؾؾفمحاعؾماظؾطارؼاتمظؿقصؾمسؾكمضقؿفمطؾقفمتلاوىم3مصقظتم بؿموصؾماظطرفماٌقجبمياعؾماظؾطارؼةم(دؾؽمظقغافماار)م باظطرفماألولمعـمغاحقفماظقلارمظؾقلاسمايرارىم(ررفماظدخؾماظـابت) م م بؿمضؿمبؿقصاقؾماظطارفماألرضالمياعاؾماظؾطارؼاةم(داؾؽمظقغافماداقد)مبااظطرفماألخا م ظؾقلاسمايرارىم,مبعدمذظؽمضؿمبااؾطماظاام AVOمسؾاكموضاعمضقااسماظػقظاتموموصاؾم اظطرفماألرمباٌكرجمظؾقلاسماظؽفربلموماظطرفماألدقدمظؾطرفماألرضلمظؾقلاسم اظؽفربلم م
74
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
الحظمضرا ةمصرقماىفدماظظاػرمسؾكماظاام AVO meterداؿفدمأغفاام 0.76مصقظاتمتؼرؼؾاام األن قيمبقضعمؼدكمسؾكمايلاسموماضغطمسؾقفمضؾقالم(تعؿؾمتؾؽمايرطةمسؾكمرصاعمدرجافم حرارهمايلاسمومعـماٌعؾقممأنمدرجفمحرارهماىلؿمتلاوىم34مدرجفمعؽقؼةمتؼرؼؾامومػلم اسؾكمعـمدرجفمحرارهمجقماظغرصة ) مبااااااؿمالحااااااظماظااااااؿغ ممضاااااارا ةمماظػقظااااااتماظـاااااااتجمطؿااااااامماظصااااااقرةماظؿاظقااااااةم:
سًحد أن ضؿقفماظػقظتمضدمازدادتمبلؾبمحرارهماظقدم م تعؿؾمقعمايلاداتمبسغقاسفاماٌكؿؾػةمبـػسماٌؾدأمحقثمؼىلدىماظؿغ ممساعاؾمبقؽالم ععنيمإمتغ ماٌؼاوعةماظؽفربقةماظداخؾقاةمياامؼاىلدىمإمماظاؿغ ممصارقماىفادماًاارجم عااـمايلاااسميااامؼقظاادمأذااارهمشابؾقاافمعااؿغ
همميؽااـمضقاداافام ,
ادؿكداممايلاداتمععماردوؼـق
75
وماألنمظـؾاادأمعااعماعـؾاافم
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهرابػ :استسداي ىكاِىَ ىتؾّيرُ ههيتذمي يٖ سرعَ اضا َٙداِّد ضِPotentiometer ٖٙ مػذاماٌـاالمدـلاؿكدممعؼاوعافمعاؿغ همظؾقصاقلمسؾاكمصارقمجفادمميؽاـمتغا هم(دخاؾم شابؾك )analog inputمومدـفعؾماظداؼقدماظاقئكمؼاقئمومؼـطػئمبلرسفمتعؿؿدمسؾكمضقؿافمم اظدخؾماظؿؿابؾل م
76
ازدٍٖٕٔ ببشاطٛ ىمًِات اهىثاو (:)1
Simplify Arduino
م
بقردهماردوؼـقم Arduino Unoم ظقحفموارب Breadboardم م داؼقدمضقئكمled 5mm عؼاوعفم567ماومم م عؼاوعفمعؿغ هم3ماررافم17مطقؾقماوم م أدالكمتقصقؾ م م م
ورضفماٌلاسدةماٌطؾقسة قييييمبطؾاسااافماظقرضااافماٌلااااسدهمباااؿموصاااؾم اٌؽقغاتماالظؽرتوغقفمسؾكمظقحفماظؿفاربم م
ىهذِظَ :المؼ رتطمانمتلؿكدممعؼاوعافمعاؿغ هم صااغ همايفااؿمعـااؾماظؿااكمصااكماظصااقرهمومظااؽم ايرؼاافمصااكمادااؿكدامماىمعؼاوعاافمعااؿغ همهلااام3م اراارافمبااسىمحفااؿموماىمضقؿاافمعـااؾم177مطقؾااقم اومماوم277مطقؾااقماوم ,اّضييامق اعماٌؼاوعاااتم اٌؿغ همذاتم3ماررافمؼؽاقنماظطارفماالوداطم ػقماظطرفماٌؿغ مومماظاذىمدـقصاؾفمباٌادخؾم اظؿؿاااابؾكمA0مسؾاااكمباااقردهماردوؼـاااقمطؿاااامصاااكم اظصقرهماظؿاظقف م
77
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىكاِىَ ىتؾّرُ
بغد االًتٍا٘معـمتقصقؾماٌؽقغاتماالظؽرتوغقفمسؾاكمظقحافماظؿفااربمومباقردهماردوؼـاقمضاؿم بعؿؾمعؾػمجدؼدموماطؿبماالواعرماظا•قفماظؿاظقفمبؿمضؿمبرصعماظاغاعجماظلممبقردهماردوؼـق م م
78
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
//Example_4_Variable_Resistor_sensor ;const int sensorPin = A0 ;const int ledPin = 13 ;int sensorValue ىتؾّر هتسزّن قّىَ اهحٍد اهتىاثهٖ
( ) void setup { ;)pinMode(ledPin, OUTPUT } ( ) void loop { ;)sensorValue = analogRead(sensorPin ;)digitalWrite(ledPin, HIGH ;)delay(sensorValue ;)digitalWrite(ledPin, LOW ;)delay(sensorValue }
صرز اهمِد اهبرىحٖ ٖ ٌ ا اهىثاومدـؿعرفمسؾكمواحدهمعـماػؿماظدوالماظا•قفماٌقجقدهمصكمظغفماردوؼـق م م)analogRead(pin numberممتؼقممػذهماظداظفمبؼارأهمصارقماىفادمبصاقرهمشابؾقافموم تلؿطقعماٌؿقؽؿفماظدضقؼفم انمتؼقسمصرقمجفدمعـم4.8معؾؾكمصقظتمحؿكم5مصقظتمتؼرؼؾاموم تؼقممبؿققؼؾماالذاراهماظؿؿابؾقفمامضقؿفمرضؿقفمعـمصػرمام1024مومتلاؿكمػاذهماظعؿؾقافم بادؿمهقؼؾماالذارهمعـمشابؾقفمامرضؿقفم Analog to digital converting
79
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىثالماذامطانماىفدماظداخؾمامA0مؼلاوىماظؼقؿماظؿاظقف :م
4.8ىههٖ ِهت = 1رقىٖ رقىٖ 48ىههٖ ِهت = 10 480ىههٖ ِهت = 100رقىٖ ِاذد ِهت = 208.33رقىٖ رقىٖ ِ 2هت = 416.66 رقىٖ ِ 5هت = 1024 ومؼلؿكدمماالعرماظؿامصكم‡زؼـمضقؿفماظؼرأهماظـاوفمداخؾماٌؿغ م sensorVlaueم
;(sensorValue = analogRead(sensorPin بغد هنمتؼقمماٌؿقؽؿفمبؿ غقؾماظداؼقدماظاقئكمصرتهمزعـقافمتلااوىمضقؿافمػاذاماٌاؿغ موم تؼقممبسرػائفمبـػسماظزعـمعـؾماٌـالماالولم blinking ledموظؽـماظزعـمصكمػذاماٌـاالم عؿغ متؾعامظؼرأهماىفدماظؿؿابؾكمسؾكماٌدخؾم .A0م مػذاماٌـالماداؿكدعـام عؼاوعافمعاؿغ همميؽــاامانمغغا مضقؿؿفاامساـمررؼاػمظاػم(تادوؼرم)م سؿقدماظدورانماًاصمبفامومبذظؽمم‥ صاؾمسؾاكماذاارهمشابؾقافم(تلاؿكمتؾاؽماظعؿؾقافمتغا م عؿقؽؿمبفمعـماالغلان)م,مصكماٌـالماظؼادممداـؿعؾؿمغاق مجدؼادمعاـماٌؼاوعااتماٌاؿغ هموم ػكماٌؼاوعفماظاقئقفماظؿكمتؿغ مضقؿؿفامبؿغ مطـاصفماظاق ماظلااضطمسؾقفاامومؼلاؿكمػاذامتغا م بقؽكممومدقفمغلؿغؾمزاػرهماظؿغ ممصكماٌؼاوعفمبؿغ ماظاق مممظـقاقلماٌؼاوعافمامعلؿ اعرم ظؾاق مlight sensorم م
80
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهسياىش :اهىكاِىيَ اهضيَِّ (ذسياش اهضيِ٘ اهتىاثهٖ) Photo resistor as light sensor تطًػماٌؼاوعاتماظاقئقةمسادهمعـمغاق مخااصمعاـماظلاقؾؽقنماٌٌمعاا م,مومؼعؿااماظلاقؾؽقنم اٌعا معادهمذؾففمعقصؾفمظؾؽفربا مومتؿسبرمعدىمتقصقؾقؿفمظؾؽفربا مباظااق مظاذظؽمؼلاؿكدمم مايلاداتماظاقئقةموماًالؼاماظ ؿلقةم.م م
81
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو (:)5 بقردهماردوؼـقم Arduino Unoم ظقحفمواربمBreadboardمم م داؼقدمضقئكم led 5mmم عؼاوعفم560ماومم م عؼاوعفمضقئقف م ادالكمتقصقؾ م ورضفماٌلاسدهماٌطؾقسف تؿقصرماٌؼاوعااتماظااقئقةممماحفاامم․ؿؾػافمتؾعاام ٌؼاادارمحلادااقؿفامظؾاااق مومميؽااـمادااؿكدامماىم حفاااااااااااااااااااااااااااااااااااااااؿمعؿاااااااااااااااااااااااااااااااااااااااقصرمم
82
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
م م
83
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
//Example_5_Light_Sensor_led ;const int lightPin = A0 ;const int ledPin = 9 ;int lightLevel ) ( void setup { ;)pinMode(ledPin, OUTPUT } ) ( void loop { ;)lightLevel = analogRead(lightPin ;)lightLevel = map(lightLevel, 0, 900, 0, 255 ;)lightLevel = constrain(lightLevel, 0, 255 ;)analogWrite(ledPin, lightLevel } قي بتًفّ اهبرًاىخمومرصعفمسؾكمبقردهماٌؿقؽؿفماظدضقؼفمبؿمذاػدمعاذامدققدثمظؾداؼقدم اظاقئكمسـدمتعرؼضماٌؼاوعفماظاقئقفمظؾاق ,مبؿمحاولمانمتؼؾؾمعؼدارماظاق ماظلاضطمسؾكم اٌؼاوعفماظاقئقفمسـمررؼؼمتغطقؿفامبقدكمومذاػدمعاذامدققدثماماظداؼقدماظاقئك .م م
84
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
م
قّىَ اهسرد
رقي اهىسرد
األنمداـؿعرفمم;)analogWrite (pin number, valueمومػاكماظداظافم اٌلاىلظفمساـمتقظقادمخارجمشاابؾكمanalog Outputممومميؽاـمتطؾقؼفااام سؾكماٌكارجماظؿكمتدسؿمخاصقفماظؿعادؼؾماظرضؿالماٌعؿؿادمسؾاكمسارضم اظـؾاااة()Pulse-Width modulationمومػااكماٌكااارجماظؿااكمؼؽؿاابم „اغؾفامسالعفم(~)م.مومػكم6م․ارجمطاظؿاظل:م 15,515953,533م
وا ِ٘ خاصْٗ التعدٖن السقى PWM ٜ؟؟
خاصقفمشؽـؽمعـماغؿااجمصارقمجفادمسؾاكمػقؽافمعقجافمضابؾافمظؾاؿغ ممساـم
ررؼااؼماذااارهمرضؿقااف,ممومبااذظؽمتلااؿطقعمأنمهااقلماألواعاارماظرضؿقااةمإم عقجفمشابؾقفمومميؽـمادؿغاللمتؾؽماًاصقةممتقظقدمجفدمعؿغ مضقؿؿافم بنيمصػرمصقظتمحؿاكم2مصقظاتمساـمررؼاؼماداؿكداممضاقؿمرضؿقافمعاـم 0م حؿكم 255معـال :م
م 255 = 5 voltم م 128 = 2.5 voltم م 0 =0 voltم
كٗف ٌشتفٗد وَ ِرٓ اخلاصْٗ؟؟
اظؽـ معـماٌؽقغاتماالظؽرتوغقفموماظؽفرؼؾفمتؿػاسؾمععماظؼقؿماٌكؿؾػفمعـمصرقماىفدمبصقرم
․ؿؾػفمعـؾماظداؼقدماظاقئك,معـالمسـدعامتطؾؼم3مصقظتممسؾكماظاداؼقدماظااقئكمداؿفدمانم اضائؿفمضعقػفموماذامرصعتماىفدمام1مصقظتمدؿفدماالضائفمضدمازدادتموماذامومصؾتمام 2مصقظاتمداؿفدماالضاائفموصاؾتماماسؾاكمععادلمداطق م..مومػـااكمعؽقغااتمطفربقافمعـااؾم
85
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
احملركماظؽفربكم(اٌقتقر)موماظذىمتزدادمدرسؿفمبزؼادهماظػقظتماظؽفربك .م ْ ٌي ا اهىثياوموصاؾـاماظاداؼقدماظااقئكمسؾاكماٌكارجمرضاؿم6م(اظاذىمؼادسؿم)PWMموم ادااؿكدعـامعؼاوعاافمضااقئقفمحؿااكمتلؿ ااعرمطؿقاافماظاااق ماٌقجااقدمحقهلاااممبااؿمتردااؾماالذااارهم اظؿؿابؾقفماماردوؼـقمصقؼقممبؿ غقؾماظؾقدمبـائامسؾكماالذارهماظؿؿابؾقفمعـماٌؼاوعفماظاقئقفم .م م ظـسخذمعـالمأخرمسؾكمخاصقفماظؿعدؼؾماظرضؿلم م
اهىثاو اهسادش:اهىؤثرات اهضِ َّٙبأستسداي PWM م
86
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مػااذاماٌـااالمدااـؼقممبؿقصااقؾمداؼااقدمضااقئلمازرقم(اخاارتتماظؾااقنماألزرقمالنمأضااا تفم ساظقةممعؼارغفمباألظقانماألخرىمومميؽـؽماخؿقارماظؾقنماألبقضمطذظؽ)مإماٌـػذمرضؿم66موم اظذىمؼدسؿمخاصقفم PWMم ومدـلاؿغؾمتؾاؽماًاصاقةممسؿاؾمبعاضماٌاىلبراتماظااقئقةم اىؿقؾة م م وماألنمغستلمإماظؽقدماظا•ل :م // Example_6_fading_led_light ;const int ledPin = 11 ;int i = 0 ) (void setup { ;)pinMode(ledPin, OUTPUT } )(void loop { )for (i = 0; i < 255; i++ { اهغداد األِو ;)analogWrite(ledPin, i ;)delay(10 } )for (i = 255; i > 0; i-- { اهغداد اهثاًْ ;)analogWrite(ledPin, i ;)delay(10 } } بعدماالغؿفا معـمطؿابفماظؽقدمومرصعافمإماٌؿقؽؿاةماظدضقؼاة..مالحاظمعااذام ادثمظؾاداؼقدم اظاقئلمومطقػمتزدادمإضا تفمبفدو مومتـكػضمبفدو م
87
م م
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
سٍتعمي األُ احد ٝاِي األٔاوس الربدلٗ ِ٘ ٔ ٛحمكات التكساز مػاذاماٌـاالمذااػدغامماعارمجدؼادمومػاقم )for (i =0; i < 10; i++مؼلاؿكدممػاذام األعاارممسؿااؾمعااامؼلااؿكمبايؾؼااةماٌؿؽااررةم loopموميؽااـمادااؿكداممايؾؼاااتمصااكمأدا م وزقػفمتؿؽررماطـرمعـمعارهمبعاددمععاروفممعاـماٌاراتمممأوماظالممعاامالمغفاؼاةممومميؽاـماداؿغاللم ايؾؼاااتممسؿااؾممعااامؼلااؿكمباظعااداداتم countersمومػاالمبااراعجمصااغ همتؼااقممباظعاادم اظؿزاؼدىمأوماظؿـاضصلمطؿامؼرؼدماٌاعجم,مومتؽقنمصقغفماألعرمطؿاظل :م
م ىا ا ّفغو ْ مو ىرُ
ٌو ّزداد اهغداد اي ّكو
ىتٖ ّتِقف
قّىَ اهبدإّ
م
}for (i=0; i<255; i++) {what to do here مماٌـالماظلابؼمادؿكدعـامسدادمؼؼقممبعادماألرضاامممابؿادائقاًممعاـممصاػرمحؿاكم 255مومم
طؾمعرهمؼاقػمواحدموم زنماظؼقؿةمماٌؿغ م(ممi
)مبؿمؼؼقممبؿطؾقؼمجفدمشابؾلمبؼقؿافم
iممسؾكماظداؼقدماظااقئلممباداؿكدامماألعارم)analogWrite(ledPin,iمومباذظؽم‥صاؾم سؾكمذظؽماظؿسب ماظاقئلماىؿقؾمحقاثمغارىماظاداؼقدماظااقئلممؼؾادأمماظاقعقضمبصاقرهم
خاصؿفمبؿمتزدادمذدهماإلضا ةمتدر‧قامبزؼادةمضقؿفماٌؿغ م(ممi م
88
)ممماظعدادماألول .م
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ْ اهغداد اهثاًْماداؿكدعـامغػاسماٌؾادأمظؽاـمبصاقرهمععؽقداةمم‟قاثمؼؾادأماظعادادمعاـم 255مومؼظااؾماظاارضؿمؼؿـاااضصمعؼاادارمواحاادمحؿااكمؼصااؾمإماظصااػرموممطااؾمعاارهمؼلاافؾم اظعدادمضقؿفماٌؿغ م(مiم)ممومؼطؾاؼمجفادمشاابؾلممسؾاكماظاداؼقدماظااقئلممبؼقؿافم(مiم)مومػاذاعام ‧عؾماظداؼقدماظاقئلمؼؾدأمصكماظقعقضمب دهمبؿمتـكػضمذدهمإضا تفمتدر‧قامبؿغ مضقؿفم (مiم) م
قد ٖتشاٟن البعض ملاذا استددوٍا األوس ;) delay(10داخن كن عداد ؟؟ األجابفمتؿؿـؾمصكماظؿقؽؿمصكمدرسفماردوؼـاقمابـاا متطؾقاؼماىفادماظؿؿاابؾكمومظؽاكمؼؿااحم اٌعـاااكمبصاااقرهمسؿؾقااافمجاااربمانمتغاا ماظااارضؿموموعؾااافمعااارهم=م50م‟قاااثمؼؽؿااابماألعااارم ;)delay(20مومعارهمأخارىموعؾافم20مومعارهمأخارىموعؾافم=م2مومذااػدمعااذامداققدثم م م
ظؾداؼقدماظاقئك.م
89
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مالحظات شخصًه : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماظرابعم :م
90
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
العؾـــمذمغرسذكـلذفخـــرذفافتخـــر واحذرذوػوتكذفخـرذذاكذادلغـرس واسؾــمذبأنذالعـــؾمذلقسذوـالــــه منذهـؿـهذيفذمطعــمذأوذمؾبـس
اإلماو الشافعى
91
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهساىش
م
أزساه البٗاٌات ٔ األٔاوس وَ ازدٍٖٕٔ إىل احلاسب اآلل٘ ٔ العكص Computer interfacing with Arduino
م
92
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
حىّػمبقرداتماردوؼـقم(†االفم)lilypad, miniم تقصرمإعؽاغقفمأردالمومادؿؼؾالماظؾقاغاتمعؾاذارهمعاعم ايادبماآلظلمcomputer interfaceمومذظؽم سااـمررؼااؼمعـػااذماظاااUSBمومميؽااـمادااؿغاللمػااذهم اًاصقةمماظؽـ معاـماٌ اارؼعماظرائاعم,موباظـلاؾةم
Liliypad
إماظؾااقرداتماظاايتمالمتاادسؿمػااذهماًاصااقةمصفاالم
هؿاااجمإمعااامؼلااؿكمباظااام FTDI interfaceمومػاالمذاار فمصااغ همتلااؿكدممظؿؾااادلم اظؾقاغاتمبنيمايادبماآلظلموماٌؿقؽؿاتماظدضقؼةمم م م ّتذدجماظػصاؾماًااعسمساـمإعؽاغقافمماداؿكدامماردوؼـاقمم ايصااقلمسؾااكمععؾقعاااتمعااـمايلاداااتماٌكؿؾػااةمومأردااالم اظـؿاااائجمظعرضااافامسؾاااكمايادااابماآلظااالمأوماخاااذمأواعااارمعاااـم ايادبماآلظلمظؿـػقذػامسؾكماٌؽقغاتماإلظؽرتوغقاةمماٌقصاؾةمم سؾكماظؾقرده .م
FTDI chip
م
ْ األىثهٕ اهسابكٕمطـامضدمادؿكدعـاماردوؼـاقممضارا ةممبعاضمايلادااتمعـاؾماظااق موم ايرارةمومإزفارمغاتجممايلاسممسؾاكمداؼاقدمضاقئلمظققضاحمعؼادارمػاذهماظؼارا ةمأعااماألنم صلـلؿكدممخاصقفم serial interfaceمألردالمغؿائجماظؼارا ةمايلادااتمإمايادابم اآلظلمحقثمميؽـمضرائفماظـقاتجمباألرضاممومإجرا مبعضماظعؿؾقاتمايلابقةمسؾقفا .م م
93
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثيياو اهسييابػ :اسييتسداي ذسيياش اهذييرارٔ ِ أرسيياو درحَ اهذرارٔ إهٖ اهذاس اآلهْ
م
94
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو (:)7 بقردهماردوؼـقم Arduino Unoم ظقحفمواربمBreadboardمم م حلاسمحرارىم TMP 36اومLM35 أدالكمتقصقؾ طابؾماظؿقصقؾمباظا USBم ورضفماٌلاسدةماٌطؾقسة م م م الحظماغفممحاظفماداؿكداعؽميلااسمحارارىم ․ؿؾػمسـماظـقسنيماٌذطقرؼـمماألسؾكمصاسنم اٌداخؾموماٌكارجماًاصةمباىفدمضادم‡ؿؾاػم ومميؽـاؽمععرصؿفااامعاـمخاااللمضارا ةماظااداتامذااقتم اًاصةمبايلاسماٌلؿكدم م
م
95
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بعدماالغؿفا معـمتقصقؾماٌؽقغاتمسؾكمظقحقفماظؿفاربمضؿمبؽؿابفماألطقادماظؿاظقةمومتسطدم عـمصقؿفامسـمررؼؼمزرمVerifyمبؿمارصعفامإمبقردهماردوؼـق م م
96
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
// Example_7_Temprature_Sensor const int sensorPin = A0; int reading; float voltage; float temperatureC; void setup( ) { Serial.begin(9600); } void loop ( ) { reading = analogRead(sensorPin); voltage = reading * 5.0/1024; Serial.print(voltage); Serial.println(" volts"); temperatureC = (voltage - 0.5) * 100 ; Serial.println("Temperature is: "); Serial.print(temperatureC); Serial.println(" degrees C"); delay(1000); }
97
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بعدماالغؿفا معـمطؿابفمومرصعماظؽقدماظا•لمإماٌؿقؽؿةمغؼقممباظاغطمسؾكمزرم Serial Monitorاٌقجاااااقدممذااااارؼطماألواعااااارماظلااااارؼعةمطؿاااااامماظصاااااقرةماظؿاظقاااااةم:
98
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
دؿظفرمصػقفمخاصفمتلؿؼؾؾماظؾقاغاتمعـمبقردهماردوؼـقمومتؼقممبعرضمدرجافمايارارةممطاؾم باغقفمطؿامدـالحظمأنماظداؼقدماظاقئلماٌقجقدمسؾكمبقردهماردوؼـقماٌؽؿقبم„اغؾافمTxممم بدأمماظقعقضمبلرسفمومذظؽمؼعـكمأنماردوؼـقمؼردؾمبقاغاتمإمايادبماآلظلممم ...م
م ماألنمحاولمنمترصعمدرجفمحرارهمايلاسمسـمررؼاؼمتؼرؼابمهعافمع اؿعؾةممأومساقدمبؼاابم ع ؿعؾم أومأيمعصدرمحرارىمعؿقصرم(حاذارىمأنمشاسماظـاارمايلااسمايارارىمصاذظؽمضادم ؼؿؾػاافم,مػـاااكمحلاداااتمحرارؼااةمخاص افمميؽـفااامهؿااؾماياارارةماظ اادؼدةمظمؽااـمايلاااسم اٌلؿكدمممػذاماٌـالمؼلؿطقعمهؿؾمحرارهمتصؾمإم620مدرجفمعؽقؼةمتؼرؼؾام) م عؾققزف:مسالعفماظ ررةم(م-م)ماظيتمتؽؿبمضؾؾمدرجفمايرارةمالمتعـكمدااظبمدرجافمعؽقؼاةموم إمنامخطسمبر•كمعىلضتممأولماظلطرمسـدمادؿؼؾالمبقاغاتمعـماردوؼـقم م
99
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
صرز اهمِد اهبرىحْ ّستسدي األىرمم ;)Serial.begin(9600ممجعاؾمباقردهماردوؼـاقمتؾادأماظؿقاصاؾمعاعم ايادبماآلظلمسـمررؼؼمعـػذمماظااUSBمومبفذامميؽـمظالردوؼـقمأردالمأومادؿؼؾالمبقاغااتم عـمومإمايادبم .م غالحظماغافمػـااكمعاؿغ انمومػؿاام voltageموم temperatureCممتمتعارؼػفؿمباداؿكدامم األعرم floatمبدالمعاـماداؿكدامماألعارم intمومذظاؽمالنمايلااسمايارارىمؼؼاقسمدرجافم اياارارةمبدضاافمساظقااةمتصااؾمإم 0.1درجاافمعؽقؼااةمومعااـماٌؿقضااعمأنمتؽااقنمضقؿاافماىفاادم اظؽفرباالماظـاااتجمسـاافمومدرجاافماياارارمباظؽلااقرماظع اارؼةمومظااقسماألساادادماظصااقققةمظااذظؽم ادؿكداعـاماألعرم floatىعؾمػذهماٌؿغ اتمتؼؾؾمضقؿفمهؿقىمسؾكمطلقرمس رؼفم .م ؼلاؿكدمماألعارمم;)reading = analogRead(sensorPinمصاكمتلافقؾمضارام ةماظادخؾم اظؿؿابؾلمسؾكماٌؿغ مreadingممومػلماظؼقؿةماظـاتجمعـمم sesnorPinموماظاذىمؼمرعازمإم اٌدخؾم A0م .م طؿامذطرغامدابؼامانماٌؿقؽؿةماظدضقؼةمتؼقممبؿققؼؾماإلذارةماظؿؿابؾقةمإمضقؿافمرضؿقافمعاـم صػرمام6051مظذظؽمادؿكدعـاماألعرماظؿاظلمظؿققؼؾمػذهماظؼقؿةماظرضؿقةمإمضقؿفمصقظؿقافم غلؿطقعمصفؿفام م ;voltage = reading * 5/1024
100
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بغد تذِّوماظؼقؿةماظرضؿقةمإمضقؿافمصقظؿقافماداؿكدعـاماألعارمم;)Serial.print(voltageمم ألردالمػذهماظؼقؿةمإمايادبماألمظعرضفامسؾكمبقؽاةماظؿطاقؼرممباداؿكدامماظااام Serial Monitorمباؿمغلاؿكدمماألعارم ;)"Serial.println ("voltageمظقؼاقممبطابعافمطؾؿافم voltageمبعدمطؾمضقؿفمصقظتمؼعرضفامسؾكمذاذفمايادبماآلظل م م م غلؿكدمماألعرم;temperatureC = (voltage - 0.5) * 100ممظؿققؼاؾمضقؿافماظػقظاتم إمدرجفمحرارهمبقحدهمدلمظزؼاقسمCelsiusمباؿمغؽاررمغػاسمأواعارممSerial.printمعاعم درجفمايرارةمظعرضفامسؾكمذاذفمايادبماآلظلم م ;)Serial.print(temperatureC ;)" Serial.println(" degrees Cم م األعرماألخ مػقم ;)delay(1000م ومذظاؽمظـفعاؾماٌؿقؽؿاةماظدضقؼاةمتـؿظارمباغقافمواحادهم ضؾؾمأنمتعقدمأردالمدرجفمايرارةموماظػقظتمإمايادبماآلظلمعرهمأخرى.م م
101
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهثاىن :استسداي ذساش اهضِ٘ ِ عرض صدُ اإلضا٘ٔ عهٖ اهذاس اآلهْ ػؾمتؿذطرماٌـالماًاعس,مدـؼقممبسسادهمتـػذمذظؽماٌـالموظؽـمبدالمعـمسرضمذدهم اإلضا ةمسؾكماظداؼقدماظاقئلم ledم,مدـعرضفامسؾكمايادبماآلظلم .م
ىكاِىَ ضِّٕٙ
ىكاِىَ 10 مّهِ اِي
102
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
// Example_8_Light_Sensor_2 const int photocellPin = A0; int photocellReading; void setup(void) { Serial.begin(9600); }
void loop(void) { photocellReading = analogRead(photocellPin); Serial.print("Analog reading = "); Serial.print(photocellReading);
if (photocellReading < 10) { Serial.println(" - Dark");} else if (photocellReading < 200) { Serial.println(" - Dim");} else if (photocellReading < 500) {Serial.println(" - Light"); } else if (photocellReading < 800) { Serial.println(" - Bright"); } else {Serial.println(" - Very bright"); } delay(1000); }
103
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بغييد االًتٍييا٘معااـمطؿاباافمومرصااعماظؽااقدماظا•االمإماٌؿقؽؿااةمغؼااقممباظاااغطمسؾااكمزرم Serial Monitorماٌقجقدممذرؼطماألواعرماظلرؼعةمطؿامماظصقرةماظؿاظقةم:
104
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
األن ذاِومأنمتغ معلؿقىماإلضا ةماظذىمتؿعرضمظفماٌؼاوعةماظاقئقةمسـمررؼؼم :م oتعرؼافامظؾاق ماظلارعمعؾاذره م oتغطقؿفامبؼطعفمضؿاشمخػقػة م oتغطقؿفامبقدؼؽمظؿقفبمسـفاماظاق مشاعا
ىهذِظَ:
Dimمتعـكمإضا ةمخاصؿف م
Darkمتعـكمزالممداعس م
Lightمتعـكمإضا ةمععؿدظة م
Bright Lightمتعـكمإضا ةمذدؼده م
105
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهتاسػ :تصؾّو داِّد ضِ ْٙعن طرّل استكباو أىر ىن اهذاس
اآلهْ م م م
106
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو (:)9 بقردهماردوؼـقمArduino Uno ظقحفموارب م داؼقدمضقئلمled 5mm عؼاوعفم230ماوم أدالكمتقصقؾ م ّغتبر اهىثاوماظؿادعمتطقؼرمظؾؿـالماألولموماظـاغلم,موممػذاماٌـاالمدـلاؿكدممايادابم اآلظلمماظؿقؽؿمماظاداؼقدماظااقئلمبادالمعاـماظلاقؼؿش,مداـفعؾماردوؼـاقمؼلاؿؼؾؾماعارم اظؿ غقؾموماإلرػا مسـمررؼؼماظااUSBمباداؿكداممخاصاقفماظااام Serial Monitorمبقؽاةم تطقؼرماردوؼـقمArduino IDE م م م م م م
107
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اظؽقد :م // Example_9_Computer_Interfacing ;int ledPin=13 ;int value )( void setup { ;)Serial.begin(9600 ;)pinMode(ledPin,OUTPUT } )( void loop { ;)(value = Serial.read };)if (value == '1') {digitalWrite(ledPin,HIGH };)else if (value == '0') {digitalWrite(ledPin,LOW }
بغد االًتٍا٘معـمطؿابةماظؽاقدماظا•المومرصعافمإماردوؼـاقماضاغطمسؾاكمأؼؼقغاةمم serial Monitorمدؿفدمذرؼطمطؿابلمصكماسؾكماظصػقةمضؿمبؽؿابفم1موماضاغطمزرمأرداالم Send ومذاػدمعاذامدققدثمظؾداؼقدماظاقئلم,مبؿماطؿبماظرضؿمصػرموماضاغطمسؾاكمزرمأرداالمعارمهم أخرىمومذاػدمعاذامدققدثم ...م
108
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
م
109
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ْ ٌي اماٌـاالماداؿكدعـاماألعارم;) (Serial.readممومػاقماالعارماٌلاؿكدممصاكمضارا ةم اظؾقاغاتماٌردؾةمعـمايادبماآلظلمإماردوؼـقمسامعـػذماظااUSBمومضؿـامبإضااصةم=valueم ضؾؾمػذاماألعرمومذظؽمحؿكمتؼاقمماٌؿقؽؿاةمبؼارا ةمعاامؼرداؾمعاـماظاام ,USBم‡ازنمػاذهم اظؼقؿةمماٌؿغ مvalue ثي استسدىًامؾفم if.. else ifمظقضعمذرط :م
اذامطاغتمضقؿفماٌؿغ م value == 1متؼقمماٌؿقؽؿةمبؿ غقؾماظداؼقدماظاقئلم م
أعاماذامطاغتمضقؿفماٌؿغ ممvalue == 0متؼقمماٌؿقؽؿةمبإرػا ماظداؼقدماظاقئل
األُ حأه أُ تعده الكٕد بٍفشك ٔ تزٖد عدد املدازج اليت ميكَ التخكي بّا عَ طسٖل احلاسب اآلل٘ ىطادر اضا َّ ههىغهِىات: ٌزؼدمعـماٌعؾقعاتمسـماألواعرماٌلؿكدعةمماظا Serial communicationمتػاؾم اظرابطماظؿاظلمٌرجعماألواعرماظر
ل :م
http://arduino.cc/en/Reference/serial
م
110
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مالحظات شخصًه : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماًاعسم :م
111
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ادلعرفهذقوهذفىذودذمنذوعؾؿفا
ألربت أييشتني
112
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهسادش أستدداً احملسكات
The Motors
113
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تعؿاماحملرطاتمعاـمأػاؿماظعـاصارماظداخؾافمصاكماٌ اارؼعماألظؽرتوغقافموم ػكماظعـصرماٌلىللمسـمهقؼاؾماظطاضافماظؽفربقافمامراضافمحرطقافمصاكم صقرهمدورانم .م م م مدؿفدماحملرطاتمصكمطاـ معاـماألجفازهماالظؽرتوغقافم اظؿااكمؼقجاادمبفااامحرطااافمعقؽاغقؽقاافمعـااؾ:ماظروبؿااااتم بسغقاسفاااماٌكؿؾػاافمدااقا مطاغااتمصااـاسقفماومروبقتاااتم ظؾرتصقف,مع غالتماألضراص,مأظعابماألرػال..ماخل م م تـؼلؿماحملرطاتماظؽفربقفمامغقسنيمرئقلقنيمومػؿام :م
‣رطاتماظؿقارماٌلؿؿرمم( )DC – Servo – Stepperم
‣رطاتماظؿقارماٌرتددم(–1 Phaseم)3 Phase
صكمػذاماظػصؾمداـؿعرضمظؾـاق ماألولمومػاقماحملرطااتماظؿاكمتعؿاؾمباظؿقاارماٌلاؿؿرمعـاؾم اظا DC Motorموماظام Servo Motorمومػؿاماذفرمأغقا ماحملرطاتماٌلؿكدعفمصاكمع اارؼعم اٌؿقؽؿاتماظدضقؼفمبسغقاسفاماٌكؿؾػف .م م م م
DC Motor
Servo Motor 114
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهغاصر :استسداي ىذرن اهتّار اهىستىر DC
م
115
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو (:)7 بقردهماردوؼـقم Arduino Unoم ظقحفمواربمBreadboardمم م ‣ ركمتقارمع‰لؿ ؿرصغ مDC motor تراغزدؿقرم2N2222ماومPN2222 داؼقدم1N4001ماوماىمبدؼؾم عؼاوعفم5.5مطقؾقماوم أدالكمتقصقؾ طابؾماظؿقصقؾمباظا USBم ورضفماٌلاسدةماٌطؾقسة م م صكمػذاماٌـالمدقفمغلؿكدمم‣ركمتقاارمعلاؿؿرمعاـم ايفؿماظصغ موماظذىمؼقجدمسادهمصكمظعابماألرػاالم ومؼعؿؾمبػرقمجفدمؼؾدأمعـم3مصقظتموماضصاهم6مصقظتم ومدااؿفدمعـااؾمػااذهماحملرطاااتمعؿااقصرهمصااكم‣ااالتم اٌؽقغاااتماألظؽرتوغقاافماومصااكماىمعااـمظعاابمارػااالم اظؼدميفماظؿكمهؿقىمسؾكم‣رطاتم م
م
116
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بعدماالغؿفا معـمتقصقؾماٌؽقغاتمسؾكمظقحماظؿفاربمضؿمبؽؿابفماألطقادماظؿاظقةمبؿمارصعفام إمبقردهماردوؼـق
117
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
//Example_10_DC_Motor int motorPin = 9 ; int onTime = 2500 ; int offTime = 1000 ;
void setup ) ( {pinMode(motorPin, OUTPUT); } void loop ) ( { analogWrite(motorPin,100); delay(onTime); digitalWrite(motorPin, LOW); delay(offTime); analogWrite(motorPin,190); delay(onTime); digitalWrite(motorPin, LOW); delay(offTime); analogWrite(motorPin,255); delay(onTime); digitalWrite(motorPin, LOW); delay(offTime); } 118
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهذادٗ عصر :استسداي ىذرن سّر ِ
م
119
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىمًِات اهىثاو (:)7 بقردهماردوؼـقم Arduino Unoم ظقحفمواربمBreadboardمم م ‣ ركمتقارمع‰لؿ ؿر-مد صقServo motor أدالكمتقصقؾ طابؾماظؿقصقؾمباظا USBم ورضفماٌلاسدةماٌطؾقسة م م صكمػذاماٌـالمدقفمغلؿكدمم‣ركمتقارمعلاؿؿرم عـمغق مد صقمعقتقرموماظاذىمؼعؿاؾمبػارقمجفادم ؼؾاادأمعااـم1مصقظااتموماضصاااهم65مصقظااتمومدااؿفدم عـاااؾمػاااذهماحملرطااااتمعؿاااقصرهمصاااكم‣اااالتم اٌؽقغاتماألظؽرتوغقفم م
م
120
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بعدماالغؿفا معـمتقصقؾماٌؽقغاتمسؾكمظقحماظؿفاربمضؿمبؽؿابفماألطقادماظؿاظقةمبؿمارصعفام إمبقردهماردوؼـقم(عؾققزف:مميؽـؽمانمودماظؽقدماظا•كمصكمضائؿفماألعـؾفماىاػزهم صكمبرغاعجماردوؼـقم )examples – servo – sweepم م م
121
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
//Example_11_Servo_Motor #include <Servo.h> Servo myservo; int pos = 0; void setup() { myservo.attach(9); } void loop() { for(pos = 0; pos < 180; pos += 1) { myservo.write(pos); delay(15); } for(pos = 180; pos>=1; pos-=1) { myservo.write(pos); delay(15); } } 122
مكتبه اضافًه
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مالحظات شخصًه : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماظلادسم :م
123
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اجلبالذقدذتصؿُدذامامذالزالزلذلؽـفاذلنذتؼاومذ قَطراتذادلاءذالتىذتَفطُلذبأنتظامذفىذهدوءذوذ تؽرارذ،ذفأجعلذسَؿؾكذمثلذقطراتذادلقاهذحتىذ تتغؾبذسؾىذمجقعذالعوائقذذ
حكنه صيييه قدميه
124
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهسابػ ٔساٟن االدخاه ٔ االخساج املتطٕزٓ
Advanced Inputs/Outputs
125
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
يٖ اهفطيِوم اظلاابؼفماسؿؿادغامب اؽؾماداداكمسؾاكمابلاطموداائؾم االدخالموماالخاراجممظؾؿعاعاؾمعاعماردوؼـاقممعـاؾماظلاقؼؿشم(مادخاالم Inputم)موماظداؼقدماظاقئكم(اخراجم )outputم م صكمػذاماظػصؾمدـلؿعرضمبعضماٌؽقغاتماالطـرمتطقرامظؾؿػاساؾمعاعماٌؿقؽؿااتماظدضقؼافمم صكمع ارؼعمواضعقفمميؽـماداؿكداعفامصاكمحقاتـااماظققعقاف,مداقؿطرقمػاذاماظػصاؾمامذارحم اٌؽقغاتماظؿاظقف :م
ذاذاتمسرضماظؽرؼلؿالماظلائؾمliquid crystal Display: LCD
ظقحفمادخالماالرضاممKeypad
عصػقصفماظداؼقدماظاقئكمLed matrix
اٌؿؿؿات Relays
م
126
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
صاصات عرض اهمرّستاو اهساٙو :متؿؽقنمػذاماظ اذاتمعـمزجاجماظؽرؼلؿالماٌعا موم تؿقصرمػذهماظ اذاتمبسحفامموماغقا م․ؿؾػفمومدقفمغلؿعرضمعـفامغقسنيمادادقنيمومػؿا :م
ذاذاتماظعرضماٌعؿؿدهمسؾكمايروفم Character LCD
ذاذاتماظعرضماٌعؿؿدهمسؾكماظردقعاتمGraphical LCDم
Character LCD
Graphical LCD
127
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تاقصرممذاذااتمسارضماٌعؿؿادهمسؾاكماياروفمم Character LCDم اعؽاغقافماخاراجماىم غصقصمتؿؽاقنمعاـمحاروفماومارضاامماومرعاقزم(عـاؾماظؿاكمتؽؿابمسؾاكمظقحافماٌػااتقحمصاكم ايادبماآلم)مومتؿقصرمبسحفامم․ؿؾػفموماظقانم․ؿؾػفمعـؾ :م Green 16x2 lcd Blue 16x2 lcd Grees 20x4 lcd ومميـؾماظرضؿم16x2مسددماظلطقرم()2مايروفماظؿكمميؽـمطؿابؿفامصكمطؾمدطرم()16محرف م طؿامتؿقصرمبسظقانم․ؿؾػفمطؿامصكماظصقرماظؿاظقف :م م
Blue 16x2 LCD
Green 16x2 LCD
Black 16x2 LCD Green 20x4 LCD
128
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهغاصر :تِطّو صاصَ Character LCDبىكاش 16x2
سًذتاد اهىمًِات اهتاهَّ: م
ذاذفمبؼقاسم 16x2مظقنماضائفمازرقم(اوماىمظقنمتػاؾفماغتم) م
اسؿدهمتقصقؾم‥ادقفمضص هم16مغؼطفممcopper Pin Headers 16 point
عؼاوعفمعؿغ همبؼقؿفم10مطقؾقماومم
عؽقاهميامم
ضصدؼرميامم م
م
129
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اًطقةماألومػلمياممغؼاطماظؿقصقؾم Pin Headersمبـؼاطميامماظ اذفمومؼؿؿم ادؿكداممعؽقاهماظؾقامموماظؼصدؼرمصكمػذاماظعؿؾقف :م
ا ا اردت تغهي هذاي اهىمًِات اإلهمترًِّٕ تِحٍَ إهٖ اههًّن اهتاهْ http://www.aaroncake.net/electronics/solder.htm
130
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ضاااؿمبؾقاااامماولمغؼطااافمتقصاااقؾمباداااؿكدامم اظؽاوؼاافموماظؼصاادؼرموماغؿظاارمم5مبااقاغكمحؿااكم تادمغؼطفماظؿقصقؾ م ممتـؾقااف:مالمهاااولمٌااسمغؼطاافماظؾقاااممبقاادكم بعاادماظؾقاااممعؾاذاارهمصؼاادمؼااىلدىمذظااؽمام حدوثمحروقمظؾفؾدمعـمحرارهماظؾقامم م
بعدمذظؽمضؿمبؾقاممغؼطافماظؿقصاقؾماالخا هم وذظاؽمحؿاكمتؼاقممبؿـؾقاتم pin headers عـمطالماىاغؾني م م م م م م
131
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
قم بتكرار نفس العملًه السابكه مع مجًع نكاط التىصًل حتى تنتهى من 16 نكطه كما فى الصىره التالًه م م م
م
م
132
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بعدماالغؿفا معـماظؾقاممضؿمبرتطقبماظامpin headerمسؾكمظقحفماظؿفاربمطؿامماظصقرةم م م
ؼػاؾمادؿكداممضاسدهمتـؾقتمبالدؿقؽقفمتلؿكدممصكمتـؾقتماردوؼـقمومظقحفماظؿفاربمععام اٌـؾماظؿكمتلؿكدممصكماظصقرهماظؿاظقف
133
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
قاسدهذالتثبقتذ البالدتقؽقهذحتؿلذ اردووـوذوذلوحهذ التجاربذوذالشاذهذ معا
االنمغؼااااااااااااااااقمم
بؿقصقؾماٌكرجم 5vسؾكم خاااطماٌقجااابماالااارموم اظطرفم GNDسؾكماًطم االرضااااااكمصااااااكمظقحاااااافم
ساه
اظؿفارب م
ىِح
134
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بعاادمذظااؽمغؼااقمم
بؿقصقؾماٌادخؾمرضاؿم16م صاااكمذاذااافماظعااارضمسؾاااكم اًاااطماالرضاااكمومغقصاااؾم اٌاااادخؾمرضااااؿم15مسؾااااكم اًااطماٌقجاابم 5 vطؿااام صكماظصقرهماظؿاظقفم:
ضااااااؿمبؿقصااااااقؾم
اردوؼـقممباظؾطارؼفماومطاباؾم اظااااا USBمبااااؿمالحااااظمانم اظاق ماًؾػكمظؾ اذفمبادأم صكماظعؿؾمطؿامصكماظصقرهم اظؿاظقفم :م عؾققزاااافم ؿؾااااػمظااااقنم االضاااااائفمسؾاااااكمحلااااابم اظ اذفماٌلؿكدعفمومتؿقصرم االظقانماظؿاظقف :م االاااااااارم–ماألخااااااااارم–م
األزرقم–ماألبقضم–م م
135
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تسكٗب املكأوْ املتغريٓ لمتخكي ف ٜطدٓ االضآٞ تعؿامتؾؽماًطاقهماخؿقارؼافموم ميؽـؽمانمتفؿؾفاماذاماردت .م اهلاادفمعااـمترطقاابماٌؼاوعاافم اٌؿغ همػقماظؿقؽؿمصكماظؿقاارم اظؽفربكماظاداخؾماماظ اذافم ومباظؿااااماظاااؿقؽؿمصاااكمذااادهم اظلطق م(االضا ه)ماظـاوفم
ضاااؿمبؿقصااااقؾماحاااادم
االرااارافماىاغؾقااافمظؾؿؼاوعااافم اٌاااؿغ همبااااًطماٌقجااابموم اظطرفماىاغؾكماالخارمبااًطم اظلاظبمبؿمضؿمبؿقصقؾماظطرفم االودااااطمظؾؿؼاوعاااافماٌااااؿغ هم باٌدخؾمرضاؿم3مسؾاكماظ اذافم
طؿامصكماظصقرهماظؿاظقفم:
136
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ضؿمبؿقصقؾماٌدخؾم
رضاااؿم1مسؾاااكمذاذااافماظعااارضم باًطماالرضموماٌدخؾمرضاؿم 2مباًطماٌقجبمسؾكمظقحافم اظؿفاربم
االنمضؿمبقصاقؾماظؾطارؼافمعارهم اخاااارىمومضااااؿمبؿاااادوؼرمسصااااام اظدورانمصكماٌؼاوعفماٌؿغ هم والحظمعاذامدققدثمظالضا هم اًؾػقفمظ اذفماظعرضم
137
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
قعماًطقاتماظلابؼفمطاغاتمتفادفمظؿقصاقؾماظ اذافمباظطاضافمومباٌؼاوعافماظااقئقفماظؿاكم تؿقؽؿمصكمعدىمدطق ماظ اذفمومذدهماالضائفماًؾػقافم,ماًطاقماتماظؿاظقافمدؿقضاحمطقاػم تقصؾمعـاصذمغؼؾماظؾقاغاتمعـماردوؼـقماماظ اذف.
صكمبعاضماٌ اارؼعمضادم تلؿكدمماٌادخؾمرضاؿم 5موماظااذىمؼلااؿكم RW ظؽااـمصااكمحاظؿـااامػااذام داـؼقممبؿقصاقؾفمبااًطم
االرضكم م
138
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ضااؿمبؿقصااقؾماٌاادخؾم رضؿم4مصكمذاذفماظعرضم سؾاااكماٌكااارجمرضاااؿم7م
صكمبقردهماردوؼـقم م
بعدمذظؽمغؼقممبؿقصاقؾمم اٌااادخؾمرضاااؿم6مصاااكم ذاذاااافماظعاااارضمسؾااااكم اٌكاااارجمرضااااؿم8مصااااكم بقردهماردوؼـق
139
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ضااؿمبؿقصااقؾماٌاادخؾم رضاااااؿ 14مصاااااكمذاذااااافم اظعاارضمسؾااكماٌكاارجم رضااااؿم12مصااااكمبااااقردهم اردوؼـق
اًطااقهماالخاا همػااكم تقصااقؾماٌااداخؾمرضااؿم 13,12,11مباٌكااااااارجم رضااااااااااااااااااؿم11,17,17م اٌقجااااااااقدهمسؾااااااااكم اردوؼـقمباـػسماظرتتقابم طؿامصكماظصقرهماظؿاظقفم
140
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اظ ااااؽؾماظـفااااائكمبعاااادم تقصقؾمقعماالررافم اظالزعاافمظؿ ااغقؾماظ اذاافم
ععماردوؼـق .م
االن ذان ِقت متابَ اهمِد اهبرىحٖ
تقصرمبقؽفمتطقؼرماردوؼـقماظعدؼدمعـماالعـؾفماىاػزهمومميؽـؽمانمتلؿكدممعـالماظ اذفم اىاػزمعـمخاللمصؿحمضائؿفماالعـؾفمطؿا:
File→Examples→LiquidCrystal→HelloWorld دـقؿاجمانمغعدلماظلطرماظا•كماظؿام:م م ;)LiquidCrystal lcd(12, 11, 5, 4, 3, 2
ظقصؾحمػؽذا: ;)LiquidCrystal lcd(7, 8, 9, 10, 11, 12
بعدمتعدؼؾماظلطرمضؿمبؿسطقدمومرصعماظؽقدمامبقردهماردوؼـقمطؿامصعؾتمصكماالعـؾفماظلابؼفم م
141
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
م:اظؽقدماظا•لمبعدماظؿعدؼؾ
//Example_12_LCD_16x2 #include <LiquidCrystal.h> LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() { lcd.begin(16, 2); lcd.print("hello, world!"); }
void loop() { lcd.setCursor(0, 1); lcd.print(millis()/1000); }
142
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
الظكن الٍّا ٜٟلمىجاه العاطس (^_^)
143
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تلؿطقعمتعدؼؾمعلؿقىمدطق ماظ اذفمسـمررؼؼمتغ مضقؿفماٌؼاوعفماٌؿغ ه
طؿامميؽـؽمادؿكدامماىمحفؿمومظقنممتػاؾفمعـماظ اذاتم Character LCDعـؾم ايفؿماالطامصكمسددمايروفم 20x4طؿامصكماظصقرماظؿاظقف م
144
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
145
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
:ىطادر اضا َّ ههىغهِىات مLCDٌزؼدمعـماٌعؾقعاتموماألواعرماٌلؿكدعفمععمذاذاتم مhttp://arduino.cc/en/Tutorial/LiquidCrystal character LCDظعؿؾماذؽالمعردقعفمسؾكمذاذفمعـمغق مم http://www.instructables.com/id/Controlling-a-character-LCD-with-an-Arduino
مNokia 2600ماومNokia 6100 LCDظؿقصقؾمذاذفمػقاتػمغقطقاماٌؾقغفم مhttp://www.instructables.com/id/How-To-Use-a-Nokia-Color-LCD/
146
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
استسداي هِذَ األرقاي Keypadىػ اردًِِّ
تعؿاممظقحفماالرضاممعـماػؿموداائؾماالدخاالماٌلاؿكدعفمبؽـارهمصاكمع اارؼعماٌؿقؽؿااتم اظدضقؼفموماظؿكمدؿفدػامحقظؽمصكماظعدؼدمعـماالجفزهماالظؽرتوغقفمعـؾماهلااتػماٌـازموم ظقحفماٌػاتقحمومظقحفماظؿقؽؿمصاكماٌصااسدماٌقجاقدهمصاكماظؾقاقتمعؿعاددهماظطقاباؼم...م اخلم م وم‡ؿؾػماذؽالمظقحاتماالرضاممتؾعاًميفؿفامومسددماالرضامماٌؿاحافم,مصاكمبعاضماظؾقحااتم دااؿفدمرعااقزماضاااصقفمعـااؾمسالعاافماظـفؿاافم(م*)مومسالعاافماظ ااؾاكم()#ماومحؿااكمبعااضمايااروفم االنؾقزؼفمعـؾمA,D,Fمومتعؿامظقحفماالرضامم‟فؿم4x3موم4x4مػكماذفرمظقحاتماظؽؿابفممم
4x4
4x4 147
3x4
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
م طؿامتؿقصرمبعضماظؾقحاتماٌرغفموماظؼابؾفمظؾطاكمبلافقظفموماظؿاكمتصاـعمعاـمغاق مخااصمعاـم اظؾالدؿقؽماٌرنمومتؿؿقزمباظـقاصفمحؿاكمتؾؾاغمبكاغافماظؾقحافمبااعفمعؾاقؿرتاتمصؼاطمومتؿؿقازم باظلعرماٌـكػضم(حقام2مدوالرمصؼطم)م م
دقفمغ رحمظقحفماالرضامماٌرغفمعؼاسم 3x4وماظؿكممتؿؿقزمباٌقاصػاتماظؿاظقف :م Weight: 7.5 grams )"Keypad dimensions: 70mm x 77mm x 1mm (2.75" x 3" x 0.035 Length of cable + connector: 85mm 7-pin 0.1" pitch connector
148
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهىثاو اهذادٗ عصر أستسداي هِذَ ارقاي
م
ىمًِات اهىثاو اهذادٗ عصر:
ظقحفمارضامم(عرغف)معؼاسم3x4
أسؿدهمتقصقؾم‥ادقفم7مغؼاطم) Pin-Headers (7
اردوؼـقمArduino Uno
ظقحفمواربمBreadboard
149
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ضؿمبؿقصقؾم․ارجماردوؼـقمبدئاًمعـماٌكرجمرضاؿم2محؿاكماٌكارجمرضاؿم8مبؾقحافماألرضاامم ععمعالحظفمانمؼؽقنمرعزم #مػقماظرعزماٌؿقاجدماعامماٌكارجمرضاؿم2مصاكمباقردهماردوؼـاقممم طؿامصكماظصقرهمباظظؾطمومبذظؽمغؽقنمضدماغؿفقـامعـموفقزمظقحفماألرضام .م
ضؾؾمانمغؾدأمطؿابافماظؽاقدماظا•اكمداقؿقجبمهؿقاؾمعؽؿؾافمظقحافماالرضااممعاـمعقضاعم اردوؼـقمحقثمالمتؿقصرمػذهماٌؽؿؾفمب ؽؾماصرتاضكمصاكمبرغااعجم Arduino IDEمسؾاكم سؽااسمعؽؿؾاافمادااؿكدامماظ اذاااتمعااـمغااق م Character LCDوماظؿااكمتؿااقصرمب ااؽؾم اصرتاضكمداخؾمبرغاعجم Arduino IDEم م م أوالً:متقجففماماظؾقـؽماظؿامسؾكمعقضعماردوؼـقماظر ك :م http://www.arduino.cc/playground/Code/Keypadم م
150
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
بؿمضؿمبؿقؿقؾمعؽؿؾفمظقحفماالرضاممطؿامصكماظ ؽؾماظؿا :م م
م م بعدػامدقؾدأماٌؿصػحمب ؿـزؼاؾمعؽؿؾافمظقحافماألرضااممومػاكمسؾاارهمساـمعؾاػمعااغقطما
افم
keypad.zipم ,ماًطقهماظؿاظقفمػاكمانمتؼاقممبػاؽمضاغطماٌؾاػمومغلاخماظػؾاقدرماٌلاؿكم keypadمومتقجفافمامعؽاانمتقاجادمبرغااعجماردوؼـاقمم Arduino IDEمحقاثمداؿفدم صقظدرما
فم librariesمضؿمبػؿحماظػقظدرموماظصؼمم keypadمداخؾفمطؿامصكماظصقرهماظؿاظقف:م م
م
151
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
1 2
3
152
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
م:بعدماالغؿفا معـموفقزماٌؽؿؾفماظا•قفمغؾدأمصكمطؿابفماظؽقد //Example_13_Keypad_Input #include <Keypad.h> const byte ROWS = 4; const byte COLS = 3; char keys[ROWS][COLS] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'#','0','*'} }; byte rowPins[ROWS] = {5, 4, 3, 2}; byte colPins[COLS] = {8, 7, 6};
عدد اهطفِف ُعدد األعىد
اهذرِف ِ اهرىِز
Keypad keypad = Keypad) makeKeymap)keys(, rowPins, colPins, ROWS, COLS (; أىر ّكِي بتفغّو استكباو االرقاي ىن void setup)( { هِذَ االرقاي Serial.begin)9600(; } void loop)(م { char key = keypad.getKey)(; if )key != NO_KEY( {مSerial.println)key(; } } موماضااغطمسؾااكماألرضاااممصااكمserial monitor بعاادماالغؿفااا معااـمطؿاباافماظؽااقدمضااؿمبؿ ااغقؾم موماغظرمعاذامدققدثم!! مKeypadاظا
153
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىطادر اضا َّ ههىغهِىات: م عؽؿؾفمظقحفماألرضامموماألواعرماظا•قفم :م
http://www.arduino.cc/playground/Code/Keypadم م طقػمتصـعمضػؾماظؽرتوغكمبسدؿكدامماردوؼـقموماظل صقمعقتقر :م http://www.instructables.com/id/Access-control-with-Arduino-Keypad 4x4-Servoم م طقػمتقصؾمظقحفماألرضاممبسردوؼـقمسـمررؼؼم3مأدالكمصؼطمبدالمعـم7مأدالك :م
http://www.instructables.com/id/Arduino-3-wire-Matrix-Keypadم م سؿؾمغظامماعـكم(عػؿاحماظؽرتوغكمذاعؾ)معؽقنمعـماردوؼـقممعقفامومذاذفمومظقحفمارضامموم ضػؾماظؽرتوغكم(د صقمعقتر) :م
م
http://www.instructables.com/id/Password-Lock-with-Arduinoم م م
154
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ىرذِو Relayىػ اردًِِّ أستسداي اه ُ
ؼعؿاماظرؼالىمعـماػؿماظعـاصرماٌلؿكدعفمصكماظؿقؽؿماالظؽرتوغقكمبسغقاسفماٌكؿؾػفم
155
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
وا ِٕ ذلك العٍصس؟ ٔكٗف ميكَ استدداوْ؟ ٔواِ٘ تطبٗكاتْ؟ إجيابٗاتْ؟ سمبٗاتْ؟ وي ٖتكُٕ؟ اظرؼاليمػقمسـصرمعقؽاغقؽل /إظؽرتوغال,موميؽــاام‡قؾافمسؾاكمذاؽؾمعػؿااحمأومزرمطفرباائل,م داخؾقاًمؼؿؽقنمعـمجزئنيمرئقلقني: األِو:مدؾؽمعؾػقفمحقلمضاظبمحدؼدي,مومعؼدعةمذظؽماظؼاظبمؼؿقضعماهحيز٘ اهثياًْ:م وػقمظلانمأومضطعةمععدغقةمعلؿطقؾةماظ ؽؾمتؼاعمأعاامماظؼاظابم/اٌؾاػموػالمعـاباةمامٌػؿااحم صفلمهؿقيمسؾكمشاداتمععدغقةمؼؿؿمعاـمخالهلاامتقصاقؾماؾمطفرباائلمظقعؿاؾماظارؼاليم سؾكمصصؾفمأومت غقؾفم‟لبموضعماٌؾػمماظرؼالي.
وإِ السوز اإللكرتٌٔ٘ لمسٖال ٙيف الدازات اإللكرتٌٔٗٛ؟ ؼرعزمظؾرؼاليمباظ ؽؾماظؿاظل:محقثماىز ماألؼلرمػقماٌؾػمواألميـمػقمرعزماٌػتاحم اظؽفربائل
156
ازدٍٖٕٔ ببشاطٛ
اهترمّ
Simplify Arduino
ىن اهداسو
مّف ّغىو؟ سـدعامؼؿؿمتطؾقؼمصرقمجفدمسؾكمرارماٌؾاػماظاداخؾلمظؾارؼالي,مداقؿرمتقاارم ماٌؾاػم ظقؿققلمبقادطؿفماٌؾػمٌغـارقسمطفربائلمعقظدام•االمعغـارقلاقامداقؼقممبادورهم„اذبم
157
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ذظؽماظؾلاانمأوماظؼطعاةماٌقاجفاةمظؾؿؾاػم‟قاثمتغؾاؼماظؿؿادااتم اظؽفربائقاة,موسـادمصصاؾم اىفدماٌطؾؼمدقؿالذكماظؿقارمتدر‧قامظقكؿػلمذظؽمالاالماٌغـارقلال,مومػـااكمزغااكم دقؼقممبإسادةماظؾلانمظقضعفماظطؾقعلموصصؾماظؿؿاداتموصؿحماٌػؿاحماظذيمأشؾؼ. إذامبؽؾمبلارةمصاظرؼاليمػقمعػؿاحمطفربائلمعقؽاغقؽل,معامإنمؼؿؿمتطؾقؼمجفدمسؾكمعؾػف,م ؼؾدأمباظعؿؾمظقفذبمشاداتمععدغقةمدؿعؿؾمسؾكمشؾؼمأومصؿحمدارةمخارجقةمعؿصؾةمبفا.
ِىا اٙدتَ إ ا؟ أال ّىمًًا استسداي ىفتاز مٍربا ْٙىباصرٔ؟ ‡قؾممععلمأغـام‥ؿاجمانمغقصؾماردوؼـقمم‟ؿؾم طفربائلمبعؿؾمسؾكمصرقمجفدمعارتددمضقؿؿافم110م صقظااتماوم220مصقظاات.معـطؼقااا,مالمميؽــااامت ااغقؾم ذظؽمايؿؾمعـمخاللمماردوؼـقمألنماضصكمجفدم ميؽـمتقظقدهمعـماردوؼـقمػقم5مصقظتمصؼطم,م وػـامؼستلمدورماظرؼاليمصفقمداقؼقممبعؿؾقاةمت اغقؾممأليماؾمذاماداؿفالكمطاؾ مظؾطاضافممعاـم خاللمصرقمجفدمصغ ,مواظلرمميؽـمورا مت غقؾماٌؾاػم„فادمصاغ معـاؾم ِ 2هيتمظـؼاقمم بؿ غقؾماٌصؾاحماظذيمدقؿؿمتقصقؾفمسؾكمأررافماظؿؿاداتماظيتمداقفذبفاماٌؾاػمداخاؾم اظرؼالي. إ ا ههرّالٓمصائدةمسظقؿةمطقغفمدقعؿؾمسؾاكمترحقاؾمجفادم وتقاارمصاغ مظؼقاادةماؾمطاؾ م.م وأؼاااامعقاازةماظاارؼاليمتؽؿااـممضدرتاافمسؾااكماظعاازلماظؿاااممعااامباانيمدارةماٌصاادرموايؿااؾم “اًرج”,مصفؿامععزوالنمشاعاموظؽؾمواحدمعـفؿامغؼطةمأرضقةمعرجعقةم․ؿؾػةمسـماألخرى,م
158
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
وػااذامظاافمصائاادةمطااؾ ةممعـااعماغؿؼااالماظؿ ااقؼشمواىفااقدماظعااابرةمظاادارتـاموععـااكمأصااحم اؼؿفا.مأخ ا,مميؽـمادؿكدامماظرؼاليمماظاؿقؽؿمساـمبعاد,مأيموضاعماظارؼاليمبااظؼربم عـماىفازموعدمدؾؽمظؾدراةماظيتمتصدرماألواعر.
عِّبَ: ظؽؾمسـصرمإظؽرتوغلمصقائدمودؾؾقاتم,موطذظؽماألعرمباظـلؾةمظؾرؼالي,مصسػؿمدؾؾقاتفمػل:
عامأغفمؼعؿؿدمسؾكماٌؾػم-وػقمحـل-مصؾذظؽمدؿؿقظدمصقفمضقةمداصعةمطفربائقةم سؽلقةمسـدمعرورمتقارمبفم(متعرفمبؼاسدةمظـزم)مسـدماظؿقصقؾموسـدماظػصؾميامضدم ؼىلديمظعطبماظدارةماٌؿصؾةمبف.مإالمأغفمميؽــامواوزمػذهماٌ ؽؾةماظؾلقطةم بقادطةموضعمسـصرماظداؼقدمبنيمررماٌؾػموذظؽمٌـعمسقدةمتؾؽماظؼقةم اظداصعةماظعؽلقة .
حدوثمارتدادات عقؽاغقؽقةمسـدمطؾمهقؼؾمعـموضعماظػصؾماموضعماظؿقصقؾم أوماظعؽس.ميامضدمؼىلديمظعطبمايؿؾ
ؿاجمإمدائرةمعقائؿةمظؽكمؼعؿؾمجقدامععماألغظؿةماإلظؽرتوغقةم.موسادةمتؽقنم ػذهماظدارةمػلمعؽقغةمعـمتراغزدؿقر
اظعؿرماالصرتاضكمظؾرؼاليمصغ مغلؾقامخصقصامصكماظدوائرماظؿكمتؿطؾبمسددامطؾ ام عـمعراتماظقصؾمواظػصؾمموسادةمعامتذطرمضقؿةمسددمعراتماظػصؾمواظقصؾم اظؼصقىمظؽؾمرؼاليممعؾػماٌقاصػاتماظػـقة
159
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
دارٔ عىهّٕ الستسداي اهرّالٓ ىػ اهدارت اإلهمترًِّٕ سـدماخؿقارمأيمرؼاليمصالبدمعـماالغؿؾاهمظألعقرماظؿاظقةمطلمغؿؿؽـمعـماالخؿقارماظعؾؿلم اظصققحموععرصةماظؾدائؾماظيتمميؽـمادؿكداعفاممحاظةمسدممتقصرماظرؼاليماٌـادب
صرقماىفدماظالزممظؿ غقؾماٌؾػماظداخؾلمظؾرؼالي:مصؿـالمظقمطانمظدؼـامدارةم تعؿؾمسؾكمصرقمجفدم5مصقظت صقفبماخؿقارمرؼاليمظفمصرقمجفدمٌؾػفمػقم5م صقظت,مومحاظةمتعذرمذظؽمميؽــامادؿكداممجفدمأطامبعدمادؿكداممدارةم عقا عةمدؾؼمأنمررحؿفام تدوؼـةماظرتاغزدؿقر.
أضصكمتقارمالزممظؿ غقؾمعؾػماظرؼالي:موشاظؾامػذهماظؼقؿةمالمتعطكمب ؽؾمواضحم بؾمؼؿؿمذطرمعؼاوعةماٌؾػمبدالمعـفا,موعـمخاللمضلؿةمصرقمجفدماٌؾػمسؾكم عؼاوعؿفمؼؿؿمحلابماظؿقارماألسظؿ.موػلمضقؿةمعفؿةمجدامطلمغعرفمػؾمميؽــام ت غقؾمووصؾماظرؼاليمبدارتـامعؾاذرةمأومالبدمعـموضعمدارةمعقا عة
جفدموتقارمعرحؾةماًرجمأوماظؿؿادات,موػـام‧بمععرصةمعام ؿاجفمايؿؾم وعؼارغؿفمباظرؼاليموؼـؾغلمدائؿامأنمؼؿؿماخؿقارمضقؿةمتقارمسظؿكمتزؼدمسـ اظؼقؿةم اٌطؾقبةمبـلؾةم5مإم%10
اظعؿرماالصرتاضلمظؿؿاداتماظرؼاليموسادةمعامتعطكمعالؼنيماٌرات
ًًتكو اآلن ههدارٔ اهغىهّٕ سًذتاد هٍ ُ اهداٙرُ اهىمًِات اهتاهَّ:
رؼالىمؼعؿؾمسؾكمجفدم5مصقظتم(ميؽـمادؿكدامم9ماوم12مصقظت) م
داؼقدم م
عؼاوعفم1مطقؾقماوم م
تراغزدؿقرمعـمغق م2N2222
160
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ا ا اسييييييتسدىت اٗ رّالٗ بحٍد اعهٖ ىن ِ 5هيييت سيييّتِح عهّن ان تؾّير قّىيَ ٌ ا اهدسو عن طرّل اسييييتسداي ىطييييدر سارحٖ ههطاقَ
161
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تؿقصرمصكماألدقاقماظعدؼدمعـمدوائرماٌُرحؾِاتماىاػزهمظألدؿكدامم Relay Boardsععم اردوؼـقمطؿامتؿقصرمبسحفامموماسدادمع‰رحؾِاتم․ؿؾػفمعـؾماظصقرماظؿاظقف :م
م م
م م
162
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
صكمحالمطانمع روسؽم ؿاجمت غقؾماالمبػرقمجفدمطؾ معـؾم220مصقظتمصاغـكم اغصحمب دهمبسنمت رتىمبقردهمجاػزهمبايفؿماٌـادبمظؾؿ رو ماًاصمبؽمومذظؽمألنم ػذهماظؾقرداتمتصـعم„قدهمومدضفمساظقفمومػقمعامهؿاجفمصكماٌ ارؼعماظؿكمتعؿؾم„فدم طؾ موـؾاًميدوثماىماخطا مضدمالمؼ‰قؿدمسؼؾاػا .م م
ىطادر اضا َّ ههىغهِىات: ػـاكمع رو مقؾمؼ رحمطقػقفمادؿكدامماظرؼالىمععماردوؼـقمظؿففقزمعـػذمظؾطاضفم„فدم 220مصقظتمؼعؿؾمعـمخاللماذاراتماظؿقؽؿماظصادهمعـماردوؼـق م م
http://www.sparkfun.com/tutorials/119م
عؾققزف:معرجعماظصقرموماٌعؾقعاتماٌذطقرهمسـماٌُرحِؾم relayممصكمػذاماظػصؾم م http://muslimlead.com/?p=2121م ومهؿقىماٌدوغفماؼاامسؾكماظعدؼدمعـماظدروسماظرائعفمحقلمغظرؼاتمسؿؾماظعدؼدمعـم اٌؽقغاتماالظؽرتوغقفمعـؾممالدايود ،الثنائي المشع للضوء ،المكثف ،الملف ،الترانزستور م ميؽـؽماظاغطمسؾكماىمادؿمعـما
ا ماظعـاصرماٌذطقرهمظقؿؿمغؼؾؽمامعقضق مؼ رحمم م م
ادادقاتماظعـصرمباظؿػصقؾم
163
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مالحظات شخصًه : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماظلابعم :م
164
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
دُبحانـكَذالؾفمذخقــــرَذمعـؾـــــــمذ ذسؾّؿتِذبالؼؾـمِذالؼـرونَذاالولــى زؾُؿاتـهِذ أخرجتَذهـذاذالعؼلذمـنذ ُ ذوهَدوتهُذالـــــورَذادلـبقـنَذدــــبقـال
أمري الشعراء أمحد شوقى
165
م
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهثاىن أغطْٗ ازدٍٖٕٔ اجلاِزٓ Arduino Shields
166
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
يتمميؽاـم ىن امثير اهىىّيزاتماٌاـ هممماردوؼـاقمػالممتاقاصرمساددمطاؾ معاـماألشطقاةمماظا م ترطقؾفااامعؾاذاارهمسؾااكماظؾااقرداتماٌكؿؾػااةمعـااؾممArduino unoموماإلصاادارةماألسؾااكمم اإلعؽاغقاتمومضقهماٌعاىةمم Arduino Megaم م تعؿؾماالشطقفمبـػسمصؽارهمطاروتممPCIماٌقجاقدهم صكمايادبماآلم,مسؾكمدؾقؾماٌـالماذامملمتقصرم اظؾقحااااافماالممMotherboardممطاااااارتمذاااااؾؽفم ظؾدخقلمسؾكماالغرتغتمصسغؽمتلؿطقعمبؽؾمبلاارفم انمت رتىمطاارتمذاؾؽفمم network interface cardمومتؼااقممبرتطقؾاافموماظاادخقلمسؾااكماالغرتغااتم صقرام..مػؽذامتعؿؾماشطقفماردوؼـقم م م اذامطااانمظاادؼؽمخاااهمدااابؼفمعااعماٌؿقؽؿاااتماظدضقؼاافم صالبدماغاؽمتادركمعادىماظصاعقبفمومالفاقدماٌؾاذولم حؿااكمتؼااقممبؿقصااقؾماٌااؿقؽؿماظاادضقؼمباالغرتغااتماوم ذؾؽفم‣ؾقفم(حقثمدؿؼقممبؾـا موحدهمEthernetممعاـم اظصاػرمبـػلااؽ)مومدقلااؿفؾؽمذظااؽماظؽااـ معااـماظقضااتموم الفقدم,ماعامصكمحاظفماردوؼـقمطاؾمعاامسؾقاؽمصعؾافمانم ت اارتىماظغطااا مجاااػزمومترطؾاافمعؾاذاارهمسؾااكماظؾااقردهم اًاصفمبؽمومتؾدأمصكمبر•فمع روسؽمبؽؾمدفقظفم م م تتىفر العديد من االغطًه و سنستعرض منها التالٌ:
167
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
غطاء اردوينى للشبكة السلكًة Arduino Ethernet Shield
ّيييِ رمذظاااؽماظغطاااا ماعؽاغقااافمتقصاااقؾم اردوؼـااااقمب اااااؾؽاتمايادااااابماآلموم االغرتغتمسـمررؼؼمتقصقؾمطابؾمذؾؽفم عااـمغااق مCAT5معـااؾماٌلااؿكدممصااكم ايادبماآلمومميؽـؽمادؿغاللمذظؽم اظغطااا مصااكمسؿااؾمع ااارؼعماظااؿقؽؿمسااـم بعاااادمبسدااااؿكدامماظ ااااؾؽفماحملؾقاااافماوم االغرتغاااتمصقؿؽـاااؽمعاااـالمتقصاااقؾمساااددمعاااـم االجفاازهماالظؽرتوغقاافمباااالدروؼـقموماظااؿقؽؿمبفااام عـماىمعؽانمصكماظعاملمسـمررؼاؼماالغرتغاتم,م ومػـاااكمبعااضماالصااداراتمايدؼـاافمعااـمػااذام اظغطا متقصرماؼااماعؽاغقفمترطقبمطاارتمذاطارهم ظؿكزؼـماٌؾػااتمومميؽاـماداؿغاللمذظاؽمصاكم بعضماٌ ارؼعماظؿكمهؿاجمتلفقؾمضقؿمبصقرهم دورؼاافمعـااؾمع اارو مظؿلاافقؾمدرجاااتماياارارهم طؾمصرتهمزعـقفمععقـفموم‡زؼـماظؼقؿمسؾاكمطارتم ذاطااافمباااؿماردااااهلامساااـمررؼاااؼماالغرتغاااتمام صاحبماٌ رو م م م م
168
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
غطاء الشبكات الالسلكًة Xbee Shield
م ؼاااقصرمػاااذاماظغطاااا مغػاااسماظقزاااائػماٌقجاااقدهمصاااكم Ethernet ShieldممالطاـمبصاقرهمالمداؾقؽفمWirelessم حقثمميؽـؽمعـمتقصقؾماالردوؼـقمبااىمذاؾؽفمالداؾقؽفم صكمغطاقمؼؼاربم100معرتم( ؿؾػماظـطاقمبـا مسؾكمضاقهم االذارهماظالدؾؽقف) م م
م
169
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
غطاء احملركات (املىتىر) Arduino Motor Shield
م ؼلؿكدممػذاماظغطا مصاكمتقصاقؾماحملرطااتم عاـمغاق م DC Motor, Servo Motors, Stepper Motorsمحقثمميؽـؽمتقصقؾم3م ‣رطاتمصاكمغػاسماظقضاتم(عؾققزاف:مبعاضم
اصاادارتمػااذاماظغطااا متلااؿحمبؿقصااقؾم‣اارطنيم صؼااااط)مومميؽـااااؽمادااااؿغاللمػااااذاماظغطااااا مم اٌ ااارؼعماظاايتمهؿاااجم‣رطاااتمعـااؾمع ااارؼعم اإلغلانماآلظلمRobotsمومعاطقـاتمCNCم م م
170
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
غطاء الشاشه امللىنه التى تعمل باللمس Arduino colored Touch
screenم
ؼلؿكدممذظؽماظغطا ممتقص مذاذافمعؾقغافم تػاسؾقفمتعؿؾمباالدؿفابةمظؾؿلاتماألصاابعمموم ميؽـمادؿكداعفامماٌ ارؼعماظيتمهؿاجم إمودقؾفمظعارضمصاقرهماومبقاغااتمععؼادهموم اظاايتمالمتؽػااكماظ اذاااتم lcdمذاتماظؾااقنم اظقاحاااادمظعرضاااافا,مومؼؿااااقصرمذظااااؽماظغطااااا م بسحفاممومعؼاداتم․ؿؾػاةممتؾادأمعاـمعلااحفم 2ماغشمعرباعمإم4ماغاشمعرباعم(ماإلغاشممػاقم وحدهمضقاسمتلاوىم2.5مدـيتمعرتم)م م
م ػـاكمضائؿفمطؾ همبس
ا مومعقاصػاتمأشطقفماردوؼـقماٌكؿؾػةمودػامسؾكماٌقضعماظؿاظل :م http://shieldlist.org
171
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
مالحظات شخصًه : ػذهماظصػقفم․صصفمظؽؿابفمعالحظاتؽماظ كصقفمسـماظػصؾماظـاظثم :م
172
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
اهفطو اهتاسػ ازدٍٖٕٔ ٔ تطٕز ثٕزٓ املتخكىات الدقٗكْ وفتٕحْ املصدز وَ م
عاٟمْ AVRاىل ARM Cortexاٌتّاٟاً ب ـFPGA
173
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تبدأماظؼصفمصاكمسااممم5002مصاكمعدؼـافماؼػرؼااممIvreaمماالؼطاظقافمسـادعامأؿاعمصرؼاؼمعاـم عفـددااالماألظؽرتوغقااااتمظقـاض اااقامد‰اااؾؾمتعؾاااقؿمرُاااالبماىاععااافموماٌعاػااادماظؿؼـقااافمسؾاااقمم اٌؿقؽؿاتماظدضقؼفماومعامؼعرفمبسدؿماظاام Microcontrollersم,مطاانماهلادفمعاـماظؾؼاا م ا‧ادمأدؾقبمدفؾمومش معؽؾػمألدخاالمػاذاماظـاق معاـماظعؾاقممصاكماظدرادافماىاععقافموم ؼؽااقنمعؿاااحممظؾاافقاهمصااكمذاتماظقضااتممدونمانمتؽااقنمػـاااكمضقااقدمأومتااراخقصمعؽؾػاافم ؿاااجقنمظ اارائفامألدااؿكدامماظا•قاااتماظؿااكمطاغااتمتلااؿكدممصااكمبر•اافماٌؿقؽؿاااتم اظدضقؼفمصكمػذاماظقضتمم..معـمػـامتؾدأمرحؾفمغ سهماردوؼـقممم Arduinoم م ضااااااممطاااااؾمعاااااـم"معاداااااقؿقمبااااااغزىم Massimo Banziم"مباظؿعاااونمعااعم"م داؼػقاااااادمطااااااقارتقؾقسم
David
Cuartiellesمممومجاؼـؾقطامعاارتقـقم Martino
Gianlucaم"مبااااسرالقم
ع رو مأردوؼاـمماؼػرؼاامم Arduin of Ivreaممومشتمتلؿقفماٌ رو مبسداؿم اذافرمذكصااقفمتار قاافمصااكماٌدؼـاافموم طااانماهلاادفماألدادااكمظؾؿ اارو مػااقم سؿؾمبقؽفمتطقؼرمظؾؿؿقؽؿاتمدضقؼفمبصقرهمعػؿقحفماٌصدرم600مصاكماٌؽافممومتااؿـمػاذام اٌ رو مسؿؾمبقؽفمتطقؼرمبر•قفمظؾؿؿقؽؿاتماظدضقؼفم Integrated Development Environmentمومتؽاااقنم•اغقااافمصاااكمذاتماظقضاااتمطؿاااامتااااؿـمسؿاااؾمظقحااااتمتطاااقؼرمم Development Boardsمصغ همايفؿمبؿؽؾػفمبلقطفمميؽـمظؾطالبموماهلاقاهماظؿؼاـنيم هؿؾمدعرػا .م
174
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
م بييدأمتطييِّرماٌ اارو ماسؿؿاااداًمسؾااكمع اارو مدااابؼما
اافم
Wiring Platformموماظذىمضدمنحمصكمهؼقؼمبعضم أػدافمع رو ماردوؼـقماألداداقفمعـاؾماٌصادرماٌػؿاقحمم ظؽاـمملمؼصاؾماماٌلاؿقىماظاذىمشـااهمصرؼااؼماظؿطاقؼرمعاـماظـاحقافماظا•قافموماظؿصااؿقؿم اظعؿاادىم Hardware Designظاذظؽممتماظؾادأمصاكماظعؿاؾمسؾاكمتطاقؼرماظؾغافماظا•قافم اٌلااؿكدعفمصااكمع اارو مWiringمومجعؾاافامأداافؾمومأصاااؾمطؿاااممتمدعااجمبعااضماظؿؼـقاااتم اٌلؿكدعفمصكمظغفمProcessingمموم
قاتمػاذهماظؾغافماىدؼادهمبسداؿم Arduino Cوم
ػكمع ابففمجداًمظؾغفماظا•قفم C++معـمغاحقفمررؼؼفمطؿابفماألواعرمومتـلقؼماألطقاد .م متمأرااالقمأولمظقحاافمتطقؼرؼاافممألردوؼـااقممصااكم اواخاااااارمسااااااامم5002مومأسؿؿاااااادتمسؾااااااكم ذر ف ATmega168معـماظعائؾافماٌ افقرهم AVRموماظؿكمتـؿففامذرطفم Atmelمظؾ ارائحم األظؽرتوغقااافم,موم م
قاااتممػاااذهماظؾقحااافمبسداااؿم
Arduino Serial V.1
م بعادمأرااالقماظؾقحافمضاااممعىلدلااكماٌ ارو ممبـ اارمطاؾمعااامؼؿعؾااؼمباسردوؼـقمبرخصاافمعػؿقحاافم اٌصدرمسؾكمعقضعمarduino.ccموماظذىمطانمؼعـكممأنماىمصردمصكماظعاملممميؽـفماالرال م وماظؿعدؼؾمسؾاكماظؿصاؿقؿاتماهلـدداقةموماظ اػراتماٌصادرؼةمSource Codesمظؽاؾمعاـم بقرداتماردوؼـقماٌكؿؾػةم Arduino Boardsموماظا•قاتممArduino IDEموممتمغ ارم طؾمػذام•اغاً .م
175
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ومعامانممتمغ رممماٌ رو محؿاكمتقاظاتماظؽاـ معاـماظؿطاقؼراتمسؾاكماظؿصاؿقؿاتماهلـدداقفم ظؾقحاتماألظؽرتوغقفمومبقؽفماظؿطقؼر عـمعفـددنيمومػقاهم․ؿؾػنيمحقلماظعاملمموممتمأصدارم اظعدؼدمعـماظؾقحاتماألحدثمعـؾ :م Arduino UNO , Arduino Mega, Arduino lilyPad, Arduino Duemilanove, Arduino Fio ومطانماظؼادؿماٌ رتكمصكمطؾماألصداراتماظلابؼفمػكماغفامتعؿؿدمسؾكمذرائح اٌؿقؽؿاتم اظدضقؼفمعـمسائؾافم AVRماظؿاكمتـؿففاامذارطفمAtmelمومحؼاؼماٌ ارو منااحمبااػمرمحؿاكم وصؾمسددماظؾقحاتماألظؽرتوغقفماٌؾاسفمام300,000مضطعفمصكم․ؿؾػمدولماظعامل. ٖ عاي 5006متعرضماردوؼـقمظـؼؾفمغقسقفمجدؼادهم جائاااتمسؾاااكمؼااادمصرؼاااؼمLeafLabsموماظاااذىمضاااامم بؿطقؼرمظقحفمأردوؼـقمجدؼده متلؿكم The Maple boardمتعؿؾمب ارائحمأظؽرتوغقافمعاـمسائؾافم ARM Cortexموماظؿكمغؼؾتماردوؼـقماماصؼمجدؼدمعـم اظلارسفموماظؼاقهمحقاثمتؿؿقازمقاعمذارائحم ARM باحؿقائفااامسؾااكمععاىاااتمساظقاافماظلاارسفمشؿؾااؽمضااقهم ععاىفمتؾدأمعـم45معقفامػرتزمومتصؾمصكمبعضماالصدارتمام6.2مجقفامػرتزم .م م وبذظؽمأدؿطا مصرؼؼم LeafLabاًروجمعـمحدودماعؽاغقاتمذرائحمم AVRمومادؿكدامم اىقاؾماىدؼاادمعااـم ARM Cortexعااعماالحؿػااازمبؾغاافمأردوؼـااقماظا•قاافماظؿااكمتؿؿقاازم باظلفقظفمومخؾقػامعـماظؿعؼقداتمومصكمذاتماظقضتماالحؿػاازمبعاعاؾماظلاعرمحقاثمبؾاغمداعرمم Maple Boardمحقام31مدوالرمععمتؽؾػفماظ قـ .م م
176
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
ِ بياهرؽي ىين ميومماظؿطاقراتماظلارؼعفمصاكمظقحااتمأردوؼـاقمماٌكؿؾػافم ماالمانماظؿطاقؼرمملم ؼؿقضػمسـمحدودم ARM Cortexمبؾموصؾمامذرائحم"معصاػقصاتماظؾقابااتماٌـطؼقاةم اظؼابؾةمظؾا•ةم"م)Field-Programmable Gate Arrays (FPGAمصاكمساامم5060م متمغ رمع رو معػؿقحماٌصادرما
افم Papilio Arduinoموماهلادفمعـافمػاقمصاـاسفمظقحافم
اردوؼـقمتعؿؾمب رائحمعـمغق مFPGAمومميؽـمبر•ؿفامبؾغفم Arduino Cم م تتىّز صراٙرمم FPGAمباظلرسفماظػائؼفمصكمادا مسؿؾقاتم اٌعاىاااافمبصااااقرهمعؿقازؼاااافمومصااااؽمت ااااػ ماظؾقاغاااااتم Decodingمظذظؽمتلؿكدممصكماظؽاـ معاـماظؿطؾقؼااتم اظصـاسقفماظؿكمؼؽقنمصقفامساعؾماظقضتماعارامحا
ااًمصاكم
تصؿقؿماٌـؿجماظـفائكمظؽاـمؼعقابمػاذهماظ ارائحمسادهم أعقرموعؾفامعؼؿصرهمسؾكماحملرتصانيموماظ ارطاتمصؼاط,م األول:متؽؾػفمظقحاتماظؿطقؼرماًاصفمبفااموماظؿاكمؼؾادأمدارسفامشاظؾاامعاـم600مدوالرموماطـار,م باغقا:مصعقبفمبر•فماظ رائحمحقثمتلؿكدممظغاتمبر•قفمععؼادهمصاكمت اغقؾمػاذهماظ ارائحم عـؾم VHDLممومظغفمVerilogم .م م م جا مع ارو مم Papilio Arduinoمظققاؾمػاذهم اٌ ااؽالتمومؼؼاادممظقحاافمتطااقؼرمجدؼاادهمام سائؾاافمظقحاااتماردوؼـااقموممتماصاادارم Papilio Arduino IDEمومػااكمغلااكفمععدظاافمعااـم برغااعجم Arduino IDEىعاؾمظغاافماردوؼـااقم
177
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
تؿـادبمععمذرائحم FPGAطؿاممتماصادارمظقحااتم papilio boardsظؾؾقاعمعاـمعمـؿصاػم سامم5060مبسدعارمتؾدأمعـم10مدوالرمصؼطمومميؽـؽماالراال مسؾاكماٌزؼادمعاـماٌعؾقعااتم سـمظقحاتم papilioمعـماٌقضعماظؿام http://papilio.ccم بعدمع رو م Papilio Arduinoماصؾقتمسائؾافماردوؼـاقمهؿاقىمسؾاكمظقحااتمتطاقؼراتم تعؿاؾمتؼرؼؾاامبؽاصافماظؿؼـقااتماظؿاكممتمابؿؽارػاامعـاؾمم AVRمومذارائحم ARM Cortexموم حؿكمذرائحم FPGAم م ومصكماظـفاؼفمميؽــاماظؼقلمأنمع رو ماردوؼـقممصاـعمأطاامم•ؿؿاعمتؼـاكمعاـماٌفـددانيموم اظػااـنيموماهلااقاهمؼعؿؾااقنمسؾااكمتطااقؼرماالصمؽااارموماٌ ااارؼعماٌؿعؾؼاافمباااظؿقؽؿماآلمبصااقرهم ت ارطقفمومتػاسؾقفمحقلماظعاملمماسؿؿاداًمسؾكممادؿكداممظقحاتماظؽرتوغقفمبؿؼـقااتم․ؾؿػافموم ععمذظؽمؼؿؿمبر•ؿفامقعامبؾغفمبر•قفمواحدهمموم•اغقفمومعؿاحفمظؾفؿقع .م م اغفم•ؿؿعمجدؼدموم․ؿؾػم..محؼاًماغفامبقرهماظؽرتوغقفم ....م
178
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
فاب الب مصر او ما يعرف بأسم ورشه التصنًع الشخصٌ
ػقمعؽانممع‰صؿؿمظؿققؼؾماالصؽاارمعاـم•اردمخقاالمامواضاعمعؾؿاقسممومبـاا م•ؿؿاعمعاـم عصاااـعكماالصؽاااارموماٌـؿفااااتمعاااـماهلاااقاهموماٌؿقااارصنيمصاااكم•ااااالتم․ؿؾػااافممعـاااؾ:م (االظؽرتوغقاتم–ماهلـددفماٌقؽاغقؽقفم–مػـددفمايادبم–ماظؿصـقعماظرضؿكم–ماظػـقن) م ومؼقصرماٌؽانماظعدؼدمعـماالدواتماظؿؼـقفماظؿكمتلاسدكمسؾكمتصـقعماصؽاركمعـؾ :م
عاطقـفماظؼطعمباظؾقزرمLASER cutter machine
رابعفمبالبقفماالبعادم3D printer
عاطقـفمحػرمباظؿقؽؿماظرضؿكم CNC machine
بقرداتماردوؼـقماٌكؿؾػفموممعؽقغاتماظؽرتوغقفمعـقسف م
وماظعدؼدمعـماالدواتماالخرىم ....م ؼفدفماظػابمالبمامتقص مبقؽفمت ارطقفمومتعؾقؿقفمصكمذاتماظقضتمتلاسدماالصرادمسؾكم االبدا مومارالقماظعـانمالصؽارػؿموممخقاهلؿمومع ارطفمػذهماالصؽارمععمالؿؿع .م م
179
ازدٍٖٕٔ ببشاطٛ
Simplify Arduino
طؿامؼقصرموورشمومدوراتمتدرؼؾقفمظالصرادمعـؾ :م
ورشمتدرؼبمسؿؾقفمالدؿكدامماردوؼـقم Arduino workshopsم م
ورشمتدرؼؾقفمظالرػالمظؿعؾؿماالظؽرتوغقاتم Young Fab.Academyم
اذامطاغااتمظاادؼؽمصؽاارهمومترؼاادمانمتـػااذػامومهؿاااجمامبعااضماٌلاااسدهماومتعاااونمعااـم اذكاصماخرؼنيماومهؿاجمامدوراتمتدرؼؾقفمصكماردوؼـقممصقؿؽـؽمزؼاارهمصاابمالبممعصارم ؼقعقامعـماظلاسفم12مزفرامحؿكم8معلائاٌمقعماالؼام م http://fablab-egypt.comم https://www.facebook.com/fablab.egyptم
180
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
181
م
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
182
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
َاهىطادر اهتغهّىَّ اهتٖ اعتىدت عهٍّا ٖ متاب : ىذتِٗ اهمتا
http://www.instructables.com/id/Arduino-Projects http://www.oomlout.com http://ladyada.net http://bildr.org http://hlt.media.mit.edu/?cat=5 http://circuit-projects.com/microcontroller http://www.eeweb.com http://www.lvl1.org http://www.coolcircuit.com
http://www.instructables.com/id/Breadboard-How-To
http://blog.makezine.com/2009/12/11/arduinoshields-open-source-hardwar/
183
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
MATLAB
هىن ّرّد أستسداي اردًِِّ ىػ اهىاتال
http://www.mathworks.com/academia/arduin
o-software/arduino-matlab.html
http://arduino.cc/playground/Interfacing/Matlab
غَ بأستسداي اردًِِّ ّىمًن انٙىصارّػ را :تطًغٍا بًفسن
http://fritzing.org/projects/ http://www.instructables.com/id/Arduino-Projects http://www.ladyada.net/make/boarduino/index.html http://www.ladyada.net/make/mshield/index.html http://www.shapeoko.com/wiki/index.php/About http://www.ladyada.net/make/monochron/index.html http://www.ladyada.net/make/bedazzler/index.html http://www.ladyada.net/make/mintyboost/index.html http://dangerousprototypes.com/forum/viewtopic.php?f=56 &t=2892#p28410 http://www.ladyada.net/make/logshield/ http://www.wayneandlayne.com/projects/video-game-shield/ http://excamera.com/sphinx/gameduino/ http://dangerousprototypes.com/2012/03/24/arduino-voicecontrol-with-easyvr-shield/ http://blog.minibloq.org/p/documentation.html
http://www.doctormonk.com/2011/09/arduino-solar-radio.html http://j4mie.org/blog/how-to-make-a-physical-gmail-notifier/
http://blog.tinyenormous.com/2008/11/25/gmail-notifierproject-for-dummies/ http://reprap.org/wiki/Arduino_Mega_Pololu_Shield
184
ٛازدٍٖٕٔ ببشاط
Simplify Arduino
مُت:ٗىراحػ أسر
30 Arduino Evil Genuis projects Arduino.Internals Arduino Projects to Save the World Arduino robotics Beginning Android ADK with Arduino Environmental Monitoring Arduino Getting Started with Arduino (Second Edition) Shrinkify Your Arduino Projects -burn arduino to ATiny (Video) Make a mind-controlled arduino robot Make_Magazine_Volume_25 Making Things Talk Using Sensors (Second Edition) Making Things see hear and feel your world (Second Edition) O'Reilly - Arduino Cookbook O'Reilly-Make - Arduino Bots and Gadgets Oreilly Verlag - Arduino Physical Computing Practical Arduino Cool Projects For Open Source Hardware Programming Interactivity Programming Your Home Automate with Arduino, Android, and Your Computer The Art of Electronics 2nd edition Complete - Horowitz and Hill
185