Contenu connexe Plus de خالد المشكوري (18) Simply arduino2. ٛببشاط ٍٕٖٔازدSimplify Arduino
1
سخصةانكتاب
يخضع انكتابنهانحش ًشخصيانمصذس ًمفتوحًتصوستًاألنكتشوويًامجاو
ويمكىكانتىششيًُعذنت اوتشاء كيفماششطأٌكتز نانمصذس ش
موقع مه مأخوري انكتاب فى ًانمستخذم االتعاد ًثالثي انصوس
oomlout.co.ukانحش ًنهشخص ايضا تخضع وانمصذس ًمفتوح ي
انحصول تششط ًتجاسي تصوسي انعمم رنك تستغم ان يمكىك
ارن عهىمثاشش.انمؤنف مه
انكتاب اعجثك ارادعم وأحثثتو انكاتةمه انمزيذانكتة
معى تانتواصم تتشدد فال انمصذس ًمفتوح انحشي ًانعشتي
abdallah.ali.abdallah.elmasry@gmail.com
4. ٛببشاط ٍٕٖٔازدSimplify Arduino
3
الكتاب فّسض
َرسطماظؽؿاب....................................................................................م(مم1م)م
ىغهِىاتمحقلماظؽؿاب........................................................................م(م5مم)م
:األِو اهفطومعؼدعفمسـماردوؼـقمٌُوماؿ قِؽؿاتماظدضقؼف..........................(..........مم7م)م
:ًٖاهثا اهفطوماظؿففقزات.................................................................(.....م21)م
:اهثاهج اهفطومابدأمععماردوؼـقم....................(..........................................م43)م
:اهرابػ اهفطومادؿكداممايلاداتم(..........................................................م77)م
اهفطو:اهساىشماظؿقاصؾمععمايادبماآل..............(................................م92)م
:اهسادش اهفطومادؿكدامماحملرطاتم......................(..............................م113)م
اهسابػ اهفطو:مودائؾماألدخالموماالخراجماٌؿؼدعف..............(.....................م125)م
:اهثاىن اهفطومأشطقفماردوؼـقم.........................................(.....................م166)م
:اهتاسػ اهفطومتارؼخمتطقرماردوؼـق........................................................م(173)م
االسرّن صارن ِ تغهيممFablab Egypt..........................(.......................م179)
:اهىراحػ ىهذلمعراجعم(طؿبم+معقاضعمتعؾقؿقف.........)....................(.............م183)م
م
مم
6. ٛببشاط ٍٕٖٔازدSimplify Arduino
5
م
الكتاب َو ْاملشتّدف الف٠ات
مممممم مبلافقظفمومؼلارمداقامطؾمعـمؼرؼدمتعؾؿمتؼـقااتماظاؿقؽؿماآلا
ااتماااهمباٌؿقؽؿاافماومخاافمتؼـقااؽمععرصااانمظاطاامااكمعاافماومحؿااظدضقؼ
ااُؾافمتعااكمبداؼااتمصازظاالااذامالاؿمػماغػما افماظااـمظدؼااؾمعامطوما
ٌعرصفمماىقؾماىدؼدمعـماٌؿقؽؿاتماظدضقؼفمعػؿقحفماٌصدرمم
ِناحتاجاىلٓخربٜفدلاهاإللكرتٌٔٗاتٔٛالربدلٜحتاقسأِراالكتاب؟
اضابعامافااٌعرصاماقاتابادادامااتااالظؽرتوغقامومافااظا•ام
‣ؾذهمجدامالطـفامظقلتممطذارممىضارورممؿظؾاؿعؾمصؾممؼاد
ممادراارمضاافؾمومعقلااؾقبمداااتمبسداافماٌعؾقعااتمبؽؿاباضؿ
مماالعؽانمومميؽـؽماذامواجفتمصعقبفمعامانمتراداؾـك
سؾكماظاؼدماالظؽرتوغكمم
م
سٕف ٝالر وااْتعمىالكتاب ِرا ٜف؟؟
طقػمتصؿؿماإلظؽرتوغقاتماظؿػاسؾقةمبـػلؽم
اظعؿؾمسؾكمبقؽةمتطقؼرمًِِّاردمArduino IDE
اظؿقؽؿماالظؽرتوغكمظؽؾمعامػقمحقظؽمعـماجفزهماظؽرتوغقفمم
7. ٛببشاط ٍٕٖٔازدSimplify Arduino
6
مياياهمت يّحغهنيسااراابماٌفاتؽؿلافمااتماألوظق
مممفظػفؿماألطاقادماظا•قافماٌلاؿكدعممكصاممماظعدؼاد
ممماارؼع ٌعاـمامماظؿاكمكادمسؾااتعؿؿماِردًِّيمادما,موظؼ
ممماكاافماظؿاااـماٌصااادرماًارجقااادمعاااضااػتماظعدؼا
ممارؼعماظرائعفموماظؿاك ٌهؿقىمسؾكماظعدؼدمعـما
ةماظؽؿابم ميؽـؽمانمتـػذػامبـػلؽمبعدمضرام
الكتاب تصىٗي مت كٗف؟
يىّييتط يييتممممافاارحمباألعـؾا اكماظاادمسؾااؾقبمؼعؿؿااابمبسدااظؽؿ
Examplesممممومحقثمؼؿؿمتؼدؼؿماٌعؾقعاتمسؾكمػقؽافمأعـؾاف
م ازااالمجااؾمعـاادممطاهمومؼؼ اغاصمممافا•افمبرااؿمظغااكمتعؾاادمصاجدؼ
اردوؼـق,مطؿامدؿفدممغفاؼةمطؾمصصؾمصػقفم․صصفمظؽكم
كصقة تؽؿبمعالحظاتؽماظ.م
ماذامطـتمعـمعلؿكدعلموؼـدوزممميؽـؽمأمممممنمتؽؿبمداخاؾمعؾػااتماظؽؿابماإلظؽرتوغقاة
ممم عاـمغاقPDFممممباداؿكداممبرغااعجFoxit PDFمممأوماذامطـاتمتؼارمممماظؽؿاابمباداؿكدام
ظقحماظؽرتوغكمTabletعـؾمIpadميؽـؽمادؿكداممبرغاعجمGood Readerمععم
ممممممممممعالحظفمانماظؽؿابمعؿقاصاؼمعاعمقاعماجفازهماظؿابؾاتماٌكؿؾػافماظؿاكمشؿؾاؽمذاذاف
بؼقاسم4م.بقصفماوماطامم
9. ٛببشاط ٍٕٖٔازدSimplify Arduino
8
ىًيمزىينممممممممماامااانماظعؿاؾمسؾاكمصاـاسفمدائارهماظؽرتوغقافمظؾؼقاظاقسمبؾعقادمط
ممممممممتصااؿقؿماظؽرتوغااكمععؼاادمعااـمعؽقغاااتمعـااؾ بقزقػاافمععقـاافمؼعـااكمبـااا
.اٌؼاوعات,ماٌؽـػات,ماٌؾػات,ماظرتاغزدؿقر...اخلم
م
ماًتممممممماظادوائرماالظؽرتوغقافمبابؿافماظؿصاؿقؿموماسااده
مممعاـ مبلقطمصقفامطانمؼعـكماظؽـ ماومتعدؼؾمجز تغ
ممسؿؾقاتمععؼدهمعـؾماظؾقاممومضطعماالدالكموماسااده
ممممممعااـ اظـظاارمصااكماٌكططاااتماالظؽرتوغقاافموماظؽااـ
ممماالعااقرماٌزسفاافموماظؿااكمادتإممماضؿصااارموزقػااف
ممقاكم•ؿاافمسؾاااتماالظؽرتوغقااقؼرماٌـؿفاتطمماـاافمعاس
اٌفـددنيماٌؿكصصنيمصؼط.م
م
م
بفضوماظؿطقرماظؿؽـقظقجكمصكم•الماذؾاهماٌقصالتموم
ممممماظادوائرماٌد•اف اخارتاIntegrated Circuits
(IC)مممممممماصؾحمعاـماٌؿؽاـموضاعمدائارهماظؽرتوغقافمطاعؾاف
مممممهمحفؿفاامضادمالمؼؿفااوزمرأسماظادبقس سؾكمذر
فمصغ
مممممغمػـاااكمدوائاارماظؽرتوحؿااكماغاافمصااكماظقضااتماياااقاافم
حفؿفامؼؼدرمباظـاغقمعرتمNano Meterموماظؿكمالمميؽـم
روئقؿفاماالمبسدؿكدممعؽااتمضقئقفمخاصف.م
10. ٛببشاط ٍٕٖٔازدSimplify Arduino
9
مىاٗادمتطقرممIntegrated Circuitsممازفقمممرمجقؾمخاصمعـماظادوائرماالظؽرتوغقاف
ممؼلاؿكممفاٌؿقؽؿااتماظدضقؼامMicro Controllersمممومػاكمفاذاؾمبمقؽؿؾقاتمممرمعصاغرمضاباؾ
مممم,م•ؿقسفمعـماظقزائػمعـؾمضرائفمدرجفمحراره,ماظؿقؽؿمصاكم‣اركمطفرباك ظؾا•فمالدا
مممماومحؿكمادارهمخطقطماالغؿااجمصاكماٌصااغع
اظؽاى,ممومطؾمذظؽمؼؿؿمبممممؾلاارفمساـمررؼاؼ
مماواعرمبر•قافمومؽباذظمممممهقظاتمتؼـقافمصاـاسف
اؿقؿمااـماظؿصاافمعاافماالظؽرتوغقاادوائرموماالغظؿااظ
ممماالظؽرتوغكماظؾقتماٌعؿؿدمسؾاكماٌؽقغاات
ممماـمالىاافمميؽاارمبر•قاماواعاطماااؾؾفمصؼااظص
.صردمانمؼؽؿؾفامومؼصؿؿفامبـػلفمبلفقظفمومؼلرم
م
م
تتىّزمممممممموماظؿعادؼؾ اٌؿقؽؿاتماظدضقؼافماؼااامبسعؽاغقافماظاؿغ
متااصاكماىموضم,مممماكااامصامذاقؽامع اااقماردتمانمتغااؾمبلاارفمظابؽ
افمومااطقرماظا•قااكماظلاادؼؾمصااؽمباظؿعااؽمذظااروسؽمميؽـا ع
مماااكماٌؿقؽؿاادهمسؾاارماىدؼااعماالواعااادهموضااسفماااظدضقؼفموم
مممهوربؿفاااماطـاارمعااـمعاارممممااروسؽ مانمتصااؾمعومػؽااذاما
قد ظؾفدفماٌـم...م
م
م
11. ٛببشاط ٍٕٖٔازدSimplify Arduino
10
ِاردًِّييArduinoمممافاافمعػؿقحااقردهماظؽرتوغقااكمباػ
ادرمااٌصOpen Hardwareماارمومااـماالصؽامع اـااقؼرماظؽاظؿط
مممماـااقطفمساافؾفمومبلااقرهمدامبصااظؿقؽؿماآلاافمبااارؼعماٌؿعؾؼا ٌا
مممممممررؼاؼماداؿكداممظغافمبر•افمعػؿقحافماٌصادرArduino Cموم
مممافماٌؿقؽؿاافاؼااؿؿمبر•امماقردهااقدهمسؾااكماظؾاااٌقجااؿكداممابسدا
مممبرغااااعجمخااااصمؼلاااؿكArduino IDE: Integrated Development
Environmentموماذىااظااامؼااؿااااؾااامظؾؿقؿقااااقصرم•اغاااممكااااا اقماظرااعماردوؼـاااااـمعقضااااعااام
http://arduino.cc
وااملصدز وفتٕح ٍٕٖٔازد ُا ٍٜوع؟؟
ًّٖغَاًيممممممموماظؿعادؼؾمسؾاك ميؽـاؽماالراال
اؿقؿاتمااظؿصاقةااهلـددماػراتما وماظادرؼةااٌصم
Source Codesمظؽؾمعـمبقرداتمًِِّاردم
اٌكؿؾػةمArduino BoardsمومArduino
IDEممؽاااؽمومميؽـاابمععااامؼؿـاداعًااااؼام
تطقؼرمظغةمبر•فمArduino Cم‟رؼفمتاعفموم
ػراتم مسؾكماظ االرالاٌصدرؼةماًاصةمممبفاا
مممممممممطؿامانمطؾمػذهماٌؿقزاتموماظا•قااتم•اغقافمشاعاامسؾاكمشارارمبعاضماظؾقؽااتماظؿطاقؼره
عـؾمMikro Cممرخصفمعؽؾػف وماظؿكمتؿطؾبمعـؽمذراممممماآلفتصؾمصكمبعاضماالحقاانما
اظدوالراتم.الدؿكداعفام
م
12. ٛببشاط ٍٕٖٔازدSimplify Arduino
11
ّىّز ىابِرداتمًِِّاردمسـمباضكماظؾقرداتماظؿطقؼرؼفمظؾؿؿقؽؿاتمماظدضقؼفماالخرىم
Micro Controllers Development boardsمػقمعدىماظلفقظفماظؿعاعؾمععفاموم
بلارفماظؾغفماظا•قفموماظؿكمسؿؾمصرؼؼمعـماؼطاظقامسؾكمتطقؼرػامعـذمسامم5002محؿكم
االنم,مومظؼدممتماذؿؼاقمظغفماردوؼـقماظا•قفمعـمظغفممprocessingومظغفم"دكمC"موماظؿكم
•تعدماداسمظغاتماظافمايدؼـفمومصاحؾفممبقرهمتؼـقفماظا•قات.
م
م
قييدّظيينممماظااؾعضمانماردوؼـااق
عممماذاااـمػااطمالطاافقاهمصؼااؿؿمظؾاص
ممرظاااقسمصاااققحمظؼااادممتمتطاااقؼهم
مماؿقؼاتااعماٌلااااابمقااااظقـادااا
ممم معااااـماهلااااقاهموماغؿفااااا ابؿاااادا
ادظقؾمااقرهموماظاااارؼعماٌؿطااا ٌبا
اغفممممممػـااكميقازاتمجؾاارهموعاؾ
ًِِّاردممممارؼعمؼؿؿمبر•ؿفاامبؾغاات سؾكمضؿفماٌؿقؽؿاتماظدضقؼفمومػكماعؽاغقفمد•فمصكمع
ػـددقفمعؿطقرهمعـؾمMATLABمومظغفمJavaمحقثمممممدؿفدمعؽؿؾااتمبر•قافمصاكممجااػزه
ظؾغفماظااMATLABموماىاصامخاصفمباظؿعاعؾمععمًِِّارد,ومدؿفدمصكمصػقفماٌراجعمبعضم
اٌقاردماظؿكمتعؾؿؽمطقػقفمادؿكدامماالردوؼـقمععماٌاتمالب,مطؿامميؽـؽماؼاامادؿكدامم
ظغفمJavaمومظغفمVB.NETممصكماظؿقاصؾمععمبقرداتممًِِّاردماٌكؿؾػف
13. ٛببشاط ٍٕٖٔازدSimplify Arduino
12
سبّو ٖعهماهىثاو:ممممظاعارم ميؽـؽمسؿاؾمدائارهمادؿمممرؾطؼاسمومايارارهمبااالردوؼـقمومامادالممم
مماظؾقاغااتماMATLABممممسؾاكمايادابماآلماالجارممممهاظؿقؾاقالتمايلاابقفماٌؿطاقرم
اٌؿقصرمبؾغفمMATLAB.م
م
امثر ىنمممممماػمزالزلمبسداؿكدامماالردوؼـاقمومظغاف ارؼعماظؿكمابارتماسفابكمطاغتمعلؿؽ ٌا
بر•فمMATLABممممممممممممارمعاـمسؿارهمصاكماظقالؼاات ومطاغتمعاـمتصاؿقؿمذاابمصاكماظلاددافمس
ممااوزاافمالمتؿفاازالزلمبؿؽؾػااؾمظؾااارمومهؾقا ادهمادؿعااؾموحاااممبعؿااثمضاادهمحقااٌؿق50مدوالمرم
عراتمومبقردهم بادؿكداممبعضماٌلؿًِِّاردممصؼطمممععماظعؾؿمانماظدوائرماالظؽرتوغقفماٌؿابؾاف
ضدمتؿؽؾػماطـرمعـم5000مدوالرمسم
14. ٛببشاط ٍٕٖٔازدSimplify Arduino
13
ًِِّارد بِردات اًِاؼArduino Boards
Arduino UNO, Arduino Mega, Arduino Nano, Arduino
Mini, Arduino Lilypad, Arduino Demulive, Boarduino
تستهفممااظؾقرداتمسـمبعافامممممممممماظاؾعضمعاـمغاحقافمساددماٌكاارجموماٌاداخؾموماظؿاكمهادد
سددماالجفزهماظؿكمميؽـماظؿقؽؿمبفامومسددمايلاداتمSensorsمممماظؿكمميؽـمد•فاامعاع
ممداقاماٌقج اااارسفماٌعاافمومداافماظدضقؼاماٌؿقؽؿ اقااذظؽمغااقردهمومطااظؾافاابداخؾمافماوماعؽاغق
تؾدؼؾفاماممالمومدقفمغؿـاولممصكمػذاماظؽؿابمبقردهArduino Uno
15. ٛببشاط ٍٕٖٔازدSimplify Arduino
14
ٖعه َعاى ًُظرُداٙر
Arduino Uno
مداٙٔرًَِّاهمترمه صغمممممتلاؿكدممصاكمبر•افم
عؿقؽؿاافمممممعااـمذاارطفماشااؾATmega328موم
تقصرممماػاذهماظادئرةمممممعـاصاذمظؿقصاقؾماٌؽقغاات
مؼاااـمررؼاارهمساافمعؾاذاماٌؿقؽؿافماااالظؽرتوغقم14مادخؾما(ع|مممالاماظرضؿ اقااـماظـاارج)معا․
Digital In/outمعـمػذهمال14مؼقجدم6مممممميؽاـماداؿكداعفامطؿكاارجPWMمممأومعاامفؼعار
اهر باهتغدّوٕاهًبضي عرض ٖعه اهىغتىد ْقى(Pulse-Width modulation)مممومداقف
ممغؿقدثمسـمػذهماًاصقفمصاكمممممممصصاؾمطاعاؾمؼلاؿكماظادخؾموماًارجماظؿؿاابؾكمAnalog
Inputs & Outputs
أّضامهقيماظدائرةممسؾكممممعفؿازمطرؼلاؿال
Crystal Oscillatorارتددمابااااا16MHz,م
باالااصفاضامامادخؾاعامUSBممماؾااـمأجااعا
مممادخؾاااكمعااب,مومػـااعمايادااؾمعااظؿقاص
مااصفماااؾم,مباالضاااةمعـػصااظؾطاضاICSP
headerماذيماواظااااصقفماافماضااااامررؼؼاااؼعؿاام
ظمماؾةاازالمعقصاالمالمتااةموػاا•اةماٌؿقؽؿ
باظؾقردهم(†الفماظاUSB)مومميؽـؽمانممممتعؿامبقردهماردوؼـاقمممػاذهمممممباقردهمتطاقؼرمومبر•اف
اغرهاعصمارااؿكدامماٌؾاذاافمظالداٌٌفقؽٌٌومعDevelopment Boardاكاصفماامااؾمعااقيمطااامهاتؼرؼؾ
هؿاجمظؽلمتعؿؾمسؾقفاممسـمررؼؼمعـػذماظ دقاااUSBممفأومسـمررؼؼمعصدرمخارجكمظؾطاضام
عـؾماظؾطارؼف.م
16. ٛببشاط ٍٕٖٔازدSimplify Arduino
15
ب ُاهداٙر اىدادَاهطاقPower up
ينيًّىممممماذاااللمعـػااـمخااةمإعاامعاادائرةمباظطاضااعادادماظ
اظااUSBمصؼطممممممأومسـمررؼاؼماداؿكداممعصادرمخاارجل
اقلمامطؿقا اااظؾؽفرباACDCمادااادماظااظقؿائادمارةمباىفا
اظالزممظؾعؿؾماومحؿكممرسـمررؼاؼمبطاماؼةم9مممصقظاتماو4م
بطارؼاتم1.5مصقظتمممحقثمؼؿؿمتقصقؾمررماظؾطارؼاة
معدخؾماالرضلماGndموماظاامVinمماظدائ.رةم
م
م
ممم
تسيتطّػممااظادئمممممرةماظعؿاؾمسؾاكمجفادمؼارتاوحممبانيمال6م-27ممم,صقظات
ظؽـم‧بماالغؿؾاهمممممممحقثماغفماذامضؿـاامبؿاسعنيمجفادمأضاؾمعاـ7مممصقظات
صإنماٌكرجماٌؿقؽؿةمPin 5Vمممضدمالمؼلؿطقعمتسعنيمجفدمخرجمؼؾؾاغ
اظمااا5مممممممامسادمماداؿؼرارماظاداىلديمااصقظاتماٌطؾاقبموضادمؼئرة,ماااماذاماع
ضؿـامبؿزوؼدماظدائرةم„فدمأسؾكمعـم12ممكصقظتمصإغفمضدمؼىلبرمسؾامممسـصار
تـظقؿماىفدمvoltage regulatorموؼىلدىممممممدرجةمحرارتافمياامؼاىلديما مارتػااممتؾاػم
,اظؾقردهممظذامصإنم•الماىفدماظذيمؼػاؾمادؿكداعفمػقمعـم7مما12م.صقظتم
17. ٛببشاط ٍٕٖٔازدSimplify Arduino
16
ىساردىداسو َِّاهمٍرب َاهطاقههىتذمىٕ
Power Inputs/Outputs
مVinمم:مممماؿكدماادعامغلااادخؾمسـااادماظااجفا
مممماـاادمعااسعنيماىفااامتااارجل,مميؽــااةمخاادرمراضاعص
خاللمػذاماٌدخؾممممم,مإذامطـامغؼاقممبؿاسعنيماظطاضاة
ظؾااادائمممممرةمعاااـمخااااللمعااادخؾماحملاااقلمميؽــاااا
اظقصقلمظفمعـمخاللمػذاماٌدخؾمًاأؼا.
5Vم:مجفدمعـؿظؿمؼلؿكدممظؿسعنيماظطاضةم
ظؾعـاصرماٌلؿكدعفمسؾكماظدائرةمومدقفمغلؿكدعفم
,ماظطاضفمظؾؼطعماالظؽرتوغقفماظؿكمدـاقػفا ظؿقصمممضاد
مممؼستلمػذاماىفدمعاـمخااللVinمممممساامعاـظؿمجفاد
مممملداخؾلمأومتسعقـافمعاـمخااللمعـػاذماUSBمأومأيم
عصدرمجفدمعـؿظؿمبؼقؿفم5م.صقظت
3.3Vم:مممعصادرظؾمممففادمبؼقؿاة3.3مممصقظات
عىلعـمممممممدعاـمضؾاؾمعاـظؿماىفادماظاداخؾلمظؾاائرةموم
أضصكمضقؿةمظلقبماظؿقارمعـمخاللمػذاماًطمػقم
57م. عقؾلمأعؾ
GNDمم:ماًطماالرضل.
18. ٛببشاط ٍٕٖٔازدSimplify Arduino
17
اهىغاهخاهدقّلُامر اه ِMicroprocessor
همايفؿ مصغاٌؿقؽؿاتماظدضقؼفماذؾففمبقحدهممحادبمآمومهقيمممفاٌؿقؽؿافماظدضقؼام
ATmega328مسؾكممبلرسفم ععا63ىّحامػرتزمومذاطرةمطؾقفمتلاوىمم33Kilo Byte
oBoot loaderم:ماظلقصتموؼرماٌلىللمسـمطقػقفمصفؿماظدائرهمظؾغفمArduino C
o:SRAMمتعؿااظذاطرهمُلؿكدعفٌامصكم.اتمبصقرهمعىلضؿف تلفقؾماٌؿغ
oFlash Diskمافاااحفم‡زؼـقا:معلماؿكدممماتلاكاصماـؽؿؾفمااذىمداااعجماظاازؼـماظاغا‡
غقؾماٌؿقؽ ظؿؿمفم,مصكماظقػؾافماالومممممضادمؼؾادومػاذامممظمجادام اظارضؿمصاغؽمممـافمصاك
معـماالواعرمطؿامدـرىمص ايؼقؼفمطاصكمظؽؿابفماظؽـكماالعـؾفماظؼادعف.م
oEEPROMم:ممماتمبصقرهمدائؿفمداخاؾ اظذاطرهماٌلىلظفمسـمتلفقؾمبعضماٌؿغ
اٌؿقؽااؿممممماؾااامعـااامانمغعؿاػامومميؽــ ااااؾماظؽفرباادمصصااكمبعااامحؿاافمبؼقؿؿفااؾم‣ؿػظافمومتظ
اظلقاضفمHard Diskم.كصك صكماظؽؿؾققترماظ
6%
89%
3%
2%
SRAM - 2 Killobyte
Flash Disk - 29 Killobyte
EEPROM - 1 Killobyte
Bootloader 0.5 Killobyte
19. ٛببشاط ٍٕٖٔازدSimplify Arduino
18
ِ ىداسوىسارداهتذميInput & Output Pins(I/O)
مممّىمنم‡صقصماًطقطماظرضؿقةما(رم الربعفمس61م(Digital Pinsممممطؿاداخؾمأوم․اارجم
مممممموذظؽمبادؿكدامماالواعرماظا•قافمطؿاامداـرىمصاكماظػصاؾمكاظـااغمممممومتعؿاؾمػاذهماًطاقط
سؾكمجفدماضصاهم2مممممممممصقظتموطاؾمخاطمميؽاـمأنمؼاىلعـمداقبمظؾؿقاارم‟ادودمال10مممعقؾال
,مومػـاكم أعؾ3مخطقطمدخؾمشابؾقةمAnalogموععـقغةمعـمA0مماA5,ممؽؾماصرتاضال ب
تلؿطقعمػذهماٌداخؾمضقاسمجفدمعـمصػرمحؿكم2م.صقظت
21. ٛببشاط ٍٕٖٔازدSimplify Arduino
20
َهََّلسَو ِهِيَلَع ُهَّالل َّىَلص ِهَّالل ُلُوسَر
ُذمُؽِؿَحِرَوُواذؾَدَفُذ،ذلَاؤُُّذالدهُحَاتْػِمَوُذنِئَازَخُذمْؾِعْلا
ُذ،ذهَّالؾُذ،ذعِؿَتِدُؿْلَاوُذلِئَّاٌذ:ذالدةَعَبِرَأِذهِقفُذرَجِؤُوُذهَِّنإَف
ِمُفَلُذبَاجُؿْلَاوُذ،ذمَِّؾعُؿْلَاو
23. ٛببشاط ٍٕٖٔازدSimplify Arduino
22
تبدأ مّفًِِّارد استسدايستذتاد ا ىا ِ
مممم دااقفمغلااؿكدممبااقردهمعااـمغااقArduino UNOمممفومدااؿقؿاجمظؾؿؽقغاااتماظؿاظقاافمطؾداؼاا:مم
(عؾققزف:مصكمبعضماالعـؾفمدؿقؿاجماضاصاتمهلذهماٌؽقغات)م
Arduino Uno V.3
مماػكماظؾاقردهماٌلؽقممألظفمساـماداؿؼؾالماممواعار
ممااامومطؿابؿفابماآلااـماياداافمعااظا•قاكماص
ذاطرهماٌؿقؽؿفماظدضقؼفمATmega328
ماٌقضقسفمبداخؾفا
USB printer cable (1 Meter)
اؾماطاباافارابعامممابااقردهمباياداااقؾماظؾااظؿقصا
مممممومؼػاااؾمان ماىمغااق ,مميؽـااؽمذاارااآل
ممممضاادرماالعؽااان اقنمضصاااؼؽمممحؿااكمالمؼلااؾب
مممماظعؿااؾ ازساااجمابـااا,ممم"رااقلم"مواحاادمعاارتم
دقؽقنماطـرمعـمطاصكم
اهتحار َهِذ(Breadboard)
مماؽاابمومصااااؿكدممظرتطقاااافمتلااااقردهمخاصاااباا
اٌؽممافقظفااامبلااافمسؾقفااااتماالظؽرتوغقااقغادونم
ممممماىمحفاؿ ميامم,مميؽـاؽمذارااياجفما
وؼػاؾمHalf Sized Breadboard
24. ٛببشاط ٍٕٖٔازدSimplify Arduino
23
ِ(اه ِْٙض داِّدا)ٕىستهف نColored Leds
اابقحمااؾفمباٌصااااكماذااااداتمومػااااضماظؾقااابعاا
مممهمومتعؿؾمسؾكمهقؼؾماظؿقاارماظؽفرباك اظصغ
,م مضاااقاممااارتى ؼػااااؾمانمت01مظقاااداتم
منبااسظقاممموماحفااامافموما․ؿؾػاتمماسظقاناؿااقصرهمبا
:عـااؾاالر,ماألخااار,ماظاتؼااا,ماألصااػر,م
االبقضموماالزرقم
ىكاِىاتResistors
ممممممعؼاوعاااتمظؾااؿقؽؿمصااكماظؿقاااردااـقؿاجما
ممممماظؽفربكمسؾاكمعاداخؾموم․اارجماٌؿقؽؿاف
اظدضقؼفمومدـقؿاجماٌؼاوعاتماظؿاظقف:م
Resistor 560 Ohm (x5)
Resistor 10 Killo-Ohm (x5
AVO Meter (multi-meter device)
(ٓيارياستّي)مااسااازممضقااجفامالاطفرباماددماعؿعا
مماالدؿكداعاتمومؼلؿطقعمضقاسمماٌؼاوعااتمو
صرقماىفدمومذدهماظؿقارماظؽفربك
اهىمًِات بّن ههتِطّالت االسالن بغضWires
مممافااااتمبؾعاااقؾماٌؽقغااكمتقصااؿكدممصادؿلاكماسؾ
مغاػمااؿؿعؾؿمطقااااربمومدااافماظؿفااظقحااقمماؼاازابؿففقام
اظلؾؽمبـػلؽم.طؿامدـرىمصكماظصػقفماظؿاظقفم
25. ٛببشاط ٍٕٖٔازدSimplify Arduino
24
ُت مّفحٍزأسالناهتِطّو
مماـااقدهمساافماىااالتمساظقااكموصااقلمسؾااؽمايصاميؽـ
ررؼؼمادؿكداممضطعفمعـمطابؾمCat5مممماٌلاؿكدممصاك
اـماهمع اراااؿطقعمذامومتلابماآلااؾؽاتمايادااالتمذاوص
‣التمعلؿؾزعاتم.ؾؽاتم اظؽؿؾققترموماظم
ممممماارهماالداالكمومضاص ضؿمباداؿكداممضمدواحاممممداـؿكمعارت
اقرااكماظصااامصاازهمطؿاارادموفقاٌاؾؽماااؿنيمظؾلااـماىفاعهم
االو,مبؿمطررمغػسماظعؿؾقفمعرهماخرىموظمممؽاـمباارقال
مممممم․ؿؾػاافمحؿااكمهصااؾمسؾااكم•ؿقساافمادااالكمجاااػزه
ظالدؿكدامممم
م
مماذامطـتمالمتػاؾمانمتؼقممبفذهماظعؿؾقافممم ميؽـاؽمذارا
االكاافمادااا•ؿقساامارهااا عؼماؿكدامماااػزهمظالداااجااماعماعاا
الbreadboardممممومدؿفدػامصكم‣االتماٌؽقغاات
االظؽرتوغقفممم
26. ٛببشاط ٍٕٖٔازدSimplify Arduino
25
مًت ا اممممممممممتؾاؽماٌؽقغااتمػـااك صكمعصارمومترشابمصاكمذارا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م
29. ٛببشاط ٍٕٖٔازدSimplify Arduino
28
ًِِّارد تطِّر َّٙبArduino (IDE)
تغتبرمبقؽفماظؿطقؼرمArduino IDEاالداهماٌلؿكدعفمصكمطؿابفماالطقادماظا•قفمبؾغفم
Arduino Cومهقؼؾفاممممصقغفمتـػقذؼفمميؽـموضعفامسؾكماٌؿقؽؿفماظدضقؼافبعدمذظؽما
.اٌقجقدهمسؾكماظؾقردهمم
تتىّزمممممبقؽفمتطقؼرماردوؼـقمباظؾلارفموماظلفقظفمصكماظؿعاعؾمصفكمتؽادم‡ؾاقمعاـماىمتعؼقادات
مممممصكماٌظفرمماظعاممومهؿقىمصؼطمسؾكمعام
ؿاجفماٌاعجمظقؾادأمتطاقؼرمباراعجمبؾغافمماردوؼـاق
دكمArduino Cمممممماٌؿقؽؿافطؿاماغفامتلؿكدممصكمغػسماظقضتمظرصعماظاغااعجمعؾاذارهما
اظدضقؼفمومبذظؽمظـمهؿمبرغاعجماخرم․صصمظرصعماظصقغفماظؿـػقذؼفماجماظؾؾقرده.م
30. ٛببشاط ٍٕٖٔازدSimplify Arduino
29
م
يرزياهص يّتييسمافمااكفماًاصااقماظـلااقؼرماردوؼـاافمتطااكمبقؽاسؾيدِزيًِّبمافماارماغظؿااارهماطـابسسؿؾ
ممممممممادهمبسداؿكداممظقاـؽس غقؾمذققسامومذفرهمبنيماٌلؿكدعنيمبااظرشؿمعاـماغاكماغصاحمب اظؿ
ماغفمالغفم•اغكمومدرؼعمومآعـمباالضاصفماوفتٕحاملصدزOpen Sourceم,مم
غقؾمهب ومصكمقعماالحقالمميؽـؽماظعؿؾمسؾكماىمغظاممت.مم
م
ىنّرّدمماظممغقؾمظقاـؽس ؿعرفماطـرمسؾكمغظاممتمممػـااكمطؿااب
سربكم•اغك]مَببساط ِاِبًت[عـمتسظقػ:
أبِزّييد ىذىييد أذىييدممممؾااغق اارحمادااؿكداممغظاااممت ومؼ
ِابًِت هًّمشUbuntuبادؾقبمدفؾموميؿعممومممميؽـاؽ
:كمظؾؽؿابم هؿقؾفم•اغامعـمسؾكماٌقضعماظر
http://www.simplyubuntu.com/
31. ٛببشاط ٍٕٖٔازدSimplify Arduino
30
اهتطِّر َّٙب تًزّوArduino IDE
ر ِييتتيييماغقؾماااا افماظؿااعماغظؿااااافمىؿقاااااقؼرماظا•قااااافماظؿطاااابقؽااا
مفاٌكؿؾػاWindows, Linux, MACموممماـاميؽـاؽمهؿقؾافامع
كمٌطقرىماردوؼـقمسؾكماظرابطماظؿا اٌقضعماظر:م
http://arduino.cc/hu/Main/Softwareم
م
َباهًسبمٌلؿكدعكموؼـدوزماومعاكمممضؿمبؿـزؼؾماالصدارهماًاصافمابفؿامممممعاـماظارابطماساالهمو
دؿفدممعؾػمعاغقط,مضؿمبػؽماظاغطمبسدؿكدامماحدىماظااعجمعـؾم7zipمغقؾم بؿمضؿمبؿ
عؾػمarduino.exe
33. ٛببشاط ٍٕٖٔازدSimplify Arduino
32
ا بغدالً٘تٍيامممعاـممتـصاقبArduino IDEمممضاؿ
:باًطقاتماظؿاظقفمظؿقصقؾماظؾقردهمباظؽؿؾققترم
م
ضؿمبؿقصقؾمبقردهماردوؼـقمباظؽابؾممم
م
ممرادخؾماظطارفماالخاممممصاكمصؿقافUSBم
مممموماغؿظارصكمايادابماآلممضؾاقالممحؿاك
ممتظفرمظؽمرداظفمتػقدمبسنمجفازماياداب
ممتعرفمسؾكمضطعفمسؿادمجدؼادهFound
Arduino Uno Boardممممبعادمزفاقر
ممفتؾاؽماظردااظمممممؼاستكماظقضاتمماؾاظؾادأماظعؿ
سؾكماظؾقؽفماظؿطقؼرؼفمم
م
م
1
2
3 4
35. ٛببشاط ٍٕٖٔازدSimplify Arduino
34
ماربعفتؿؽقنمبقؽفماظؿطقؼرماظا•قفمعـمواجففمبلقطفمومتـؼلؿماممرئقلقفم اجزا:م
االِو:مذرؼطماظؼقائؿم
ًٖاهثا:مذرؼطماالواعرماظلرؼعفم
اهثاهج:معـطؼفمطؿابفماالطقادماظا•قفم
اهرابػ:ماظا•قفمصكممبقؽفماظؿطقؼرم ماًاصمبعرضماظؿـؾقفاتموماالخطا اىز
اهتطِّر َّٙب تحٍّز
اِومخطقهمظؿففقزمماظؾقؽفماظؿطقؼرهمػكماخؿقارماظؾقردهماظؿكمدـمممممؿعاعؾمععفاامومؼاؿؿمذظاؽمساـ
مضائؿفمررؼؼماظذػابماToolsموماخؿقارمBoardممممممماظؾاقردهماٌؿاقصرهمظادؼـامو بؿم…ؿاارمغاق
صكمػذهماياظفمدـكؿارمArduino Unoمطؿامصكماظصقرهماظؿاظقفم
38. ٛببشاط ٍٕٖٔازدSimplify Arduino
37
ممم بعدػامدقفمتظفرمرداظفمتلسظؽمسـم"اذامعامطـتمترشبمصكمتـصقبمػاذهماظؿعرؼػااتماممالم
"ماضغطمOkوماغؿظرمضؾقالمحؿكمتـؿفكمسؿؾقفمتعرؼػماردوؼـقمبـفاحمطؿامصكماظصقرهماظؿاظقفمم
م
ادؼرمااـمعااقمعااكماردوؼـااؿكدممصااذماٌلااؿماٌـػااظمرضااػممالحااقبماظؿعرؼااـمتـصامع اااادماالغؿفابع
االجفزهمطؿامصكماظصقرهماظؿاظقفموماظؿكمتظفرمرضؿماٌـػذمCOM3م,متذطرمذظؽماظرضؿمصلقفم
‥ؿاجفمًاالحؼم.(مععمعالحظفمانمذظؽماظرضؿمضدم
ؿؾػمسـدك)مم
40. ٛببشاط ٍٕٖٔازدSimplify Arduino
39
هن بغدممممتلؿطقعماظؾدأمصكمطؿابفماولمبرغاعجمظؽمسؾكماالردوؼـقمومذظؽمسـمررؼاؼماخؿقاار
NewمعـمضائؿفمFileممرؼطماظؼقائؿمطؿامصكماظصقرهماظؿاظقف اٌقجقدهمبم
م
ّىمًن ِاماخؿقارمNewمعؾاذرهمعـمذرؼطماالواعرماظلرؼعفم
م
43. ٛببشاط ٍٕٖٔازدSimplify Arduino
42
باسه املعروف أرويه ماري فراىسوافولتري
ُكنذَذِوددذَدالتُماحذَمعذمنذَخالػكذ،الرأيذ
فإنذملذَوُؽنذَرأوهذكلذالصوابذَالفذُؽتنذَتأنذ
كلذاخلطأذُببتشثكذبرأوك
46. ٛببشاط ٍٕٖٔازدSimplify Arduino
45
ىمًِاتاهىثاو(1):
بقردهمًِِّاردمArduino Uno
Breadboard
عؼاوعفمطفربقفمبؼقؿفم567ماومم
داؼقدمضقئكممضطرم17معؾكم
جفازماظؽؿؾققترم
ورضفماٌلاسدهماٌقجقدهمصكمػذهماظصػقف
م
ٌٖ ىاَاهِرق:ُاهىسياعدمممػاكممورضافممؼاؿؿ
رؾاسؿفامظمرتذدكماطقػقفممموضعماٌؽقغاات
مماالظؽرتوغقاااااافمسؾااااااكممظقحاااااافماظؿفااااااارب
Breadboardم
ٖيياالِه ُِاهسطي:مممماػقفاافمػاذهماظصاضاؿمبطؾاس
ممم ماومتصاغ (عؾققزفمسـدماظطؾاسفمالمتؼؿمبؿؽاؾ
ممحفؿماظصػقفمومادؿكدممعؼقااس100%)مممباؿ
ممافااعماظقرضااؽمضاادمذظاااسدهمبعاافماٌلااصمورضاض
اققماصااBreadboardمماؿكداممااامباداااومبؾؿفاا4م
وصااالتمpin-headerمبااؿمممماباادأمصااكمتقصااقؾ
اٌؽقغاتماالظؽرتوغقفمصقضفامطؿمصكماظصقرهمم
47. ٛببشاط ٍٕٖٔازدSimplify Arduino
46
ًَّاهثا ُِاهسط:عـمبقؽفماظؿطقؼرمArduino IDEممضؿمممبعؿؾمعؾػمجدؼدمعـمذرؼطماالواعار
اظلرؼعفموماطؿبماالواعرماظا•قفماظؿاظقفمماٌكصصم صكماىزظؽؿابفماالطقادمم
م
Breadboard
َاهِرق
ُاهىساعد
ًِِّارد
Pin-Header
48. ٛببشاط ٍٕٖٔازدSimplify Arduino
47
م
// 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(;
}
49. ٛببشاط ٍٕٖٔازدSimplify Arduino
48
َاهثاهث ُِاهسط:ممممبعدمانمتـؿفكمعاـمطؿاباف
مممادااكمزرمتسطقاااغطمسؾاااكماضاااقدماظا•اااظؽا
Verifyمارؼطما اكماظاصارؼعفاارماظلااالواعماكماص
اسؾكمالممIDEمبؿماغؿظرمحؿكمتظفرمرداظفم
ممصكماالدػؾم‡اكمبسنماظاغاعجمضدماغؿفاك
مماكاافمسؾااؿؿمرصعااقدمظقاازماظؽااـموفقاعُيِرديب
ًِِّاالردمم
م
يديتأمييماؾمااقمعؿصااااؾماالردوؼـاااانمطاباا
بايادبمبؿمضؿمباظاغطمسؾكمزرم"مرصعم
Uploadمممممممممممماٌؿقؽؿافماظدضقؼافموماغؿظار"مومذظؽمحؿاكمؼاؿؿمبادأمسؿؾقافمهؿقاؾماظاغااعجما
ادػامانمالااؿالحظمسـاااقاغكمدااادهمبااساledsاقردهمااكماظؾاااقدهمسؾاااٌقجااامااقبم„اغؾفاا(عؽؿا
Tx/Rx)مممممؾبدأتمتائمبلارسفمساظقافمباؿمتؼاػمضؾقامممئومػاذهماالضااممدفمتعـاكمانماظؾاقرهمممبادأت
مممتلؿؼؾؾمبقاغاتماظاغاعجماظذىمضؿـامبؽؿابؿفم,مبعادمذظاؽمممؼؾادأماظاغااعجمممموم‧عاؾماظؾقادماظاذى
وضعـاهمؼائمومؼـطػئمبسغؿظاممطؾمباغقفم.م
م
م
م
وربٔكمممظؽمبسدؿكدامماردوؼـق,م رو اولمعومرؼحمومصفؿماظؽقدم االنمدـؼقممبؿ
.اظا•كماٌلؿكدممصكمػذاماٌـالم
50. ٛببشاط ٍٕٖٔازدSimplify Arduino
49
ٖاهبرىح اهمِد صرز......
const int LED = 13;
ؼؼقممػذاماالعرمبعؿؾمبابتمconstantمضقؿؿفم=م13مفم وماLED
؟؟ الجابت ِرا كتبٍا ملاذا سؤاه
مماداخؾاٌاارجموماااؿقفماٌكااامتلاافؾمسؾقـااكمتلااتمحؿااؿكدامماظـقابااقممبسداغؼ
)Input/Output Pins(مممفظؾؿؿقؽؿافماظدضقؼا,ممممممصؿاـالمصاكمػاذاماظاغااعج
ضؿـامبؿعرؼػمػذاماظـابتمحؿكمغعامسـماٌكرجمرضؿم13ممماف بسنماLEDموم
بذظؽمظقماردغامانمغسعرماٌؿقؽؿفممممممممماظاغااعجمالحؼاا معاـماجازا صاكماىمجازم
غؾماظؾقدماٌقجقدممسؾكماٌكرجمرضؿم بسنمت13ممممممذظاؽماظؾقاد اومانمتؼقممبسرػامممظاـم‥ؿااج
سـدػامظذطرماظرضؿمومامنامدـذطرمطؾؿفمLEDمعؾاذرهممممممومدؿػفؿماٌؿقؽؿافماظدضقؼافماغـاامغؼصاد
بفذاماٌكرجمرضؿم13مم
م
Void setup ) (
{
pinMode)LED,OUTPUT(;
}
ًٖاهثا اهسطرذمنذاوامرذ
الربنامجذهوذتعروفذوزقػهذ
الpinذرقمذ13ذوذالتىذنرمزذهلاذ
بأدمذLED
51. ٛببشاط ٍٕٖٔازدSimplify Arduino
50
ىن اهبرًاىخ ّتمِن َاهدقّك اهىتذمىات براىخ ٖ3:ٖماهتاه ٌٖ ِ ىراذو
ٖاالِه َاهىرذهمممممممماتماومبقاباتمصاكماظاغااعجماظاذىمداقفمغؼاقم :مانمتؼقممبؿعرؼػماىمعاؿغ
بؽؿابؿفمم
َيياهىرذهَييًّاهثا:مملاعمااافمانمقاااتماظدضقؼاازماٌؿقؽؿاتؿؿقDigital Pinsماـمانماميؽ
مفاااذاماٌرحؾااكمػاادخؾمومصاارجماومعااامطؿكااؿكدمماعاتلمغاداداتمااؾطماسااقممبااؼاارجمومااٌك
اٌداخؾمومتعرؼػماٌؿقؽؿفمانماظااPinمرضؿم1ماوم12ماوم13معـالمدقفمتلؿكدممطؿكرجماوم
انمالPinمرضؿم5موم6مدقفمؼلؿكدعانمطؿدخؾمظؾؾقاغاتمومتعؿاماظداظفمsetup ( )ممممػاك
.اٌرحؾفماظـاغقفم
م
م
ّيتيمممماداؿكدامماالعار;pinMode(pin number, state)ممممظؿقدؼادمفوزقػامالPinموم
ػؾمدؿعؿؾمطؿدخؾماممطممممممؿكارجمحقاثمؼاؿؿمطؿابافمرضاؿِاممماداؿاظمماااPinممممماذامضؿـاامبؿعرؼاػ
ممابابتم․صاصمداابؼ,ممممممؾاغق باؿمؼاؿؿمطؿابافمحاظافماظؿمINPUTِامOUPUTممممومالحاظماغاف
‧بمطؿابفمحروفمطؾؿفم(عدخؾماوم․رج)مبصقرهمcapital.م
اّضام‧بمانمتؽؿبمقعماسدادتماٌكارجموماٌداخؾمبداخؾماضقاسماظداظفم
م}your configurations herewrite{( )setupمسؾكمدؾقؾماٌـالماذاماردغام
افمانماظاااماٌؿقؽؿا…انمااااpinممممارا افمساارموماظـاظـا افمساارهمومايادؼااظعاذممماارجمموانا․اؿماػ
الpinاظـاغقفمػكمعدخؾمصلـؼقممبؽؿابفاالواعرم:اظؿاظقف
احلالهرقمذPin
52. ٛببشاط ٍٕٖٔازدSimplify Arduino
51
void setup ) (
{
pinMode)11,OUTPUT(;
pinMode)12,OUTPUT(;
pinMode)13,OUTPUT(;
pinMode)2,INPUT(;
}
َاهثاهث َاهىرذه:مممصكمػذهماٌرحؾفمغؼقممبؽؿابفماظاغاعجمغػلفمومعامغرؼدمعاـماٌؿقؽؿافمان
ممممتؼعؾفمباظظؾطمومصكمحاظافماظاغااعجماظلاابؼمادؿؼقمماٌؿقممممممماغقؾماظؾقادمٌادهمباغقافمباؿ ؽؿافمبؿ
تطػ.ؽفمٌدهمباغقفمومػؽذامعرارمومتؽرار
void loop( )
{
digitalWrite)LED, HIGH(;
delay)1000(;
digitalWrite)LED, LOW(;
delay)1000(;
}
الذظذ:ذانهذجيبذبعدذانذنـتفىذمنذ
ذالػاصؾهذ ذسالمه ذنضع ذان ذجيب ذامر كل
ادلـؼورهذ(;)ذوذاذاذندقتفاذفىذاىذامرذدوفذ
تظفرذلكذردالهذخطأذسـدماذتؼومذبعؿلذتأكقدذ
verifyذلؾربنامج
قمذبتشغقلذLED
ثمذانتظرذ1000ذمؾىذثانقه
قمذبأرػاءذذLED
ثمذانتظرذ1000ذمؾىذثانقه
53. ٛببشاط ٍٕٖٔازدSimplify Arduino
52
ّتيممممممطؿابفمبرغااعجماٌؿقؽؿافمداخاؾماظداظاف{your program}loop ( )voidم,مممصاك
اذاماػاالااٌـماؿكدعـااادمارااالع;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معؾكمباغقفاخرىم=مواحدمباغقفم.
54. ٛببشاط ٍٕٖٔازدSimplify Arduino
53
َع واذاالربٌاوج؟؟ ٜف سطس أه// 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 )^_^( */
:َىهذِظمصكماظطرؼؼفممظؽؿابفماظؿعؾقؼاتم‧بمانمتؽؿبماالو//مممممضؾؾمطؾمداطرمترؼادمان
ؼؿفاػؾفمباظاغاعجمباسؿؾارهمتعؾقؼ,مظؽـمصكماظطرؼؼفممماظـاغقافممغؽؿاب/*ممممممصاكمبداؼافماظاـصمباؿ
غؽؿبمعامغرؼدمعـمطالمممماومغصقصمومصكماظـفاؼفم…اؿؿمبام*/ممممم,مظاذظؽمتلاؿكدمماظطرؼؼافماظـاغقاف
مممؿمصاكماظصكماظؿعؾقؼاتماظطقؼؾافموماظطرؼؼافماالومممممماهماظؿاكمشاظؾاامعاامتؽ عؾقؼااتماظؼصاممقنمداطر
.واحدم
55. ٛببشاط ٍٕٖٔازدSimplify Arduino
54
اهسابل ههىثاو تطِّر :ًٖاهثا اهىثاوعًيد كيط هّغىو
ضؾط)(سِّتض ىفتازىنًِؼPush button
مػذاماٌـالمممممممممممداـؼقممبؿطاقؼرماظػؽارهماظلاابؼفمومداـفعؾماظؾقادمؼعؿاؾمصاكمحاظافاذامممضاغط
مممم اٌلؿكدممسؾاكمزرمعاـمغاقpush buttonمممممماات ماظلقؼؿ ومػاقماذافرماغاقامةاٌلاؿكدعمم
األجفزةماإلظؽرتوغقة.م
56. ٛببشاط ٍٕٖٔازدSimplify Arduino
55
( اهىثاو ىمًِات2):
بقردهماردوؼـقمArduino uno
Breadboard
Push button
Led 10 mm
عؼاوعفم17مطقؾقماوم
عؼاوعف567ممماوم
بعضماظلؾقكمظؾؿقصقؾم
ضؿمبقضعماظلقؼؿشمسؾكمظقحفماظؿفاربمممممممباؿموصاؾماحادىمررصقافمباٌادخؾ5vمممباداؿكدام
مممممرهمطقؾقماوممومعاـمغػاسماظـؼطافمضاؿ دؾؽمسؾكمبقردهماردوؼـقموماظطرفماالخرمباٌؼاوعفماظع
بؿقصقؾمدؾؽمظؾؿدخؾمرضؿ2ممسؾكمًِِّاردممممممممبقردمومبعادمذظاؽمضاؿمبؿقصاقؾمرارفماٌؼاوعاف
اظـاغكمباٌدخؾماالرضكم.م
؟؟ ٕٓاخلط ِٓر َو اهلدف وا
مدخؾممرضؿلم تعؿؾمتؾؽماظدائرهمسؾكمتقصDigital inputممممممم,مسـادمضاغطماظازرمتـطؾاؼمغؾااف
بؼقؿفم5ممممممم صقظتموماظؿكمتعؿاػااماٌؿقؽؿافماظدضقؼافماذاارهمعاـمغاقHIGHمممممومسـادمتاركماظازر
ؼـػصؾممماظؿقارماظؽفربكمومؼصؾحماظدخؾمؼلاوىمصػرمصقظتمومماظذىمتعؿاهماٌؿقؽؿافLOWم
ارااذاماالعااؿغؾمػااقفمغلاومدمادؼؾماظؿعاالماالولااٌـماكاظؽماؾاؼعؿمادخؾمااقنماظاادعامؼؽااطمسـاصؼ
HIGHم
ِٔاهسطًّٕاهثا:طؿابفماألطقادماظا•قةماظؿاظقةممArduino IDEم
ممغصققف:مضؿمبؽؿابافمراألواعاممممذاظا•قافمبـػلاؽموالمتسخاممممممػامغلاخمومظصاؼمعاـماظؽؿاابمومذظاؽ
حيتمتدربمغػلؽمسؾكمطؿابفماظؽقدم
57. ٛببشاط ٍٕٖٔازدSimplify Arduino
56
// 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); } }
تغرّف :ٖاالِه َاهىرذه
اهثِابت ِ اهىتؾّرات
ِ تغرّف :ًَّاهثا َاهىرذه
اهىسارد ِ اهىداسو تذدّد
َمتاب :َاهثاهث َاهىرذه
َّاهرّٙس اهبرًاىخ اِاىر
58. ٛببشاط ٍٕٖٔازدSimplify Arduino
57
ِٔاهسطٕاهثاهث:مضؿمبعؿؾمتسطقدمظؾؽقدماظا•كمسـمررؼؼماظاغطمسؾكمسالعفمتسطقدم
Verifyمومممفاامبر•ق ااااكماخطااقىمسؾاااعجمصاققحموالم
ؿااـمانماظاغاادمعابعادمانمتؿسطموممتم
,ماظصقرهماظؿـػقذؼفمبـفاحهقؼؾفمامضؿمبعدمذظؽمممممممبرصعافمظؾؿؿقؽؿافماظدضقؼافمساـمررؼاؼمزر
رصعمUploadم
...... ٖاهبرىح اهمِد صرز
ٕيياهىرذهٖيياالِه:ممافما ما اؿغااػمعااامبؿعرؼاضؿـledPinمممعزما اااذىمداوماظPin 13موم
ممممم ماٌاؿغ طذظؽمضؿـاامبؿعرؼاػماٌاؿغbuttonPinممممممماظلاقؼؿشماٌقجاقدعزما وماظاذىمدا
ممممسؾااكماٌاادخؾماظرضؿااكماظلااابعمومضؿـااا
مم بؿعرؼاااػماٌاااؿغvalمموماظاااذىمداااقف
ادخؾماافماظاازؼـمحاظااامظؿكااؿكدعفمالحؼاغل
سؾكماٌدخؾماظرضؿكماظـاغكممpin 2
ٕاهىرذهًّٕاهثا:مصكمػذهماٌرحؾةمجعؾـاماٌؿقؽؿةممؾتعاعامpin 13مومميتاظاممممؼرعازمهلاا
اؿمابادااledPinماكماسؾاااااأغفاامارجموما․اا
دـلؿكدعفمممم,غقؾماظؾقدماٌقصاؾمباف ظؿ
مممباااؿمضؿـاااام„عاااؾاٌؿقؽؿاااةمتعاعاااؾم
مماٌكارجpin 2مممممسؾاكماغافمعادخؾ
ممممرضؿاااكموزقػؿااافماداااؿؼؾالماالذاااارات
اظرضؿقفم
مHIGH or LOWم
int ledPin = 13;
int buttunPin = 2;
int val = 0;
void setup)(
{
pinMode(ledPin, OUTPUT);
pinMode(inPin, INPUT);
}
59. ٛببشاط ٍٕٖٔازدSimplify Arduino
58
:َاهثاهث َاهىرذه
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موماىفدماٌطؾؼمسؾكماٌدخؾمؼلاوىمصػرمممداؿؼقم
مممممممممماٌؿقؽؿفمبؿطؾقاؼمجفادمؼلااوىمصاػرمسؾاكماظؾقادمومباذظؽمظاـمؼعؿاؾمممماظؾقادمومداقظؾ
عـطػئ.
61. ٛببشاط ٍٕٖٔازدSimplify Arduino
60
اه ىمًِاتى(ثاو3:)
م
Arduino uno
Breadboard
Led 5 mm
سدد2معؼاوعفمضقؿفم17مطقؾقماومم
عؼاوعفمواحدهمضقؿفم567ماومم
سددم2مدقؼؿشمم
ادالكمتقصقؾم
غلكفمعطؾقسفمعـماظقرضفماٌلاسده
ممممصااكمػااذاماٌـااالاـادامممماالادعجمعااامتعؾؿـاااهمصااكمطا
مماٌـاااظنيماالولموماظـاااغكم,مدـلااؿكدمم2مدااقؼؿشم
ممم عاـمغاقpush buttonممممماظلاقؼؿشومداقؿق
اقؼؿشماماظلااقؿقاادمومداااغقؾماظؾقااا افمتااالولمسؿؾقا
.االخرمسؿؾقفمارػائفم
: ٖاألِهيي ُِاهسطييمممااسدهمواافماٌلاافمورضااؿمبطابعاض
ممماضصفامبؿمبؾؿفاامسؾاكماظااbreadboardمممباداؿكدام4م
عـماظااPin-Headersمممممبؿمضاؿمبؿقصاقؾماٌؽقاغاات
االظؽرتوغقفمسؾكماظقرضفماٌلاسدهممطؿامصكماظصقرهمم
62. ٛببشاط ٍٕٖٔازدSimplify Arduino
61
:ًَّاهثا ُِاهسطعـمبقؽفماظؿطقؼرمArduino IDEممممضؿمبعؿؾمعؾػمجدؼدمعـمذرؼطماالواعار
مدماٌكصصمظؽؿابفماالطاقا اظلرؼعفموماطؿبماالواعرماظا•قفماظؿاظقفمصكماىزمممم ومبعادماالغؿفاا
ماٌؿقؽؿفماظدضقؼفمسؾكماظؾقردهمومارصعماظاغاعجماممممجربماظااغطمسؾاكماظلاقؼؿشماالولمو
اظـاغكمومذاػدمعاذامدققدثم
63. ٛببشاط ٍٕٖٔازدSimplify Arduino
62
//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); }
}
حتدودذادلداخلذ
وذادلخارجذ
لؾدائره
اوامرذالربنامجذ
الرئقدقه
64. ٛببشاط ٍٕٖٔازدSimplify Arduino
63
اهىثاو ا ٌ ْمممممادؿكدعـامتعدؼؾمبلقطمسؾاكماألعار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مماظداؼقدماظاقئلم...مومػؽذامم صؿؼقمماٌؿقؽؿةمبإرػام
قمٗن الربٌاوج ٌعده ُأ زأٖك وا ُاأل ٔ(^_^)
65. ٛببشاط ٍٕٖٔازدSimplify Arduino
64
//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);
}
}
66. ٛببشاط ٍٕٖٔازدSimplify Arduino
65
َىراحغٕسرّغَاهسابك َاالىثه ٖ ُتغهىًا ىا ٖعه
مممماظداظااافماٌلاااىلظفمساااـمضاااؾطماسااادادات
اٌؿقؽؿفمومهدؼدماٌداخؾموماٌكارجمم
void setup ( )
}…………………{
مممممؼـؿمطؿابفماظاغااعجماظرئقلاكمداخاؾمػاذه
مممممماظداظفمومؼؼاقمماظاغااعجمباساادهمغػلافمعاره
مماعااذمقااااامامتمتـػقاااارىمطؾؿااااقماالخاااتؾاا
اًطقاتمم
void loop ( )
}…………………{
مبؼقؿفمععقـفم اعرمؼلؿكدممظؿعرؼػمعؿغمint name = value;
مضابؾمظؾؿغ اعرمؼلؿكدممظؿعرؼػمبابتمش
ؾفماألعرماظلابؼمععمأضاصفم ؼconstمم
cons int name = value;
const int led = 13;example:
االعرماٌلىللمسـمهدؼدموزقػفمطؾمpinم
ممارجاادخؾماممطؿكاااؾممطؿاااؾطفامظؾعؿااومضا
INPUT or OUTPUT
pinMode (pin number, State);
pinMode)11,INPUT(;example1:
pinMode)led,OUTPUT(;example2:
مممممماالعاارماٌلااىللمسااـماخااراجمجفاادمسؾااك
احدىماظاpinمممبصقرهمرضؿقافHIGH )1(
or LOW)0(
digitalWrite (pin number,
State);
digitalWrite(13,HIGH);example:
االعرماٌلىللمسـمممه ضاراممداىفاممؼاٌطؾام
سؾكماحدىممااظاpinمممهبصاقرممفرضؿقاممثحقام
ؼؼااقممبؼقاااسماىفاادم(اذامطااانم5مصقظااتم
حؿكم3.8ممتصقظامماؼعؿامHIGHموماذاممنطاام
digitalRead (pin number);
م
digitalRead(4);example: