Simply Arduino - 9-10-2012

187

Transcript of Simply Arduino - 9-10-2012

Page 1: Simply Arduino - 9-10-2012
Page 2: Simply Arduino - 9-10-2012

اردوينو ببساطة

1

الكتاب ترخيص

الكتاب منشور حتت الرتخيص احلر مفتوح املصدر

فووا الكتوواب موومخومو موو مو وو االبعوواا املخووت دم ثالثيوو الصووور

oomlout.co.uk و مفتوحه املصدر و ختض ايضا للرخصه احلر

ميكنك ان تختغل ملك العمل بصورو جتاريه بشرط احلصول علوا

.امن مباشر م املؤلف

و ألراوينوميكنك احلصول علا العديد م املقاالت التقني

حتميل الكتاب إلكرتونيا و األكواا الربجمي يف مجي املشاري

http://SimplyArduino.com : ينو ببخاط " "اراومدونم

الكتباملزيد م الكاتب و وأحببت اعماما اعجبك الكتاب

املصدر فال ترتاا بالتواصل معا مفتوح احلرة العربي

[email protected]

Page 3: Simply Arduino - 9-10-2012

اردوينو ببساطة

2

اهداء

....اىل والدى العزيز

....ةاىل والدتى العزيز

..اىل استاذى العزيز الذى حثىن على الكتابة..

بهد.م.أشرف و ه

نشر املعرفه نهضة األمة العربية و اىل كل من ساهم فى www.networkset.net أيمن النعيمي

www.aabouzaid.com أحمد محمد أبوزيد

www.shabayek.com رءوف شبايك

linuxac.org مجتمع لينكس العربى

Page 4: Simply Arduino - 9-10-2012

اردوينو ببساطة

3

المؤلف

الخيد عبداهلل علا عبداهلل

الوظفية

MOVE-ITمهندس شبكات و أم املعلومات فا شرك ( 0202نذ عام )م

www.moveitgate.com

التعليم

شهااة A-CNE:Certified Network Engineer با سا اجنلرتا-م اكاامي اسك

شوووووهااةIEEE- CNP: Certified Network Professional مووووو معهووووود مهندسوووووا

الكهرباء فا الواليات املتحدة األمريكي

( العام الثالث هندس األتصاالت و احلاسبات جامع حلوان0200و ت تمليف الكتاب :)

شهااة ارستCEH: Certifed Ethical Hacking حاليا()بدون اعتماا موثق

ارست شهااةLPT: Licenced Penetration Tester (حاليا)بدون اعتماا موثق

لهواياتا

أهوى اإللكرتونيات التفاعلي و املتحكمات الد يقو و اجمهوا مو تقنيوات أمو املعلوموات

كمووا أحووب الربجموو باللغووات Physical Hacking & Securityلتنفيووذ مووا يعوور بمسووم

++Python, Bash Scripting, Cالتالي :

Page 5: Simply Arduino - 9-10-2012

اردوينو ببساطة

4

فهرس الكتاب

( 0الكتاب.................................................................................... ) رخصه

( 6.............................. ) حول الكتاب.......................................... معلومات

( 8.......... )..........................مات الد يقهكحتو امل اراوينو ع مقدمه الفصل األول:

(00..... ).................................................................التجهيزات الفصل الثانى:

(44.......................................... )....................وينو ابدأ م ارا الفصل الثالث:

(70.......................................................... )است دام احلخاسات الفصل الرابع:

(39................................ )..............التواصل م احلاسب اآلىل الفصل الخامس:

(004.............................. )......................است دام احملركات الفصل السادس:

(006..................... )..............: وسائل األاخال و االخراج املتقدمهالفصل السابع

(067............. ).................................................أغطيه اراوينو الفصل الثامن:

(074) ........................................................تاريخ تطور اراوينو الفصل التاسع:

Fablab Egypt.............( ...................................082) :تعلم و شارك االخرين

(084............. )....................(.........تعليميه)كتب + موا مراج ملحق المراجع:

Page 6: Simply Arduino - 9-10-2012

اردوينو ببساطة

5

Page 7: Simply Arduino - 9-10-2012

اردوينو ببساطة

6

الفئات املستهدفه من الكتاب اىل كل م يريد تعلم تقنيوات الوتحكم اآلىل بخوهوله و يخور سوواء

كووان لووك معرفووه تقنيووه او خووربو باملتحكمووات الد يقووه او حتووا مووا

و اىل كوول موو لديووه الشووغف م هووذا الووالزلووت فووا بدايووه تعلوو

اجلديد م املتحكمات الد يقه مفتوحه املصدر ملعرفه اجليل

؟ الكتاب هذا أاقر حتى الربجمةو اإللكرتونيات جمال فى خربه اىل احتاج هل

الربجموووه و االلكرتونيوووات باساسووويات املعرفوووه بعووو

قود فل للوتعلم ضورورى شورط ليخوت كنهوا ل جدا حمبذو

مووت بكتابووه املعلومووات بمسوولوب سووهل و ميخوور وودر

و ميكنك اما واجهت صعوبه ما ان تراسولنا االمكان

علا الربيد االلكرتونا

؟؟فى هذا الكتاب تعلمها ما الذى سوف

كيف تصمم اإللكرتونيات التفاعلي بنفخك

اردوينوالعمل علا بيئ تطوير Arduino IDE

التحكم االلكرتونا لكل ما هو حولك م اجهزو الكرتونيه

Page 8: Simply Arduino - 9-10-2012

اردوينو ببساطة

7

ات األوليووه ملهووارتكتخووب اسيييجعلك الكتيياب

العديود فوا لفهم األكوواا الربجميوه املخوت دمه

, ولقوود ردوينيو ا تعتموود علوا التوا مو املشواري

اضووفت العديووود مووو املصوواار اىارجيوووه التوووا

حتتوى علا العديد م املشاري الرائعه و التوا

ميكنك ان تنفذها بنفخك بعد راءة الكتاب

؟ كيف مت تصميم الكتاب

كتوواب بمسوولوب يعتموود علووا الشوورح باألمثلووه ال تييم تصييميم

Examples و حيث يتم تقديم املعلومات علا هيئوه أمثلوه

جديوود فووا تعلووم لغووه برجمووه صووغ و و يقوودم كوول مثووال جووزء

كل فصل صفحه خمصصه لكا يف نهاي كما ستجد , اراوينو

.تكتب مالحظاتك الش صي

ملفوات الكتوب اإللكرتونيو ن تكتب ااخول ميكنك أندوز ي ويماما كنت م مخت د

الكتوواب باسووت دام و اما كنووت تقوورأ Foxit PDFباسووت دام برنووام PDFموو نووو

م Good Readerميكنك است دام برنام Ipad مثل Tablet الكرتونالوح

متتلوك شاشوه الو امل تلفو مالحظه ان الكتاب متوافوق مو مجيو اجهوزو التابلوت

بوصه او اكرب . 7بقياس

Page 9: Simply Arduino - 9-10-2012

اردوينو ببساطة

8

فصل األولال

مقدمه اىل عامل اراوينو و املتحكمات الد يقهIntroduction to Arduino & microcontrollers

Page 10: Simply Arduino - 9-10-2012

اردوينو ببساطة

9

لوي ببعيود كووان العمول علوا صوناعه اائورو الكرتونيوه للقيووام زمين مني

بوظيفووه معينووه يعنووا بنوواء تصووميم الكرتونووا معقوود موو مكونووات مثوول

ستور...اخل.املقاومات, املكثفات, امللفات, الرتانز

الودوائر االلكرتونيوه ثابتوه التصوميم و اعوااو كانت

تغ او تعديل جزء بخيط فيها كان يعنا الكث مو

عمليات معقدو مثل اللحام و ط االسالك و اعوااو

النظوور فووا امل ططووات االلكرتونيووه و الكووث موو

ا تصووار وظيفووه إىلاالمووور املزعجووه و التووا اات

لكرتونيووه علووا جمموعووه موو تطوووير املنتجووات اال

.املهندسني املت صصني فقط

التكنولوجا فا جمال اشباو املوصالت و التطور بفضل

Integrated Circuitsاخوورتا الوودوائر املدجمووه

(IC) اصبح مو املمكو وضو اائورو الكرتونيوه كاملوه

علا شرحيه صغ و حجمهوا ود ال يتجواوز رأس الودبوس

ه يوواىل هنوواك اوائوور الكرتون حتووا انووه فووا الو ووت احلوو

و التا ال ميك Nano Meterحجمها يقدر بالنانو مرت

.هخاص ات ضوئيهروئيتها اال بمست دم مكرب

Page 11: Simply Arduino - 9-10-2012

اردوينو ببساطة

10

ر جيل خاص م الودوائر االلكرتونيوه وظهاىل Integrated Circuits تطور ادىكما

ابوول ر مصووغر تكمبيوووب اشووبهو هووا Micro Controllers املتحكمووات الد يقووهيخووما

للربجمه الااء جمموعه م الوظائف مثل رائه ارجه حرارو, التحكم فوا حمورك كهربوا,

او حتا ااارو خطوط االنتواج فوا املصوان

الكربى, و كل ملك يتم ببخواطه عو طريوق

حتولوت تقنيوه صوناعه بوذلك اوامر برجميوه و

الوودوائر و االنظمووه االلكرتونيووه موو التصووميم

مد علوا املكونوات االلكرتونا البحت املعت

الصوولبه فقووط اىل اواموور برجميووه ميكوو الى

فرا ان يكتبها و يصممها بنفخه بخهوله و يخر.

املتحكمات الد يقوه ايضوا بممكانيوه الوتغ و التعوديل تتميز

بكوول بخواطه لووو ارات ان تغوو شويئا مووا فووا , فوا اى و ووت

مشووروعك ميكنووك ملووك بالتعووديل فووا الخووطور الربجميووه و

و هالد يقوو هوضوو االواموور اجلديوودو علووا املتحكموو اعووااو

و هكووذا اىل ان تصوول عشووروعك جتربتهووا اكثوور موو موورو

... للهد املنشوا

Page 12: Simply Arduino - 9-10-2012

اردوينو ببساطة

11

بووووراو الكرتونيوووه مفتوحوووه هوووي Arduino اردوينيييو

لتطووووير الكوووث مووو االفكوووار و Open Hardwareاملصووودر

عوو بخوويط بصووورو سووهله و اآللوويبووالتحكم املتعلقوو املشوواري

و Arduino Cبرجمووه مفتوحووه املصوودر لغوو طريووق اسووت دام

باسوووت دامعلووا البووووراو املوجوووواة املتحكموو يووتم برجموووه

Arduino IDE: Integrated Developmentبرنووووووووووام خوووووووووواص يخووووووووووما

Environment الرمسووووويمووووو مو ووووو اراوينوووووو وفر جمانوووووا للتحميووووولتوووووي الوووووذىو

rduino.cchttp://a

؟؟ معنى ان اردوينو مفتوح املصدر ما

ميكنوك االطوال و التعوديل علوا انيه يعنى

املصوودري و الشووفرات اهلندسووي التصووميمات

Source Codes اردوينولكل م بوراات

Arduinoو Arduino Boards امل تلف

IDE ايضوووا عوووا يتناسوووب معوووك و ميكنوووك

ريه تامه و حب Arduino Cبرجمه لغ تطوير

بهوا اىاص املصدري االطال علا الشفرات

كما ان كل هذو املميزات و الربجميوات جمانيوه متاموا علوا غورار بعو البيئوات التطوويرو

تصل فا بعو االحيوان اىل اآل و التا تتطلب منك شراء رخصه مكلفه Mikro Cمثل

الست دامها. الدوالرات

Page 13: Simply Arduino - 9-10-2012

اردوينو ببساطة

12

االخرى الد يقه البوراات التطويريه للمتحكمات ا ا ع ب اردوينو بوردات ما يميز

Micro Controllers Development boards هو مدى الخهوله التعامل معها و

حتا 0222منذ عام بخاطه اللغه الربجميه و التا عمل فريق م ايطاليا علا تطويرها

و التا " Cسا "و لغه processing و لقد مت اشتقاق لغه اراوينو الربجميه م لغه , االن

.تعد اساس لغات الربجمه احلديثه و صاحبه ثورو تقنيه الربجميات

الووبع ان اراوينووو يظيين قييد

صوومم للووهواو فقووط الكوو هووذا م

ولوووي صوووحيح لقووود مت تطووووير

ليناسوووووب مجيووووو املخوووووتويات

ابتووووداء موووو اهلووووواو و انتهوووواء

باملشووواري املتطوووورو و الووودليل

عول هنواك ييوزات جبوارو جت انه

مشاري يتم برجمتهوا بلغوات يفامكانيه اجمه هيو الد يق علا مه املتحكمات اردوينو

جواهزو يفسوتجد مكتبوات برجميوه حيث Java لغ و MATLABهندسيه متطورو مثل

صفحه املراج بع يفو ستجد ,اردوينوخاصه بالتعامل م و اجلافا MATLABووال للغ

است دام االراوينو م املات الب, كما ميكنك ايضا است دام تعلمك كيفيه ال املوارا

امل تلفه اراوينوبوراات التواصل م يف VB.NET لغ و Java لغ

Page 14: Simply Arduino - 9-10-2012

اردوينو ببساطة

13

ل سوا لطقو و احلورارو بواالراوينو و ار ميكنك عمول اائورو استشوعار ل :المثال على سبيل

خووابيه املتطوووروالتحلوويالت احل ءالجووراعلووا احلاسووب اآلىل MATLAB البيانووات اىل

.MATLABاملتوفر بلغه

املشاري التا اثارت اعجابا كانت مختكشوف زالزل بمسوت دام االراوينوو و لغوه من اكثر

و كانت مو تصوميم شواب فوا الخااسوه عشور مو عمورو فوا الواليوات MATLABبرجمه

ر اوال 82املتحوودو حيووث ووام بعموول وحوودو استعشووار و حتليوول للووزالزل بتكلفووه ال تتجوواوز

م العلم ان الدوائر االلكرتونيه املماثلوه فقط اردوينوباست دام بع املختشعرات و بوراو

س اوالر 0222 د تتكلف اكثر م

Page 15: Simply Arduino - 9-10-2012

اردوينو ببساطة

14

Arduino Boards انواع بوردات اردوينو

Arduino UNO, Arduino Mega, Arduino Nano, Arduino

Mini, Arduino Lilypad, Arduino Demulive, Boarduino

الوبع مو ناحيوه عودا امل وارج و املوداخل و التوا حتودا هاالبوراات ع بعضو تختلف

التا ميك اجمهوا مو Sensorsعدا االجهزو التا ميك التحكم بها و عدا احلخاسات

و امكانيووه بداخلووها البوووراو و كووذلك نووو املتحكمووه الد يقووه و سوورعه املعووا املوجوووا

Arduino Uno فا هذا الكتاب بوراو ل نتناوو سو تبديلها ام ال

Page 16: Simply Arduino - 9-10-2012

اردوينو ببساطة

15

دائرةنظره عامه على

Arduino Uno

تخوت دم فوا برجموه صغ و الكترونيه رةئدا

و ATmega328موو شووركه امتوول متحكمووه

منافوذ لتوصويل املكونوات رةئهوذو الودا توفر

خموورج( موو النووو الر مووي |)موودخل 04 االلكرتونيووه اىل املتحكمووه مباشوورو عوو طريووق

Digital In/out ميكو اسوت دامها كم وارج 6يوجد 04م هذو الPWM يعور أو موا

و سوو (Pulse-Width modulation)قمي المعتمد على عرض النبضية بالتعديل الر

Analogفصول كامول يخوما الودخل و اىورج التمواثلا نتحدث ع هذو اىاصيه فوا

Inputs & Outputs

مهتوز كريخوتال علاحتوي الدائرة أيضا

Crystal Oscillator 06بووووووورتااMHz ,

مووو أجووول USB مووودخل اىل ضوووافهاالب

التواصوول موو احلاسووب, و هنوواك موودخل

ICSPللطا ووو منفصووول , باالضوووافه اىل

header يعتوووورب طريقووووه اضووووافيه والووووذي

ربجمو املتحكموو وهووي ال تووزال موصوول ل

بووراو تطووير و برجموه هوذو تعترب بوراو اراوينوو ك ان و ميكن (USBبالبوراو )خبال الو

تقريبووا حتوووي كوول مووا فهووا Development Boardو مهيئووه لالسووت دام املباشوور مصووغرو

أو ع طريق مصدر خارجا للطا وه USBووسواء ع طريق منفذ ال عليها حتتاج لكي تعمل

.مثل البطاريه

Arduino Uno Board Version 3 (اخللف)

Page 17: Simply Arduino - 9-10-2012

اردوينو ببساطة

16

Power up الطاقهامداد الدائره ب

اموداا الوودائرة بالطا وو إموا موو خووالل منفووذ يمكنييك

أو ع طريوق اسوت دام مصودر خوارجي فقط USBووال

رة باجلهووود ئليمووود الووودا AC\DCللكهربووواء كمحوووول

4فولوت او 3 يو ع طريوق بطار حتا اوالالزم للعمل

حيث يتم توصيل طريف البطاريو فولت 0.2بطاريات

رة.ئالدايف Vin ووو ال Gndاىل مدخل االرضي

فولوت, 02- 6رة العمول علوا جهود يورتاوح بوني ال ئالودا تسيتطيع

فولوت 7حيث انه اما منوا بتوممني جهود أ ول مو االنتباولك جيب

د ال يختطي تممني جهد خرج يبلو Pin 5Vفإن امل رج املتحكم

مووا اما ارة, ئفولوت املطلووب و ود يووؤاي اىل عودم اسوتقرار الودا 2ووو ال

عنصور فولت فإنه د يؤثر علوا 00رة جبهد أعلا م ئ منا بتزويد الدا

تلوف اىل ارتفا ارج حرارتوه يوا يوؤاي اىل يؤاى و voltage regulatorتنظيم اجلهد

فولت. 00اىل 7لذا فإن جمال اجلهد الذي يفضل است دامه هو م البوراو ,

Page 18: Simply Arduino - 9-10-2012

اردوينو ببساطة

17

ةللمتحكم الطاقه الكهربيهو مداخل مخارج

Power Inputs/Outputs

Vin : جهووود الووودخل عنووودما نخوووت دم

مصوودر طا وو خووارجي, ميكننووا تووممني اجلهوود موو

, إما كنا نقووم بتوممني الطا و املدخل خالل هذا

رة مووو خوووالل مووودخل احملوووول ميكننوووا ئللووودا

.أيضا املدخلالوصول له م خالل هذا

5V : جهد منتظم يخت دم لتممني الطا

و سو نخت دمه رةئا الداعل املخت دمه عناصرلل

ود لتوف الطا ه للقط االلكرتونيه التا سنضيفها,

عورب مونظم جهود Vinيمتي هذا اجلهد مو خوالل

أو أي USBااخلي أو تممينوه مو خوالل منفوذ ال

فولت. 2 بقيمه مصدر جهد منتظم

3.3V : فولووت 9.9جهوود بقيموو للمصوودر

وة ائرمو بول مونظم اجلهود الوداخلي للود مؤم

أ صا يم لخحب التيار م خالل هذا اىط هو

ميلي أمب . 22

GND :اىط االرضي.

Page 19: Simply Arduino - 9-10-2012

اردوينو ببساطة

18

Microprocessor و ال اكره الدقيق المعالج

املتحكموه الد يقوه حتويو املتحكمات الد يقه اشبهه بوحدو حاسب آىل صغ و احلجم

ATmega328 90 ماكرة كليه تخاوى هرتز و ميجا 61معا بخرعه علاKilo Byte

o Boot loader : للغ الدائرةع كيفيه فهم املخئولالخوفت وير Arduino C

o :SRAM تخجيل املتغ ات بصورو مؤ ته. فا املخت دمه الذاكرو تعترب

o Flash Disk ختووزي الربنووام الووذى سوونكتبه فوواتخووت دم : مخوواحه ختزينيووه

نوه فوا كهوذا الور م صوغ جودا ل ود يبودو ه , فا الوهلوه االوىل ملتشغيل املتحك

.القاامها االمثله احلقيقه كافا لكتابه الكث م االوامر كما سنرى ف

o EEPROM : الذاكرو املخؤله ع تخجيل بع املتغ ات بصورو اائمه ااخول

ه و تظوول حمتفظووه بقيتمهووا حتووا بعوود فصوول الكهربوواء و ميكننووا ان نعتربهووا مثوول موواملتحك

الكمبيوتر الش صا.فا Hard Diskالخوا ه

6%

89%

3%

2%

SRAM - 2 Killobyte

Flash Disk - 29 Killobyte

EEPROM - 1 Killobyte

Bootloader 0.5 Killobyte

Page 20: Simply Arduino - 9-10-2012

اردوينو ببساطة

19

Input & Output Pins (I/O)التحكم مخارجمداخل و

كموداخل أو خموارج Digital Pins) 04عشور ) األربعو الر ميو املنافوذ صيختص يمكن

و تعمول هوذو اىطووط الثوانا وملك باست دام االوامر الربجميوه كموا سونرى فوا الفصول

ميلوي 42سوحب للتيوار حبودوا ال فولوت وكول خوط ميكو أن يوؤم 2ا صواو علا جهد

بشوكل افرتاضوي ,A5اىل A0ومعنون م Analogخطوط اخل متاثلي 6أمب , و هناك

فولت. 2حتا صفر ختطي هذو املداخل ياس جهد م ت

Page 21: Simply Arduino - 9-10-2012

اردوينو ببساطة

20

:مالحظات شخصيه

ع الفصل االول : الش صي مالحظاتك لكتابخمصصه الصفح هذو

Page 22: Simply Arduino - 9-10-2012

اردوينو ببساطة

21

لله عليه وسلمرسول الله صلى ا

ا يرحمكم العلم خزائ ومفتاحه الخؤال , فخلو

الله , فإنه يؤجر فيه أربع : الخائل والمختم ,

والمعلم , والمجاب لهم

Page 23: Simply Arduino - 9-10-2012

اردوينو ببساطة

22

التجهيزات: الثانيالفصل Hardware & Tools: املكونات املاايه اوال

Page 24: Simply Arduino - 9-10-2012

اردوينو ببساطة

23

و ما ا ستحتاج استخدام اردوينو كيف تبدأ

:و سوووتحتاج للمكونووات التاليوووه كبدايوووه Arduino UNOسووو نخوووت دم بوووراو مووو نووو

(كوناتفا بع االمثله ستحتاج اضافات هلذو اململحوظه: )

Arduino Uno V.3

وامور له عو اسوتقبال األ ئوها البووراو املخو

فووا الربجميووه موو احلاسووب اآلىل و كتابتهووا

ATmega328 املتحكمه الد يقه ماكرو

املوضوعه بداخلها

USB printer cable (1 Meter)

لتوصووويل البووووراو باحلاسوووب طابعوووهكابووول

اآلىل, ميكنووك شووراء اى نووو و يفضوول ان

حتووا ال يخووبب كووون صوو وودر االمكووان ي

طووول " واحوود موورت " ,ازعوواج اثنوواء العموول

سيكون اكثر م كافا

(Breadboard) لوحه التجارب

بوووووراو خاصووووه تخووووت دم لرتكيووووب و فووووك

اون ونوووات االلكرتونيوووه عليهوووا بخوووهوله املك

احلاجه اىل حلام , ميكنوك شوراء اى حجوم

Half Sized Breadboardفضل وي

Page 25: Simply Arduino - 9-10-2012

اردوينو ببساطة

24

Colored Ledsن مختلفة(اايود ضوئي )الود

بعوووو الليوووودات و هووووا اشووووبه باملصووووابيح

الصغ و و تعمل علا حتويل التيوار الكهربوا

ليوووودات 02اىل ضوووووء, يفضوووول ان تشوووورتى

توووفرو بوووملوان تخمتلفوووه و و احجووام بووملوان

, صووفراأل, الربتقوواىل, خضووراأل, االمحرمثوول:

االزرقاالبي و

Resistors مقاومات

سوونحتاج اىل مقاومووات للووتحكم فووا التيووار

الكهربا علوا موداخل و خموارج املتحكموه

:الد يقه و سنحتاج املقاومات التاليه

Resistor 560 Ohm (x5)

Resistor 10 Killo-Ohm (x5

AVO Meter (multi-meter device)

متعووودا كهربوووي جهووواز يووواس (اختييييار )

وموات و االست دامات و يختطي ياس املقا

فرق اجلهد و شدو التيار الكهربا

Wiresبعض االسالك للتوصيالت بين المكونات

ستخووت دم فووا توصوويل املكونووات ببعضووها علووا

بتجهيوووزقووووم لوحوووه التجوووارب و سوووتتعلم كيوووف ن

كما سنرى فا الصفحه التاليه.بنفخك الخلك

Page 26: Simply Arduino - 9-10-2012

اردوينو ببساطة

25

التوصيل أسالكجهز كيف تيووه اجلووواو عوو ميكنووك احلصووول علووا وصووالت عال

املخوت دم فوا Cat5طريق است دام طعه م كابل

وصووالت شووبكات احلاسووب اآلىل و تخووتطي شووراءو موو

حمالت مختلزمات الكمبيوتر و الشبكات .

سونتا مورت واحود م باسوت دام شوارو االسوالك و وص

و موو اجلهووتني للخوولك املووراا جتهيووزو كمووا فووا الصووور

كو بواطوال مرو اخرى ولثم كرر نف العمليه ,االوىل

خمتلفووه حتووا حتصوول علووا جمموعووه اسووالك جوواهزو

لالست دام

اما كنت ال تفضل ان تقوم بهذو العمليوه ميكنوك شوراء

موووو جوووواهزو لالسووووت دام مقشوووورو جمموعووووه اسووووالك

و ستجدها فا حموالت املكونوات breadboardال

االلكرتونيه

Page 27: Simply Arduino - 9-10-2012

اردوينو ببساطة

26

9املكونوات هنواك فا مصور و ترغوب فوا شوراء تلوك ا ا كنت

علا االنرتنت تختطي طلب تلك املكونات منهوا مصريه موا

و سوويتم اضووافهغضووون يووومني فووا و سوويتم شووحنها لبوواب منزلووك

.املكوناتعلا سعر شح التكلفه

http://www.fut-electronics.com

http://egyrobots.com

http://www.ram-e-shop.com

اما كنت تفضل زيارو بع احملال بنفخك اما

RAM Electronicsميكنك الذهاب اىل حمل رام الكرتونيك

و حمووول فيوتشووور الكرتونووويك "بييياب الليييوق املوجووووا فوووا "

Future Electronics كليييه دندسييه عييين املوجوووا امووام

فا العباسيه . عبده باشا ميدانفا شمس

او اى اولوه اخورى ال يتووفر كنت فا احدى الدول العربيه ماو ا

ميكنوك زيوارو ( اردوينيو بها حمالت تبي هذو املكونات )خاصوه

اىاصوووه نتجووواتاملالتووواىل و سوووتجد عليوووه الكوووث مووو املو ووو

م الشح الانا ادروينوب

http://www.buyincoins.com

لتبحث ع موز حملا ريب منك الردوينو كما ميكنك زيارو ائمه املوزعني العامليني

عرب الرابط التاىل:

uyhttp://arduino.cc/hu/Main/B

Page 28: Simply Arduino - 9-10-2012

اردوينو ببساطة

27

ر م ملحوظه د ختتلف مكونات العلبه م بلد اىل اخرى علا حخب املورا و

كما د حتتوى علا ملصقات اضافيه الراوينو اصدارو البوراو

Arduino Unoعلبه حمتويات

Page 29: Simply Arduino - 9-10-2012

اردوينو ببساطة

28

البرمجيات: تجهيز ثانيا

Software's

Page 30: Simply Arduino - 9-10-2012

اردوينو ببساطة

29

Arduino (IDE)بيئه تطوير اردوينو

فا كتابه االكواا الربجميه بلغه هدماملخت االااو Arduino IDEبيئه التطوير تعتبر

Arduino C بعد ملك اىل صيغه تنفيذيه ميك وضعها علا املتحكمه الد يقوه او حتويله

املوجواو علا البوراو .

بيئه تطوير اراوينو بالبخاطه و الخهوله فا التعامل فها تكاا ختلوو مو اى تعقيودات تتميز

اراوينوو حيتاجه املربم ليبودأ تطووير بورام بلغوه فا املظهر العام و حتتوى فقط علا ما

كما انها تخت دم فا نف الو ت لرف الربنوام مباشورو اىل املتحكموه Arduino Cسا

.للبوراوالد يقه و بذلك ل حتتاج اىل برنام اخر خمصص لرف الصيغه التنفيذيه

Page 31: Simply Arduino - 9-10-2012

اردوينو ببساطة

30

معتبووارو اكثوور انظمووه ب بوينييدوزعلووا بيئووه تطوووير اراوينووو النخوو ه اىاصووه سيييتم الشيير

التشغيل شيوعا و شهرو بني املخت دمني بوالرغم مو انوا انصوح بشودو بمسوت دام ليونك

, Open Sourceمفتوح املصدرالنه جمانا و سري و آم باالضافه اىل انه

.و فا مجي االحوال ميكنك العمل علا اى نظام تشغيل حتب

هنواك كتواب يونك تعر اكثر علا نظام تشغيل لال يريد من

: م تمليف ]اوبنتو ببساطه [عربا جمانا

و يشوورح اسووت دام نظووام تشووغيل أحمييد محمييد أبوزيييد

باسلوب سهل و يت و ميكنوك Ubuntuلينكس ابونتو

حتميله جمانا م علا املو الرمسا للكتاب :

com/http://www.simplyubuntu.

Page 32: Simply Arduino - 9-10-2012

اردوينو ببساطة

31

Arduino IDEتنزيل بيئه التطوير

بيئوووووه التطووووووير الربجميوووووه جلميووووو انظموووووه التشوووووغيل تتيييييوفر

ميكنوووك حتميلوووها مووو و Windows, Linux, MACامل تلفوووه

:املو الرمسا ملطورى اراوينو علا الرابط التاىل

ain/Softwarehttp://arduino.cc/hu/M

مو الورابط اعوالو و بهموا م بتنزيل االصدارو اىاصوه او ماك خت دما ويندوزمل بالنسبه

ثم م بتشغيل 7zipملف مضغوط, م بفك الضغط بمست دام احدى الربام مثل ستجد

arduino.exeملف

Page 33: Simply Arduino - 9-10-2012

اردوينو ببساطة

32

الربجميوووات اسوووت دام مركوووز ميكنوووك Ubuntuينك اوبنتوووو ش صووويه:لمسيييتخدمى

Software center فقوووط احبوووث عوووArduino IDE ثوووم اضوووغط زرInstall و

و نخو ه اوبو سووزى fedoraبالنخبه ملخت دما انظمه لينك االخرى مثل فيدورا

Open SUSE ستجدو بيئه التطوير موجواو فا مركز الربجميات اىاصه بالتوزيعه

م علا املو الرمسا.اص بلينك اجيااو ميكنك حتميل امللف اى ان مل تختط

لوذلك راوينو بصورو اسر علا لينك اكثر مو وينودوز الملحوظه: تعمل البيئه التطويرو

مو انصح اما كان جهازك املخت دم فا عمليوه الربجموه مو امكانيوات متوسوطه او ضوعيفه

ن تخت دم احدى نخخ لينك يفضل ا Hardwareناحيه

Page 34: Simply Arduino - 9-10-2012

اردوينو ببساطة

33

وم Arduino IDEتنصويب مو نتهياء البعد ا

باىطوات التاليه لتوصيل البوراو بالكمبيوتر:

اوينو بالكابلبتوصيل بوراو ار م

فوا فتحوه ااخل الطور االخورUSB

حتوا لويال فا احلاسوب اآلىل و انتظور

تظهر لك رساله تفيد بمن جهاز احلاسوب

Foundتعر علا طعه عتاا جديودو

Arduino Uno Board بعووود ظهوووور

لبودأ العموول يومتا الو وت هتلوك الرسوال

علا البيئه التطويريه

1

2

3 4

Page 35: Simply Arduino - 9-10-2012

اردوينو ببساطة

34

التعرف على الواجهه الرسوميه لبيئه التطوير

Page 36: Simply Arduino - 9-10-2012

اردوينو ببساطة

35

:اجزاء رئيخيه تتكون بيئه التطوير الربجميه م واجهه بخيطه و تنقخم اىل اربعه

شريط القوائم: االول

شريط االوامر الخريعه :الثانى

الربجميهالكواا منطقه كتابه ا :الثالث

اجلزء اىاص بعرض التنبيهات و االخطاء الربجميه فا بيئه التطوير :الرابع

تجهيز بيئه التطوير

تعامل معهوا و يوتم ملوك عو تطويرو ها اختيار البوراو التا سنالبيئه ال خطوو لتجهيز اول

تووفرو لودينا و ثم خنتوار نوو البووراو امل Boardو اختيار Toolsطريق الذهاب اىل ائمه

كما فا الصورو التاليه Arduino Unoفا هذو احلاله سن تار

Page 37: Simply Arduino - 9-10-2012

اردوينو ببساطة

36

و التا تفيود بومن اجلهواز بعد توصيل اراوينو لهفا حاله ظهور هذو الرساخطوو تتم ثاني

او Vista تظهوور غالبووا موو مخووت دما وينوودوز )مل جيوود تعريفووات لكووا يخووت دم اراوينووو

Windows 7 ) ب ان نقوم بتنصيب التعريفات كالتاىل:جيو

لصور التاليه كما فا ا Device Managerاوال: افتح مدير االجهزو

Page 38: Simply Arduino - 9-10-2012

اردوينو ببساطة

37

ثم اختار الفولدر الذى يوجد به برنام اراوينو " تصفح اجلهاز الختيار التعريفات" اخرت

Page 39: Simply Arduino - 9-10-2012

اردوينو ببساطة

38

ريفوات ام ال بعدها سو تظهر رساله تخملك ع "اما ما كنت ترغب فا تنصيب هوذو التع

و انتظر ليال حتا تنتها عمليه تعريف اراوينو بنجاح كما فا الصورو التاليه Ok" اضغط

بعوود االنتهوواء موو تنصوويب التعريووف الحووا ر ووم املنفووذ املخووت دم فووا اراوينووو موو موودير

, تذكر ملك الر م فخو COM3االجهزو كما فا الصورو التاليه و التا تظهر ر م املنفذ

) م مالحظه ان ملك الر م د خيتلف عندك( . الحقاتاجه حن

Page 40: Simply Arduino - 9-10-2012

اردوينو ببساطة

39

Tools – Serial Portها اختيار منفذ التوصيل بمراوينو م ائمه الخطوه االخيره

Page 41: Simply Arduino - 9-10-2012

اردوينو ببساطة

40

تختطي البدأ فا كتابه اول برنام لك علا االراوينو و ملك ع طريوق اختيوار بعد لك

New ائمه م File وائم كما فا الصورو التاليهاملوجواو بشريط الق

مباشرو م شريط االوامر الخريعه Newاختيار او يمكنك

Page 42: Simply Arduino - 9-10-2012

اردوينو ببساطة

41

اجلواهزو و التوا تخوتطي الربجميوه تووفر لوك البيئوه التطويريوه جمموعوه مو االمثلوه ايضا

الرئيخويه كموا فوا Fileاملوجوواو فوا ائموه Examples الوصول اليها م خالل ائموه

الصورو التاليه

Page 43: Simply Arduino - 9-10-2012

اردوينو ببساطة

42

:مالحظات شخصيه

: الثانامالحظاتك الش صيه ع الفصل لكتابههذو الصفحه خمصصه

Page 44: Simply Arduino - 9-10-2012

اردوينو ببساطة

43

فولتريفرانسوا ماري أرويه املعروف باسم

الرأي, الفكخ م م حامالتخ دديش ك

أنت تك فال الصواب كل أيهر كي مل فإن

برأيك ثكبتشب اىطم كل

Page 45: Simply Arduino - 9-10-2012

اردوينو ببساطة

44

الفصل الثالث

م اراوينو لنبدأ العمل

Let's get started

Page 46: Simply Arduino - 9-10-2012

اردوينو ببساطة

45

Example 1: Blinking led ضوئي تشغيل دايود المثال األول:

Page 47: Simply Arduino - 9-10-2012

اردوينو ببساطة

46

:(1) المثالمكونات

اردوينوبوراو Arduino Uno

Breadboard

اوم 262مقاومه كهربيه بقيمه

ملا 02 طر اايوا ضوئا

جهاز الكمبيوتر

ور ه املخاعدو املوجواو فا هذو الصفحه

يوتم ور وه هوا المسياعده: الورقهما دى

وض املكونوات كيفيهرتشدك اىل ل طباعتها

لوحووووووه التجووووووارب االلكرتونيووووووه علووووووا

Breadboard

وم بطباعووه هوذو الصووفحه :الخطيوه االولييى

)ملحوظه عند الطباعه ال تقم بتكوب او تصوغ

ثوم ( %100حجم الصفحه و است دم مقيواس

ووص ور ووه املخوواعدو بعوود ملووك ضوو الور ووه

4و ثبتهووووا باسووووت دام Breadboardفوووووق

ابوودأ فووا توصوويل ثووم pin-headerوصووالت

و كم فا الصور املكونات االلكرتونيه فو ها

Page 48: Simply Arduino - 9-10-2012

اردوينو ببساطة

47

بعمل ملف جديد م شريط االوامور م Arduino IDEم بيئه التطوير :الخطوه الثانيه

االكواا لكتابهفا اجلزء امل صص الربجميه التاليه الخريعه و اكتب االوامر

Breadboard

الورقه

المساعده

اردوينو

Pin-Header

Page 49: Simply Arduino - 9-10-2012

اردوينو ببساطة

48

// 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(;

}

Page 50: Simply Arduino - 9-10-2012

اردوينو ببساطة

49

بعد ان تنتها مو كتابوه :الخطوه الثالثه

الكووووا الربجموووا اضوووغط علوووا زر تمكيووود

Verify فووا االواموور الخووريعهفووا الشووريط

ثم انتظر حتا تظهر رساله IDEاعلا ال

فا االسفل ختربك بمن الربنام د انتهوا

بييورده موو جتهيووز الكوووا ليووتم رفعووه علووا

االردوينو

ان كابوووول االراوينووووو متصوووول تأكييييد

باحلاسب ثم م بالضغط علا زر " رف

Upload ربنوام اىل املتحكموه الد يقوه و انتظور " و ملك حتوا يوتم بودأ عمليوه حتميول ال

)مكتووووب جبانبهوووا املوجوووواو علوووا البووووراو leds عووودو ثووووانا سوووتالحا عنووودها ان ال

Tx/Rx) بودأت وو هوذو االضوائه تعنوا ان البوورا بدأت تضئ بخورعه عاليوه ثوم تقوف ليول

د الوذى و جيعول الليو يبودأ الربنوام تختقبل بيانات الربنام الذى منا بكتابته , بعود ملوك

. وضعناو يضئ و ينطفئ بمنتظام كل ثانيه

االن سنقوم بتشريح و فهم الكوا و اول مشرو لك بمست دام اراوينو, وكمرب

الربجما املخت دم فا هذا املثال.

Page 51: Simply Arduino - 9-10-2012

اردوينو ببساطة

50

......شر الكود البرمجى

const int LED = 13;

LED و امسه 09 يمته = constant يقوم هذا االمر بعمل ثابت

سؤال ملاذا كتبنا هذا الثابت ؟؟

نقوووم بمسووت دام الثوابووت حتووا تخووهل علينووا تخووميه امل ووارج و املووداخل

(Input/Output Pins) فمووثال فووا هووذا الربنووام ,للمتحكمووه الد يقووه

و LEDبمن امسوه 09الثابت حتا نعرب ع امل رج ر م هذا منا بتعريف

ى جوزء مو اجوزاء الربنوام الحقوا فوا ا نممر املتحكمه لو ارانا انبذلك

لو حنتواج او ان تقوم بمطفاء ملوك الليود 09بمن تشغل الليد املوجوا علا امل رج ر م

و ستفهم املتحكموه الد يقوه اننوا نقصود مباشرو LEDعندها لذكر الر م و امنا سنذكر كلمه

09بهذا امل رج ر م

Void setup ( )

{ pinMode(LED,OUTPUT);

}

اوامر م السطر الثانى

تعريف وظيفه لربنام هوا

و التا نرمز هلا 09ر م pinال

LEDبمسم

Page 52: Simply Arduino - 9-10-2012

اردوينو ببساطة

51

مراحل و دى كالتالى: 3فى برامج المتحكمات الدقيقه يتكون البرنامج من

: ان تقوم بتعريف اى موتغ ات او ثوابوت فوا الربنوام الوذى سوو نقووم المرحله االولى

بكتابته

ميكوو ان Digital Pinsتتميووز املتحكمووات الد يقووه ان مجيوو ال :الثانيييهالمرحلييه

قوووم بضووبط اعوودااات امل ووارج و ن فووا هووذا املرحلووهتخووت دم امووا كم وورج او موودخل و

او مثال سو تخت دم كم رج 09او 00او 0ر م Pinوواملداخل و تعريف املتحكمه ان ال

هوا ( ) setup و تعترب الداله سو يخت دمان كمدخل للبيانات 6و 2ر م Pinان ال

املرحله الثانيه.

و Pinال لتحديوود وظيفووه ber, state)pinMode(pin num;اسووت دام االموور يييتم

اما منوا بتعريوف Pinووو الاسوم اوم ورج حيوث يوتم كتابوه ر وم ككمدخل ام عمل تهل س

و الحوا انوه OUPUT او INPUT ثوم يوتم كتابوه حالوه التشوغيل ,ثابت خمصوص سوابقا

. capitalبصورو (و خمرجامدخل )جيب كتابه حرو كلمه

عداات امل ارج و املداخل بداخل ا واس الدالهجيب ان تكتب مجي ا ايضا

}your configurations here write{ ( ) setup علا سبيل املثال اما ارانا

هووم خمووارج وان العاشوورو و احلاايووه عشوور و الثالثووه عشوور pinووووان خنوورب املتحكمووه ان ال

االوامر التاليه: فخنقوم بكتابهالثانيه ها مدخل pinال

Pinر م احلاله

Page 53: Simply Arduino - 9-10-2012

اردوينو ببساطة

52

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 م بتشغيل

ملا ثانيه 0222ثم انتظر

LED م بمطفاء

ملا ثانيه 0222ثم انتظر

Page 54: Simply Arduino - 9-10-2012

اردوينو ببساطة

53

فوا , r program}{you loop ( )voidكتابه برنوام املتحكموه ااخول الدالوه يتم

و هووو املخووؤل عوو ,HIGH) digitalWrite(LED;االموور اسووت دمنا املثووال هووذا

نقوم بكتابه اسوم امل ورج حيث LOW = 0او HIGH = 5 Voltتطبيق جهد كهربا اما

لتطبيوق جهود HIGHاوال ثم اجلهد الذى نريد تطبيقه و عندما نريد تشغيل الليد نخت دم

لتطبيق جهد = صفر. LOWنخت دمو عند اطفائه فولت 2

جيب فهو يخت دم الخبار املتحكمه كم م الو ت ) 1000delay;( اما بالنخبه لألمر

و بهذا االمر ميكننا ان نوتحكم فوا كوم مو الو وت جيوب ان تنتظر بل تنفيذ االمر التاىل

. ان يعمل او يطفئ الليد

:و كما شاهدنا فا املثال الخابق

digitalWrite(LED, HIGH);

delay(1000);

علوا امل وورج HIGHفولوت 2تطبق جهود يخواوى سو تعنوا ان املتحكموه تلوك االوامور و

LED تحكموات و نالحا انه عنود كتابوه الو وت فوا بورام امل ملا ثانا 0222ثم تنتظر

الثانيوه و مو التوا تعنوا جوزء مو الوف و millisecondا ثانيه الد يقه يتم است دام املل

Micro-Secondو املايكرو ثانيه Nano-secondميكننا است دام النانو

يخواوى صوفر فولوت و الوذى يعنوا ان الليود Lowتقوم املتحكمه بتطبيق جهد بعد ملك

.= واحد ثانيه اخرى ملا ثانيه 0222 يظل منطفئ سو ينطفئ ثم

Page 55: Simply Arduino - 9-10-2012

اردوينو ببساطة

54

Blinking led 1// Example نام؟؟؟ماذا عن اول سطر فى الرب

املربجمني عند كتابوه اى برنوام مهموا كانوت اللغوه الربجميوه اىل نظوام للتعليقوات يحتاج

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 (^_^) */

بل كل سوطر تريود ان //االوىل لكتابه التعليقات جيب ان تكتب هفا الطريق ملحوظه:

فوا بدايوه الونص ثوم */نكتوب الثانيوه هيتجاهله بالربنام باعتبارو تعليق, لك فا الطريق

, لوذلك تخوت دم الطريقوه الثانيوه /*و م بو و نصوص و فا النهايه خنوت كالمنكتب ما نريد م

ون سوطر عليقوات القصو و التوا غالبوا موا تكو فا التعليقات الطويلوه و الطريقوه االوىل فوا الت

واحد.

Page 56: Simply Arduino - 9-10-2012

اردوينو ببساطة

55

ليعمل فقيط عنيد المثال الثانى: تطوير للمثال السابق

Push buttonمن نوع مفتا )سويتش(ضغط

ضوغط امانجعل الليود يعمول فوا حالوه سونقوم بتطووير الفكورو الخوابقه و سو املثالهذا يف

يف املخوت دم و هوو اشوهر انووا الخويتشوات push buttonاملخت دم علوا زر مو نوو

.اإللكرتوني األجهزة

Page 57: Simply Arduino - 9-10-2012

اردوينو ببساطة

56

:(2مكونات المثال )

بوراو اراوينوArduino uno

Breadboard

Push button

Led 10 mm

كيلو اوم 02مقاومه

اوم 262مقاومه

صيل بع الخلوك للتو

باسوت دام 5vثوم وصول احودى طرفيوه باملودخل لوحه التجارب م بوض الخويتش علا

سلك علا بوراو اراوينو و الطر االخر باملقاومه العشرو كيلو اوم و مو نفو النقطوه وم

بورا و بعود ملوك وم بتوصويل طور املقاوموه اردوينو علا 0بتوصيل سلك للمدخل ر م

.الثانا باملدخل االرضا

ا اهلدف من هذه اخلطوه ؟؟م

, عنود ضوغط الوزر تنطلوق نبضوه Digital inputتعمل تلك الدائرو علا توف اخل ر مي

و عنود تورك الوزر HIGHفولت و التا تعتربهوا املتحكموه الد يقوه اشوارو مو نوو 2بقيمه

LOWينفصل التيار الكهربا و يصبح الدخل يخاوى صفر فولت و الذى تعتربو املتحكموه

فقووط عنوودما يكووون الوودخل يعموول لكووا املثووال االوللتعووديل و سووو نخووتغل هووذا االموور

HIGH

Arduino IDE يف التالي الربجمي كواا كتابه األ: الثانية الخطوة

ها نخوخ و لصوق مو الكتواب و ملوك الربجميوه بنفخوك وال تمخوذ األوامور نصيحه: م بكتابوه

كتابه الكوا تدرب نفخك علا ح

Page 58: Simply Arduino - 9-10-2012

اردوينو ببساطة

57

// 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); } }

المرحله االولى: تعريف

المتغيرات و الثوابت

المرحله الثانيه: تعريف و

تحديد المداخل و المخارج

المرحله الثالثه: كتابه

اوامر البرنامج الرئيسيه

Page 59: Simply Arduino - 9-10-2012

اردوينو ببساطة

58

م بعمل تمكيد للكوا الربجما ع طريق الضغط علا عالمه تمكيد :الثالثة الخطوة

Verify و مت بعود ان تتمكوود موو ان الربنووام صوحيح وال حيتوووى علووا اخطوواء برجميووه و

برفعوه للمتحكموه الد يقوه عو طريوق زر بعد ملك م حتويله اىل الصورو التنفيذيه بنجاح,

Uploadرف

جى ......شر الكود البرم

و Pin 13و الووذى سوو مز اىل ledPin منووا بتعريووف مووتغ امسووه :االولييى المرحليية

و الوذى سو مز اىل الخوويتش املوجووا 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); }

Page 60: Simply Arduino - 9-10-2012

اردوينو ببساطة

59

المرحله الثالثه:

val = digitalRead(buttunPin); القيمو و تخوجل pin 2 املودخل بقياس يمه اجلهد علا املتحكم األمر ستقومهذا يف

valاملتغ يف

اما كان املخت دم ضغط علوا الخوويتش و ( )digitalRead األمر باست دامو يتم ملك

LOWو ان مل يضغط ستكون القيمه صفر فولت = HIGHفولت = 2ون فمن القيمه ستك

if (val == HIGH) { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); } else {digitalWrite(ledPin, LOW); }

واحد م اشهر االوامر فا لغات الربجمه و هو االمر است دمنافا هذا اجلزء

) if….else يخوووت دم ملوووك االمووور لعمووول مقارنوووات و جعووول ).. موووااون ملوووك = اما ,

ifاسوت دمنا االمور حمودا و فوا هوذا املثوال شوئ اخور اما حودث شئ مااملتحكمه تفعل

كالتاىل :

علا املدخل الخاب و ختزن القميه فا املتغ ستقي املتحكمه يمه اجلهدval

اما كانت القميه تخاوىHIGH فولت ستقوم املتحكمه بتشغيل الليد 2و التا تعنا

ملدو ثانيه و اطفائه ملدو ثانيه و هكذا باستمرار.

ما مل تك القيمه تخاوىHIGH سوتقوم و اجلهد املطبق علا املدخل يخاوى صفر

الليود و سويظل بيوق جهود يخواوى صوفر علوا الليود و بوذلك لو يعمول املتحكمه بتط

.منطفئ

Page 61: Simply Arduino - 9-10-2012

اردوينو ببساطة

60

سويتش 2طوير المثال السابق يعمل بيالمثال الثالث: ت

و ONواحد من اجيل التشيغيل Push Button من نوع

OFF الثانى من اجل االغالق

Page 62: Simply Arduino - 9-10-2012

اردوينو ببساطة

61

(:3ثال)ممكونات ال

Arduino uno

Breadboard

Led 5 mm

كيلو اوم 02مقاومه يمه 0عدا

اوم 262مقاومه واحدو يمه

سويتش 0عدا

اسالك توصيل

الور ه املخاعدونخ ه مطبوعه م

دم مووا تعلمنوواو فووا كوووال سووونفووا هووذا املثووال

سووويتش 0, سنخووت دم املثووالني االول و الثووانا

و سوويتوىل الخووويتش push buttonموو نووو

االول عمليوووه تشوووغيل الليووود و سووويتوىل الخوووويتش

االخر عمليه اطفائه.

ووم بطابعووه ور ووه املخوواعدو و الخطييوه األولييى :

4باسوت دام breadboard صها ثم ثبتهوا علوا الووو

ثم وم بتوصويل املكوانوات Pin-Headersم الوو

االلكرتونيه علا الور ه املخاعدو كما فا الصورو

Page 63: Simply Arduino - 9-10-2012

اردوينو ببساطة

62

يد م شريط االوامور م بعمل ملف جد Arduino IDEم بيئه التطوير الخطوه الثانيه:

و بعود االنتهواء الخريعه و اكتب االوامر الربجميه التاليه فا اجلزء امل صص لكتابه االكوواا

جرب الضوغط علوا الخوويتش االول و ارف الربنام اىل املتحكمه الد يقه علا البوراو و

الثانا و شاهد ماما سيحدث

Page 64: Simply Arduino - 9-10-2012

اردوينو ببساطة

63

//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); }

}

حتديد املداخل

و امل ارج

للدائرو

اوامر الربنام

الرئيخيه

Page 65: Simply Arduino - 9-10-2012

اردوينو ببساطة

64

بودال else if األمور أضوافه و هوو ifاست دمنا تعديل بخيط علوا األمور في د ا المثال

. ifمجله ميكننا م أضافه اكثر م احتمال واحد يف فقط و هو أمر elseم

:مثال

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}

احتماالت و و خيار أخ كتاىل : 9كما ترى يف هذا املثال وضعنا

تقرأ بع الكتب نعليك أكنت حتب العلوم ا ا

رو القدمتلعب ك عليك أنكنت حتب الرياض أما ا ا

تتعلم اروس الرسم عليك أنكنت حتب الف أما ا ا

تبحث ع هواي لتشغل بها و ت اإلجازة الصيفي عليك أنيك لديك هواي و ا ا لم

است دمنا احتمال أن املخت دم سو يضغط علوا الخوويتش األول و يف الربنام الخابق

حتمووال الثوواني هووو أن يضووغط فتقوووم املتحكموو الد يقوو بتشووغيل الوودايوا الضوووئي و اال

فتقوم املتحكم بإطفاء الدايوا الضوئي ... و هكذا 0املخت دم الخويتش

(^_^) و األن ما رأيك أن نعدل الربنام؟ قليل

Page 66: Simply Arduino - 9-10-2012

اردوينو ببساطة

65

//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); } }

Page 67: Simply Arduino - 9-10-2012

اردوينو ببساطة

66

على ما تعلمناه فى االمثله السابقه سريعةمراجعه

الدالوووه املخوووؤله عووو ضوووبط اعووودااات

املتحكمه و حتديد املداخل و امل ارج

void setup ( )

}…………………{

يثم كتابه الربنوام الرئيخوا ااخول هوذو

الداله و يقووم الربنوام باعوااو نفخوه مورو

تلووووو االخوووورى كلمووووا امت تنفيووووذ مجيوووو

ات اىطو

void loop ( ) }…………………{

;int name = value امر يخت دم لتعريف متغ بقيمه معينه

امر يخت دم لتعريف ثابت غ ابل للتغ

constيشبه األمر الخابق م أضافه

cons int name = value;

;13const int led = example:

pinاالمر املخؤل ع حتديد وظيفه كل

و ضوووبطها للعمووول كمووودخل ام كم ووورج

INPUT or OUTPUT

pinMode (pin number, State);

,INPUT);11pinMode(: 1example

pinMode(led,OUTPUT);: 2example

االموور املخووؤل عوو اخووراج جهوود علووا

HIGH (1)بصورو ر ميوه pinواحدى ال

or LOW(0)

digitalWrite (pin number,

State);

,HIGH);13digitalWrite(example:

املطبوق اجلهود وراءو ع املخؤل االمر

حيوث ر ميوه بصوورو pinوالو احدى علا

فولووت 2 كووان اما) اجلهوود بقيوواس يقوووم

كوان اما و HIGH يعتورب فولوت 9.8 حتا

digitalRead (pin number);

);4digitalRead( example:

Page 68: Simply Arduino - 9-10-2012

اردوينو ببساطة

67

يعتووورب فولوووت 0.8 حتوووا صوووفر بوووني موووا

LOW )

يخوتعمل هوذا االمور بوزم حمودا : تمخ

فووا حتديوود املوودو الزمنيووه لالموور الووذى

يخبقه فا التنفيذ

delay (time);

);100delay( :1example

);1000delay( :2example

افعوول .....( او اما حوودث..)اما حوودث ...

مجله شرطيه تخت دم لتنفيذ امر ما عندما

و ميكوو اسووت دم يتحقووق شوورط معووني

:تاليهالشروط ال

يخاوي = =

ال يخاوي =!

أ ل م أو يخاوي <=

أكرب م أو يخاوي >=

أ ل م <

أكرب م >

if (the condition)

{…..what to do}

else if (another condition)

{…what to do}

else (last condition)

{….what to do}

Page 69: Simply Arduino - 9-10-2012

اردوينو ببساطة

68

:يمكن استخدامها في اردوينو كالتالي اشهر أنواع المتغيرات التي

النو مثال القميه

سووالب موو عوودا صووحيح أي

90768حتا موجب 90768

int led = 13; Integers

يخوووت دم موووو األعووووداا الوووو

حتتوى كخور

float sensor = 12.5; Float

كلمات أوحرو نصيه char name= hello; character

ر ووم طويوول جوودا يوورتاوح بووني

حتوا 0.047.489.648سالب

موجب نف الر م

long variable = 99999999; long

إىل( 2ر م صوغ يورتاوح بوني )

022

byte number= 44; byte

لمزيد من المعلومات عن أنواع المتغيرات التي يمكن استخدامها

داخل برامج اردوينو قم بزياه الصفحة التالية

http://www.arduino.cc/en/Reference/VariableDeclaration

Page 70: Simply Arduino - 9-10-2012

اردوينو ببساطة

69

شخصيه:مالحظات

: الثالثمالحظاتك الش صيه ع الفصل لكتابههذو الصفحه خمصصه

Page 71: Simply Arduino - 9-10-2012

اردوينو ببساطة

70

أبو الطيب املتنيب

مو العقل يشقا يف النعيم بعقله

أخو اجلهال يف الشقاوة ينعمو

Page 72: Simply Arduino - 9-10-2012

اردوينو ببساطة

71

الفصل الرابع

املختشعراترج التماثلا و است دام الدخل و اى

Analog Inputs/Outputs and Sensors

Page 73: Simply Arduino - 9-10-2012

اردوينو ببساطة

72

تغ للو ابول مو صوفر و اى فورق جهود تبودأ يمتوه الدخل او اىرج التماثلا بمنوه يعرف

2حودوا صووى معينوه , علوا عكو الودخل الر موا و الوذى اموا يكوون اائما و لي لوه

LOW (0)ر فولتو اما يكون صف HIGH (1)فولت

؟؟Analog Signalsيه التماثل االشاراتأهميه هى ماالنوات مو فورق اجلهود يعرب الدخل التوامثلا عو االشوارات املوتغ و مثول

معني نتيجوه الوتغ فوا عامول معوني, علوا سوبيل sensor)حخاسمختشعر )

-Photo املقاوموووه الضووووئيه سوووماو موووا يعووور بمحخووواس للضووووء : املثوووال

Resistor و هووا مقاومووه كهربيووه تووتغ يمتهووا بووتغ مقوودار الضوووء الووذى

تتعوورض لووه و اما منووا بتوصوويل هووذا املقاومووه علووا مصوودر ثابووت للفولووت و

لقياس فرق اجلهد املطبق عليها .. سونجد ان AVO-meterاست دامنا الو

فرق اجلهد سيتغ اائما بتغ مقدار الضوء الخا ط عليها

اشاره رقميه تماثليهاشاره

Page 74: Simply Arduino - 9-10-2012

اردوينو ببساطة

73

مختشوعرات باسوت دام عامل بيئا معوني تلك الظاهرو فا ياس اى ختغاللن نا و يمكننا

مناسبه و التا تقي ملك العامل البيئوا و حتولوه اىل اشوارو كهربيوه متاثليوه ابلوه للقيواس

مثووول: احلووورارو, الضووووء, الرطوبوووه, سووورعه الريووواح, القووووو, العوووزم, التخوووار , الوووال

املغناطيخا... اخل

Arduinoاملخووت دمه فووا بوووراو Atmega 328-pحتتوووى شوورحيه

Uno املوتغ الكهربوي اجلهود فورق موداخل تخوتطي يواس مقودار 6علا

هوا يواس فورق جهود نكو مي A5حتوا A0مر مه م هيو )اخل متاثلي(

و هذا يعنا تقريبا مخخه اجزاء مو االلوف مللا فولت 4.8بد ه تصل اىل

كفا للكث م التطبيقات الد يقهتم واحد فولت و ها ا ه عاليه جزء

ثول املقاوموه الضووئيه و مختشوعر ماملختشوعرات بع اشوهر سنتعر علا فى د ا الفصل

هو عبوارة عو ترانزسوتور خواص يتومثر بواحلرار و يعطوا LM35 أو TMP36احلرارو مثل

تغ فا اجلهد الكهربوا )الفولوت( متناسوب مو الوتغ يف ارجو

مو الوف أجوزاء مللوا فولوت )عشورو 02ث يعطوي احلرارة .. حيو

الودخل و كموا سونتعر علوا .. ..ارجو مئويو 0.1 فولت( لكول

اراوينو املختشعرات م اىرج التماثا و كيفيه است دام

Page 75: Simply Arduino - 9-10-2012

اردوينو ببساطة

74

؟؟كيف تولد احلساسات اإلشارة التماثلية

و ما هو TMP36, TMP35, LM35مثل احلرارةلنمخذ حخاس احلرارة كمثال: حخاس

اال ترانزستور ما حخاسيه عالي للتغ يف احلرارة و م املعرو أن الرتانزسوتور يصون مو

مااو الخيلكون ال تتغ مدى ابليتها لتوصيل الكهرباء بتغ احلورارة حيوث يوزااا التيوار

و ميكننا إجراء جتربوه بخويط لنتعور اكثور علوا طريقوه الكهربي املار فيها بزيااو احلرارة

مل ملك احلخاس.ع

حيتوى احلخاس علا ثالث ارجل وها كالتالي:

فولت 2.2فولت حتا 0.0منفذ الدخل و يتم توصيل جهد ثابت بني -0

منفذ اىرج و هو املنفذ الذى حنصل منه علا راءة احلخاس -0

GNDمنفذ األرضي و يتم توصيله بمى نقطه ارضا -9

Page 76: Simply Arduino - 9-10-2012

اردوينو ببساطة

75

:التالي املكونات التجرب سنحتاج هلذو

فولت 0.2بقيمه AAAبطاريه مقاس 0 عدا -0

بطاريه 0لتوصيل حامل بطاريات 0عدا -0

AVOجهووواز يووواس متعووودا االسوووت دامات -9

Meter

حخووواس حووورارى مووو أي األنووووا التاليووو : -4

TMP 35, TMP36, LM 35

فولوت و ضوعهم يف 1.5بقيموه AAAبقيواس بطاريوه 0احضر

فولوت 9خاوى تعلبه حامل البطاريات لتحصل علا يمه كليه

)سلك لونوه امحور( ثم وصل الطر املوجب حلامل البطاري

بالطر األول م ناحيه اليخار للحخاس احلرارى )طر الدخل الثابت(

ثم م بتوصويل الطور األرضوي حلامول البطاريو )سولك لونوه اسووا( بوالطر األخو

ولوت و وصول علوا وضو يواس الف AVOللحخاس احلرارى , بعد ملك م بضوبط الوو

الطر األمحر بامل رج للحخاس الكهربي و الطر األسوا للطر األرضي للحخاس

الكهربي

Page 77: Simply Arduino - 9-10-2012

اردوينو ببساطة

76

تقريبوا فولوت 0.76سوتجد أنهوا AVO meterالحا راءة فرق اجلهد الظاهر علا الوو

دك علا احلخاس و اضغط عليه ليال )تعمل تلك احلرك علا رفو ارجوه يبوض قم األن

و هوي تقريبا ارجه مئوي 97تخاوى ن ارجه حرارو اجلخم و م املعلوم أحرارو احلخاس

( اعلا م ارجه حرارو جو الغرف

:ثووووووم الحووووووا الووووووتغ يف ووووووراءة الفولووووووت النووووووات كمووووووا يف الصووووووورة التاليوووووو

بخبب حرارو اليد ميه الفولت د ازااات ن سنجد أ

يث يؤاى التغ يف عامول بيئوي مجي احلخاسات بمنواعها امل تلف بنف املبدأ ح تعمل

فورق اجلهود اىوارج يفالوتغ تغ املقاوم الكهربي الداخليو يوا يوؤاى إىل معني إىل

موو امثلووه لنبوودأ األنو , موو احلخوواس يووا يولوود أشووارو متاثليووه مووتغ و ميكوو ياسووها

است دام احلخاسات م اراوينو

Page 78: Simply Arduino - 9-10-2012

اردوينو ببساطة

77

حكم فيى دام مقاومه متغييره لليت المثال الرابع: استخ

Potentiometerسرعه اضائه دايود ضوئى

فورق جهود ميكو تغو و )اخول هذا املثوال سنخوت دم مقاوموه موتغ و للحصوول علوا يف

يموه علا تعتمد( و سنجعل الدايوا الضوئا يضيئ و ينطفئ بخرعه analog inputمتاثلا

التماثليالدخل

Page 79: Simply Arduino - 9-10-2012

اردوينو ببساطة

78

(:4مكونات المثال )

بوراو اراوينوArduino Uno

لوحه جتارب Breadboard

اايوا ضوئاled 5mm

اوم 262مقاومه

كيلو اوم 02 اطرا 9مقاومه متغ و

توصيل أسالك

املطبوع املخاعدةور ه

بطباعوووه الور وووه املخووواعدو ثوووم وصووول قيييم

املكونات االلكرتونيه علا لوحه التجارب

ال يشرتط ان تخت دم مقاوموه موتغ و ملحوظه:

م مثوول التووا فووا الصووورو و لووك صووغ و احلجوو

9هلووا احلريووه فووا اسووت دام اى مقاومووه مووتغ و

كيلووو 022مثوول اطوورا بوومى حجووم و اى يمووه

ومووات ااملقمجيوو , ايضيياكيلووو اوم 022اوم او

اطرا يكوون الطور االوسوط 9املتغ و مات

هو الطر املتغ و الوذى سنوصوله باملودخل

ا فوووا كمووو علوووا بووووراو اراوينوووو A0التمووواثلا

الصورو التاليه

Page 80: Simply Arduino - 9-10-2012

اردوينو ببساطة

79

م توصيل املكونات االلكرتونيه علوا لوحوه التجوارب و بووراو اراوينوو وم بعد االنتهاء

بوراو اراوينو الي ثم م برف الربنام بعمل ملف جديد و اكتب االوامر الربجميه التاليه

مقاومه

متغيره

Page 81: Simply Arduino - 9-10-2012

اردوينو ببساطة

80

//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 تقوم هذو الداله بقورأو فورق اجلهود بصوورو متاثليوه و

ت تقريبا و فول 2مللا فولت حتا 4.8ق جهد م ان تقي فر تختطي املتحكمه الد يقه

و تخوما هوذو العمليوه 0204يل االشاراو التماثليه اىل يمه ر ميه م صوفر اىل تقوم بتحو

Analog to digital convertingباسم حتويل االشارو م متاثليه اىل ر ميه

متغير لتخزين قيمه الجهد

التماثلى

Page 82: Simply Arduino - 9-10-2012

اردوينو ببساطة

81

يخاوى القيم التاليه: A0اما كان اجلهد الداخل اىل مثال

رقمى 6مللى فولت = 4.4

رقمى 61مللى فولت = 44

رقمى 611مللى فولت = 441

رقمى 214.33واحد فولت =

رقمى 461.11فولت = 2

رقمى 6124فولت = 5

sensorVlaueو يخت دم االمر التاىل فا ختزي يمه القرأو الناجته ااخل املتغ

sensorValue = analogRead(sensorPin(; شغيل الدايوا الضوئا فرتو زمنيوه تخواوى يموه هوذا املوتغ و تقوم املتحكمه بت بعد لك

ولك الزم فا هذا املثوال blinking ledتقوم بمطفائه بنف الزم مثل املثال االول

.A0متغ تبعا لقرأو اجلهد التماثلا علا املدخل

وير ( مقاوموه موتغ و ميكننوا ان نغو يمتهوا عو طريوف لوف )تود هذا املثال اسوت دمنا يف

صول علوا اشوارو متاثليوه )تخوما تلوك العمليوه تغو عموا الدوران اىاص بها و بذلك حن

متحكم به م االنخان( , فا املثال القاام سونتعلم نوو جديود مو املقاوموات املوتغ و و

ها املقاومه الضوئيه التا تتغ يمتها بتغ كثافه الضوء الخوا ط عليهوا و يخوما هوذا تغو

سو نختغل ظاهرو التغ فا املقاومه بتغ الضوء لنحوول املقاوموه اىل مختشوعر و بيئا

light sensorللضوء

Page 83: Simply Arduino - 9-10-2012

اردوينو ببساطة

82

المثال الخيامس: المقاوميه الضيويه )حسياس الضيوء

Photo resistor as light sensorالتماثلى(

كون و يعتورب الخويل ,عوا عااو م نوو خواص مو الخويلكون امل الضوئي املقاومات تصنع

لوذلك يخوت دم هرباء بالضووء مثر مدى توصيليته للكللكهرباء و تتمااو شبهه موصله املعا

.احلخاسات الضوئي و اىاليا الشمخي يف

Page 84: Simply Arduino - 9-10-2012

اردوينو ببساطة

83

(:5مكونات المثال )

بوراو اراوينوArduino Uno

لوحه جتاربBreadboard

اايوا ضوئاled 5mm

اوم 262مقاومه

ضوئيهمقاومه

اسالك توصيل

ور ه املخاعدو املطبوعه

احجوام خمتلفوه تبعوا يف الضووئي تتوفر املقاوموات

ملقوودار حخاسوويتها للضوووء و ميكوو اسووت دام اى

حجوووووووووووووووووووووووووووووووووووووووم متووووووووووووووووووووووووووووووووووووووووفر

Page 85: Simply Arduino - 9-10-2012

اردوينو ببساطة

84

Page 86: Simply Arduino - 9-10-2012

اردوينو ببساطة

85

//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); }

هد ماما سيحدث للدايوا و رفعه علا بوراو املتحكمه الد يقه ثم شا قم بتنفي البرنامج

تعري املقاومه الضوئيه للضوء, ثم حاول ان تقلل مقدار الضوء الخا ط علا دالضوئا عن

.املقاومه الضوئيه ع طريق تغطيتها بيدك و شاهد ماما سيحدث اىل الدايوا الضوئا

Page 87: Simply Arduino - 9-10-2012

اردوينو ببساطة

86

و هوا الدالوه ;analogWrite (pin number, value) سونتعر األن

و ميكو تطبيقهووا analog Outputتوليود خورج متواثلا املخوؤله عو

الر موي املعتمود علوا عورض علا امل ارج التا تدعم خاصيه التعوديل

و هووا امل ووارج التووا يكتووب (Pulse-Width modulationالنبضوو )

9.2.6.3.02.00: خمارج كالتالي 6 و ها ( .~) عالمه جبانبها

؟؟ PWMخاصيه التعديل الرقمى هيما ه متكنك م انتواج فورق جهود علوا هيئوه موجوه ابلوه للوتغ عو خاصي

إىل الر ميوو األواموورن حتووول و بووذلك تخووتطي أ طريووق اشووارو ر ميووه,

يمتوه متغ توليد جهد يف اىاصي موجه متاثليه و ميك استغالل تلك

0عو طريوق اسوت دام ويم ر ميوه مو فولوت 2بني صفر فولوت حتوا

مثال: 255حتا

255 = 5 volt

128 = 2.5 volt

0 =0 volt

كيف نستفيد من هذه اخلاصيه؟؟الكث م املكونات االلكرتونيه و الكهريبه تتفاعل م القيم امل تلفه م فرق اجلهد بصور

سوتجد ان علوا الودايوا الضووئا فولت 9مثال عندما تطبق ,خمتلفه مثل الدايوا الضوئا

فولت ستجد االضائه د ازااات و اما و صلت اىل 4جلهد اىل اضائته ضعيفه و اما رفعت ا

.. و هنوواك مكونووات كهربيووه مثوول معوودل سووطو فولووت سووتجد االضووائه وصوولت اىل اعلووا 2

قيمه الخرج رقم المخرج

Page 88: Simply Arduino - 9-10-2012

اردوينو ببساطة

87

.وتور( و الذى تزااا سرعته بزيااو الفولت الكهرباامل)الكهربا احملرك

( و PWM)الووذى يوودعم 3وصوولنا الودايوا الضوووئا علووا امل ورج ر ووم ديي ا المثييال فييي

اسووت دمنا مقاومووه ضوووئيه حتووا تختشووعر كميووه الضوووء املوجوووا حوهلووا ثووم ترسوول االشووارو

.التماثليه اىل اراوينو فيقوم بتشغيل الليد بنائا علا االشارو التماثليه م املقاومه الضوئيه

لنمخذ مثال أخر علا خاصيه التعديل الر مي

PWMالمؤثرات الضوئيه بأستخدام :المثال السادس

Page 89: Simply Arduino - 9-10-2012

اردوينو ببساطة

88

يف هووذا املثووال سوونقوم بتوصوويل اايوووا ضوووئي ازرق )اخوورتت اللووون األزرق الن أضوواءته

و 00عالي مقارنه باأللوان األخرى و ميكنك اختيار اللون األبي كذلك( إىل املنفذ ر م

و سنخوتغل تلوك اىاصوي يف عمول بعو املوؤثرات الضووئي 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); } } بعد االنتهاء م كتابه الكوا و رفعوه إىل املتحكمو الد يقو .. الحوا مواما حيودث للودايوا

الضوئي و كيف تزااا إضاءته بهدوء و تن ف بهدوء

العداد األول

الثانيالعداد

Page 90: Simply Arduino - 9-10-2012

اردوينو ببساطة

89

حلقات التكرار هيو الربجمية األوامراحدى اهم ناأل سنتعلم

يخوت دم هوذا 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 ) يمه املتغ ةاتدرجييا بزيا اإلضاءةخافته ثم تزااا شدو

دل يزداد العداد متى يتوقف قيمه البداية

ام يقلما ا يفعل

في كل مره

Page 91: Simply Arduino - 9-10-2012

اردوينو ببساطة

90

حبيوث يبودأ العوداا مو معكوسو اسوت دمنا نفو املبودأ لكو بصوورو الثانيالعداد في

كوول موورو يخووجل يفالصووفر و إىلو يظوول الوور م يتنووا ص عقوودار واحوود حتووا يصوول 255

و هوذاما ( i )بقيموه الضووئي علوا الودايوا متواثلي و يطبوق جهود ( i ) العداا يمه املتغ

تدرجييا بتغ يمه إضاءتهتن ف شدو يبدأ فا الومي بشدو ثم الضوئيجيعل الدايوا

( i )

داخل كل عداد ؟؟ ;delay(10)قد يتسائل البعض ملاذا استخدمنا األمر

ثنواء تطبيوق اجلهود التمواثلا و لكوا يتضوح األجابه تتمثل فا التحكم فا سرعه اراوينوو ا

حبيوووث يكتوووب األمووور 02املعنوووا بصوووورو عمليوووه جووورب ان تغووو الووور م و جتعلوووه مووورو =

delay(20); و شوواهد موواما سوويحدث 2و موورو أخوورى جتعلووه = 22و موورو أخوورى جتعلووه

للدايوا الضوئا.

Page 92: Simply Arduino - 9-10-2012

اردوينو ببساطة

91

مالحظات شخصيه :

: الراب الفصل مالحظاتك الش صيه ع لكتابههذو الصفحه خمصصه

Page 93: Simply Arduino - 9-10-2012

اردوينو ببساطة

92

اإلمام الشافعى

روور فافت ووووم مغرس كول ف وووالعل

واحذر يفوتك ف ور ماك املغورس

وهوووولم لي ينالووم بمن العووواعل

م هوموه يف مطعووم أو ملبو

Page 94: Simply Arduino - 9-10-2012

اردوينو ببساطة

93

الفصل الخامس

و العكس اآللياحلاسب إىلمن اردوينو و األوامر البيانات أرسالComputer interfacing with Arduino

Page 95: Simply Arduino - 9-10-2012

اردوينو ببساطة

94

( lilypad, miniبوراات اراوينو )خبوال جميع

مباشورو مو توفر إمكانيه أرسال و استقبال البيانات

و ملك computer interfaceاحلاسب اآللي

و ميكوو اسووتغالل هووذو USBعوو طريووق منفووذ الووو

وبالنخوب ,الكث مو املشواري الرائو يف اىاصي

ال توودعم هووذو اىاصووي فهووي الوو البوووراات إىل

و هووي شوورحيه صووغ و تخووت دم لتبوواال FTDI interfaceحتتوواج إىل مووا يخووما بالووو

ني احلاسب اآللي و املتحكمات الد يق البيانات ب

يفاسوت دام اراوينوو إمكانيوه الفصول اىوام عو يتحدث

أرسووالو امل تلفوو احلصووول علووا معلومووات موو احلخاسووات

مووو أواموووراخوووذ أوالنتوووائ لعرضوووها علوووا احلاسوووب اآللوووي

املوصول اإللكرتونيو احلاسب اآللي لتنفيذها علا املكونات

.وعلا البورا

بعو احلخاسوات مثول الضووء و يف وراءة كنا د است دمنا اراوينوو األمثلة السابقة في

احلرارة و إظهار نات احلخاس علوا اايووا ضووئي ليوضوح مقودار هوذو القوراءة أموا األن

احلاسوب إىلاحلخاسوات القوراءة ألرسال نتائ serial interfaceفخنخت دم خاصيه

باألر ام و إجراء بع العمليات احلخابي عليها.اآللي حيث ميك رائه النوات

Liliypad

FTDI chip

Page 96: Simply Arduino - 9-10-2012

اردوينو ببساطة

95

اسييتخدام حسيياس الحييرارة و أرسييال : المثييال السييابع

درجه الحرارة إلى الحاسب اآللي

Page 97: Simply Arduino - 9-10-2012

اردوينو ببساطة

96

(:7كونات المثال )م

بوراو اراوينوArduino Uno

لوحه جتاربBreadboard

حخاس حرارىTMP 36 اوLM35

توصيل أسالك

كابل التوصيل بالوUSB

املطبوع املخاعدةور ه

الحا انه يف حاله اسوت دامك حلخواس حورارى

خمتلف ع النوعني املذكوري يف األعلا فومن

املداخل و امل ارج اىاص باجلهد ود ختتلوف

و ميكنوك معرفتهووا مو خووالل وراءة الووداتا شوويت

اىاص باحلخاس املخت دم

Page 98: Simply Arduino - 9-10-2012

اردوينو ببساطة

97

و تمكد التجارب م بكتابه األكواا التالي بعد االنتهاء م توصيل املكونات علا لوحيه

ثم ارفعها إىل بوراو اراوينو Verifyم صحتها ع طريق زر

Page 99: Simply Arduino - 9-10-2012

اردوينو ببساطة

98

// 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);

}

Page 100: Simply Arduino - 9-10-2012

اردوينو ببساطة

99

Serialبعد االنتهاء م كتابه و رف الكوا الربجمي إىل املتحكم نقوم بالضغط علا زر

Monitor املوجوووووووا يف شووووووريط األواموووووور الخووووووريع كمووووووا يف الصووووووورة التاليوووووو:

Page 101: Simply Arduino - 9-10-2012

اردوينو ببساطة

100

كول احلورارة ستظهر صفحه خاصه تختقبل البيانات م بوراو اراوينو و تقوم بعرض ارجوه

Txاملوجوا علا بوراو اراوينو املكتوب جبانبوه الضوئين الدايوا كما سنالحا أ ثانيه

... يرسل بيانات إىل احلاسب اآللي اراوينو أنملك يعنا يف الومي بخرعه و بدأ

عووا ثقواب ن ترف ارجه حرارو احلخاس ع طريوق تقريوب هعوه مشوتعل أو األن حاول

رارى متوفر )حوذارى أن متو النوار احلخواس احلورارى فوذلك ود أو أي مصدر حمشتعل

كوو احلخوواس ه ميكنهووا حتموول احلوورارة الشووديدة ل خاصوو حراريوو يتلفووه , هنوواك حخاسووات

ارجه مئوي تقريبا ( 022املخت دم يف هذا املثال يختطي حتمل حرارو تصل إىل

عنا سوالب ارجوه مئويو و ( ال تكتب بل ارجه احلرارة ال ت -ملحوظه: عالمه الشرط )

يف أول الخطر عند استقبال بيانات م اراوينو خطم برجما مؤ ت إمنا

Page 102: Simply Arduino - 9-10-2012

اردوينو ببساطة

101

شر الكود البرمجي

يف جعول بووراو اراوينوو تبودأ التواصول مو )9600Serial.begin ;( يستخدم األمر

و بهذا ميك لالراوينو أرسال أو استقبال بيانوات USBاحلاسب اآللي ع طريق منفذ الوو

م و إىل احلاسب .

مت تعوريفهم باسوت دام temperatureCو voltageنالحا انوه هنواك موتغ ان و هموا

و ملوك الن احلخواس احلورارى يقوي ارجوه intبدال مو اسوت دام األمور floatاألمر

ارجووه مئويوو و موو املتو وو أن تكووون يمووه اجلهوود 0.1احلوورارة بد ووه عاليوو تصوول إىل

عنووه و ارجووه احلوورار بالكخووور العشووري و لووي األعووداا الصووحيح لووذلك الكهربووي النووات

جلعل هذو املتغ ات تقبل يمه حتتوى علا كخور عشريه . float است دامنا األمر

فووا تخووجيل ووراءة الوودخل ;reading = analogRead(sensorPin) األمووريخووت دم

إىلرموز و الوذى ي sesnorPin القيم النات م هيو readingعلا املتغ التماثلي

. A0املدخل

يموه ر ميوه مو إىل التماثلي اإلشارةتقوم بتحويل الد يق املتحكم كما مكرنا سابقا ان

يموه فولتيوه إىل الر ميو القيم لتحويل هذو التالي األمرلذلك است دمنا 0204صفر اىل

نختطي فهمها

voltage = reading * 5/1024;

Page 103: Simply Arduino - 9-10-2012

اردوينو ببساطة

102

;Serial.print(voltage) األمور يموه فولتيوه اسوت دمنا إىل الر مي القيم ويلتحبعد

Serialألرسال هذو القيم إىل احلاسب األىل لعرضها علا بيئو التطووير باسوت دام الووو

Monitor األموور ثووم نخووت دم ("voltage");ln Serial.print ليقوووم بطابعووه كلمووه

voltage رضها علا شاشه احلاسب اآلليبعد كل يمه فولت يع

لتحويول يموه الفولوت ;temperatureC = (voltage - 0.5) * 100نخت دم األمر

مو Serial.print أوامور ثوم نكورر نفو Celsiusارجه حرارو بوحدو سي لزيووس إىل

اآلليلعرضها علا شاشه احلاسب احلرارةارجه

Serial.print(temperatureC);

Serial.println(" degrees C ");

و ملوك لنجعول املتحكمو الد يقو تنتظور ثانيوه واحودو )1000delay ;(األمر األخ هو

بل أن تعيد أرسال ارجه احلرارة و الفولت إىل احلاسب اآللي مرو أخرى.

Page 104: Simply Arduino - 9-10-2012

اردوينو ببساطة

103

و عرض الضوء: استخدام حساس الثامنالمثال

على الحاسب اآلليشده اإلضاءة

ام , سنقوم بمعااو تنفذ ملك املثال ولك بدال م عرض شدو املثال اى تذكرهل ت

سنعرضها علا احلاسب اآللي ., led الدايوا الضوئياإلضاءة علا

كيلو 61مقاومه

اوم

مقاومه

ضوئية

Page 105: Simply Arduino - 9-10-2012

اردوينو ببساطة

104

// 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);

}

Page 106: Simply Arduino - 9-10-2012

اردوينو ببساطة

105

قوووم بالضووغط علووا زر موو كتابووه و رفوو الكوووا الربجمووي إىل املتحكموو ن بعييد االنتهيياء

Serial Monitor املوجوا يف شريط األوامر الخريع كما يف الصورة التالي:

Page 107: Simply Arduino - 9-10-2012

اردوينو ببساطة

106

الذى تتعرض له املقاوم الضوئي ع طريق : اإلضاءةن تغ مختوى أ حاول األن

o تعريضها للضوء الخاط مباشرو

o تغطيتها بقطعه ماش خفيف

o تغطيتها بيديك لتحجب عنها الضوء متاما

لحوظه:م

Dim خافته ةتعنا إضاء

Dark تعنا ظالم اام

Light معتدل ضاءةإتعنا

Bright Light شديدو ضاءةإتعنا

Page 108: Simply Arduino - 9-10-2012

اردوينو ببساطة

107

غيل دايود ضوئي عن طريق المثال التاسع: تش

مر من الحاسب اآللياستقبال أ

Page 109: Simply Arduino - 9-10-2012

اردوينو ببساطة

108

(:9)مكونات المثال

بوراو اراوينوArduino Uno

لوحه جتارب

اايوا ضوئيled 5mm

اوم 262مقاومه

أسالك توصيل

التاس تطوير للمثال األول و الثاني , و يف هذا املثوال سنخوت دم احلاسوب يعتبر المثال

اآللي يف التحكم يف الودايوا الضووئي بودال مو الخوويتش, سونجعل اراوينوو يخوتقبل امور

يئو ب يف Serial Monitorباسوت دام خاصويه الووو USBالتشغيل و اإلطفاء ع طريق الوو

Arduino IDEتطوير اراوينو

Page 110: Simply Arduino - 9-10-2012

اردوينو ببساطة

109

الكوا:

// 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

و اضوغط علوا زر أرسوال مورو و شاهد ماما سيحدث للدايوا الضوئي , ثم اكتب الر م صفر

أخرى و شاهد ماما سيحدث ...

Page 111: Simply Arduino - 9-10-2012

اردوينو ببساطة

110

Page 112: Simply Arduino - 9-10-2012

اردوينو ببساطة

111

و هوو االمور املخوت دم فوا وراءة ;( )Serial.readاملثوال اسوت دمنا األمور دي ا فيي

=valueو منا بإضواف USBوواراوينو عرب منفذ ال إىل اآلليم احلاسب املرسل البيانات

, ختوزن هوذو USBءة موا يرسول مو الوو بل هذا األمر و ملك حتا تقووم املتحكمو بقورا

valueالقيم يف املتغ

لوض شرط: if.. else ifمجله ثم استخدمنا

1 اما كانت يمه املتغvalue == تقوم املتحكم بتشغيل الدايوا الضوئي

0اما كانت يمه املتغ أماvalue == تقوم املتحكم بإطفاء الدايوا الضوئي

تعدل الكود بنفسك و تزيد عدد املخارج اليت ميكن األن حاول أن عن طريق احلاسب اآللي التحكم بها

مصادر اضافيه للمعلومات:

تفضل Serial communicationالو يف املخت دم ع األوامر ملزيد م املعلومات

:الرمسيملرج األوامر التاليالرابط

http://arduino.cc/en/Reference/serial

Page 113: Simply Arduino - 9-10-2012

اردوينو ببساطة

112

شخصيه:مالحظات

: اىام مالحظاتك الش صيه ع الفصل لكتابههذو الصفحه خمصصه

Page 114: Simply Arduino - 9-10-2012

اردوينو ببساطة

113

ألربت أينشتني

فا يد م يعلمها املعرفه وو

Page 115: Simply Arduino - 9-10-2012

اردوينو ببساطة

114

الفصل السادس

احملركات أستخدام The Motors

Page 116: Simply Arduino - 9-10-2012

اردوينو ببساطة

115

اخلوه فوا املشواري األلكرتونيوه و تعترب احملركات مو أهوم العناصور الد

ها العنصر املخؤل ع حتويول الطا وه الكهربيوه اىل طا وه حركيوه فوا

صورو اوران .

ستجد احملركات فا كوث مو األجهوزو االلكرتونيوه

التووا يوجوود بهووا حركوووه ميكانيكيووه مثوول: الروبتوووات

بمنواعهووا امل تلفووه سووواء كانووت صووناعيه او روبوتووات

ت األ راص, ألعاب األطفال.. اخلللرتفيه, مشغال

تنقخم احملركات الكهربيه اىل نوعني رئيخيني و هما :

( حمركات التيار املختمرDC – Servo – Stepper)

( 1حمركات التيار املرتاا Phase– 3 Phase)

فا هذا الفصل سونتعرض للنوو األول و هوو احملركوات التوا تعمول بالتيوار املخوتمر مثول

و هما اشهر أنوا احملركات املخت دمه فوا مشواري Servo Motorو الو DC Motorالو

املتحكمات الد يقه بمنواعها امل تلفه.

DC Motor Servo Motor

Page 117: Simply Arduino - 9-10-2012

اردوينو ببساطة

116

CDمحرك التيار المستمر استخدام : العاشرالمثال

Page 118: Simply Arduino - 9-10-2012

اردوينو ببساطة

117

(:7كونات المثال )م

بوراو اراوينوArduino Uno

لوحه جتاربBreadboard

حمرك تيار مختمرصغDC motor

2ترانزستورN2222 اوPN2222

1اايواN4001 او اى بديل

كيلو اوم 0.0مقاومه

توصيل أسالك

كابل التوصيل بالوUSB

املطبوع املخاعدةور ه

فا هذا املثال سو نخت دم حمرك تيوار مخوتمر مو

احلجم الصغ و الذى يوجد عااو فا لعوب األطفوال

فولوت 3و ا صواو فولت 9و يعمل بفرق جهد يبدأ م

و سووتجد مثوول هووذو احملركووات متوووفرو فووا حمووالت

املكونووات األلكرتونيووه او فووا اى موو لعووب اطفووال

القدميه التا حتتوى علا حمركات

Page 119: Simply Arduino - 9-10-2012

اردوينو ببساطة

118

بعد االنتهاء م توصيل املكونات علا لوح التجارب م بكتابه األكواا التالي ثم ارفعها

إىل بوراو اراوينو

Page 120: Simply Arduino - 9-10-2012

اردوينو ببساطة

119

//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); }

Page 121: Simply Arduino - 9-10-2012

اردوينو ببساطة

120

محرك سيرفواستخدام : الحادى عشرالمثال

Page 122: Simply Arduino - 9-10-2012

اردوينو ببساطة

121

(:7كونات المثال )م

بوراو اراوينوArduino Uno

لوحه جتاربBreadboard

ختمرصغ حمرك تيار مDC motor

2ترانزستورN2222 اوPN2222

1اايواN4001 او اى بديل

كيلو اوم 0.0مقاومه

توصيل أسالك

كابل التوصيل بالوUSB

املطبوع املخاعدةور ه

فا هذا املثال سو نخت دم حمرك تيوار مخوتمر مو

احلجم الصغ و الذى يوجد عااو فوا لعوب األطفوال

فولوت 3فولت و ا صواو 9يبدأ م و يعمل بفرق جهد

و سووتجد مثوول هووذو احملركووات متوووفرو فووا حمووالت

املكونووات األلكرتونيووه او فووا اى موو لعووب اطفووال

القدميه التا حتتوى علا حمركات

Page 123: Simply Arduino - 9-10-2012

اردوينو ببساطة

122

بعد االنتهاء م توصيل املكونات علا لوح التجارب م بكتابه األكواا التالي ثم ارفعها

: ميكنك ان جتد الكوا الربجما فا ائمه األمثله اجلاهزو إىل بوراو اراوينو )ملحوظه

( examples – servo – sweepفا برنام اراوينو

Page 124: Simply Arduino - 9-10-2012

اردوينو ببساطة

123

//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); } }

مكتبه اضافيه

Page 125: Simply Arduino - 9-10-2012

اردوينو ببساطة

124

شخصيه:مالحظات

: الخااسمالحظاتك الش صيه ع الفصل لكتابههذو الصفحه خمصصه

Page 126: Simply Arduino - 9-10-2012

اردوينو ببساطة

125

حكمه صينيه قدميه

اجلبال د تصمد امام الزالزل لكنها ل تقاوم

طرات املاء التا تهطل بمنتظام فا هدوء و

تكرار , فمجعل عملك مثل طرات املياو حتا

تتغلب علا مجي العوائق

Page 127: Simply Arduino - 9-10-2012

اردوينو ببساطة

126

بعالفصل السا

وسائل االدخال و االخراج املتطورهAdvanced Inputs/Outputs

Page 128: Simply Arduino - 9-10-2012

اردوينو ببساطة

127

الخوابقه اعتمودنا بشوكل اساسوا علوا ابخوط وسوائل فيى الفصيول

) ااخوال مثول الخوويتش للتعامول مو اراوينوو االاخال و االخوراج

Input )اخراج و الدايوا الضوئا(output)

فا هذا الفصل سنختعرض بع املكونات االكثر تطورا للتفاعول مو املتحكموات الد يقوه

امها فوا حياتنوا اليوميوه, سويتطرق هوذا الفصول اىل شورح فا مشاري وا عيه ميك اسوت د

املكونات التاليه:

شاشات عرض الكريختال الخائلliquid crystal Display: LCD

لوحه ااخال االر امKeypad

مصفوفه الدايوا الضوئا Led matrix

املتممات Relays

Page 129: Simply Arduino - 9-10-2012

اردوينو ببساطة

128

اج الكريختال املعا و زجتتكون هذا الشاشات م شاشات عرض الكريستال السائل :

تتوفر هذو الشاشات بمحجام و انوا خمتلفه و سو نختعرض منها نوعني اساسيني و هما:

شاشات العرض املعتمدو علا احلرو Character LCD

شاشات العرض املعتمدو علا الرسوماتGraphical LCD

Character LCD

Graphical LCD

Page 130: Simply Arduino - 9-10-2012

اردوينو ببساطة

129

امكانيووه اخووراج اى Character LCD شاشووات عوورض املعتموودو علووا احلوورو توووفر

نصوص تتكوون مو حورو او ار وام او رمووز )مثول التوا تكتوب علوا لوحوه املفواتيح فوا

احلاسب اآلىل ( و تتوفر بمحجام خمتلفه و الوان خمتلفه مثل:

Green 16x2 lcd Blue 16x2 lcd Grees 20x4 lcd

( حر 06طر )( احلرو التا ميك كتابتها فا كل س0عدا الخطور ) 16x2و ميثل الر م

كما تتوفر بملوان خمتلفه كما فا الصور التاليه:

Green 20x4 LCD

Black 16x2 LCD

Blue 16x2 LCD Green 16x2 LCD

Page 131: Simply Arduino - 9-10-2012

اردوينو ببساطة

130

Characterالمثال العاشر: توصيل شاشه

LCD 16بمقاسx2

سنحتاج المكونات التاليه:

16شاشه بقياسx2 او اى لون تفضله انت (لون اضائه ازرق(

نقطه 06اعمدو توصيل حناسيه ص وcopper Pin Headers 16 point

كيلو اوم 02مقاومه متغ و بقيمه

مكواو حلام

صدير حلام

Page 132: Simply Arduino - 9-10-2012

اردوينو ببساطة

131

بنقاط حلام الشاشه و يتم Pin Headersحلام نقاط التوصيل هي األوىل اىطوة

است دام مكواو اللحام و القصدير فا هذا العمليه:

التالياللينك إلىتوجهه اإللكترونيةا ا اردت تعلم لحام المكونات

http://www.aaroncake.net/electronics/solder.htm

Page 133: Simply Arduino - 9-10-2012

اردوينو ببساطة

132

باسوووت دام وووم بلحوووام اول نقطوووه توصووويل

ثوووانا حتووا 2و انتظوور الكاويووه و القصوودير

تربا نقطه التوصيل

ال حتوواول ملوو نقطووه اللحووام بيوودكتنبيووه:

بعوود اللحووام مباشوورو فقوود يووؤاى ملووك اىل

روق للجلد م حرارو اللحامحدوث ح

بعد ملك م بلحام نقطوه التوصويل االخو و

pin headersوملوك حتوا تقووم بتثبيوت

م كال اجلانبني

Page 134: Simply Arduino - 9-10-2012

اردوينو ببساطة

133

61قم بتكرار نفس العمليه السابقه مع مجيع نقاط التوصيل حتى تنتهى من

ره التاليهنقطه كما فى الصو

Page 135: Simply Arduino - 9-10-2012

اردوينو ببساطة

134

الصورة يفعلا لوحه التجارب كما pin header االنتهاء م اللحام م برتكيب الوبعد

اعدو تثبيت بالستيكيه تخت دم فا تثبيت اراوينو و لوحه التجارب معا است دام يفضل

املثل التا تخت دم فا الصورو التاليه

Page 136: Simply Arduino - 9-10-2012

اردوينو ببساطة

135

نقوووووووووووووووووم االن

علا 5v بتوصيل امل رج

خوووط املوجوووب االمحووور و

علا اىط GND الطر

االرضووووووا فووووووا لوحووووووه

التجارب

اعدو التثبيت

حتمل البالستيكيه

اراوينو و لوحه

التجارب و الشاشه

معا

موجب

سالب

Page 137: Simply Arduino - 9-10-2012

اردوينو ببساطة

136

بعوود ملووك نقوووم

06بتوصيل املودخل ر وم

فوووا شاشوووه العووورض علوووا

اىوووط االرضوووا و نوصووول

علووووا 02املوووودخل ر ووووم

كمووا v 5اىووط املوجووب

:فا الصورو التاليه

ووووووم بتوصوووووويل

اراوينو بالبطاريه او كابول

ثووووم الحووووا ان USBالووووو

ضوء اىلفا للشاشه بودأ ال

فا العمل كما فا الصورو

التاليه :

ملحوظووووه خيتلووووف لووووون

االضوووووائه علوووووا حخوووووب

الشاشه املخت دمه و تتوفر

االلوان التاليه:

–األخضوووووووور –االمحوووووووور

–األبي –األزرق

Page 138: Simply Arduino - 9-10-2012

اردوينو ببساطة

137

تركيب املقاومه املتغريه للتحكم فى شده االضاءه

تعترب تلك اىطووو اختياريوه و

ملها اما ارات.ميكنك ان ته

اهلوود موو تركيووب املقاومووه

املتغ و هو التحكم فا التيوار

الكهربا الوداخل اىل الشاشوه

و بالتووواىل الوووتحكم فوووا شووودو

الخطو )االضاءو( الناجته

وووم بتوصوووويل احوووود

االطووورا اجلانبيوووه للمقاوموووه

املوووتغ و بووواىط املوجوووب و

الطر اجلانبا االخور بواىط

الطر الخالب ثم م بتوصيل

االوسووووط للمقاومووووه املووووتغ و

علوا الشاشوه 9باملدخل ر وم

:كما فا الصورو التاليه

Page 139: Simply Arduino - 9-10-2012

اردوينو ببساطة

138

م بتوصيل املدخل

علوووا شاشوووه العووورض 0ر وووم

باىط االرض و املدخل ر وم

باىط املوجب علا لوحوه 0

التجارب

االن م بوصويل البطاريوه مورو

اخوووورى و ووووم بتوووودوير عصووووا

ملتغ و الدوران فا املقاومه ا

والحا ماما سيحدث لالضاءو

اىلفيه لشاشه العرض

Page 140: Simply Arduino - 9-10-2012

اردوينو ببساطة

139

مجي اىطوات الخابقه كانوت تهود لتوصويل الشاشوه بالطا وه و باملقاوموه الضووئيه التوا

تتحكم فا مدى سطو الشاشه و شدو االضائه اىلفيوه , اىطووات التاليوه ستوضوح كيوف

توصل منافذ نقل البيانات م اراوينو اىل الشاشه.

فا بعو املشواري ود

تخت دم املودخل ر وم

RWو الووذى يخووما 2

لكوو فووا حالتنووا هووذا

سونقوم بتوصويله بواىط

االرضا

Page 141: Simply Arduino - 9-10-2012

اردوينو ببساطة

140

ووم بتوصوويل املوودخل

فا شاشه العرض 4ر م

7علوووا امل ووورج ر وووم

فا بوراو اراوينو

بعد ملك نقوم بتوصويل

فوووا 6املووودخل ر وووم

شاشووووه العوووورض علووووا

فووووا 8امل وووورج ر ووووم

اوينوبوراو ار

Page 142: Simply Arduino - 9-10-2012

اردوينو ببساطة

141

ووم بتوصوويل املوودخل

فوووووا شاشوووووه 14ر وووووم

العوورض علووا امل وورج

فووووا بوووووراو 12ر ووووم

اراوينو

اىطوووو االخوو و هووا

توصوويل املووداخل ر ووم

بامل ووووووارج 09.00.00

00.02.02ر ووووووووووووووووووم

املوجووووووووواو علووووووووا

اراوينو بونف الرتتيوب

كما فا الصورو التاليه

Page 143: Simply Arduino - 9-10-2012

اردوينو ببساطة

142

الشووووكل النهووووائا بعوووود

توصيل مجي االطرا

ه لتشووغيل الشاشووه الالزموو

.م اراوينو

االن حان وقت كتابه الكود البرمجى

توفر بيئه تطوير اراوينو العديد م االمثله اجلاهزو و ميكنك ان تخت دم مثال الشاشه

اجلاهز م خالل فتح ائمه االمثله كتاىل:

File→Examples→LiquidCrystal→HelloWorld

اىل : سنحتاج ان نعدل الخطر الربجما الت

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

ليصبح هكذا:

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

م بتمكيد و رف الكوا اىل بوراو اراوينو كما فعلت فا االمثله الخابقه الخطربعد تعديل

Page 144: Simply Arduino - 9-10-2012

اردوينو ببساطة

143

الكوا الربجمي بعد التعديل:

//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);

}

Page 145: Simply Arduino - 9-10-2012

اردوينو ببساطة

144

(^_^الشكل النهائى للمثال العاشر )

Page 146: Simply Arduino - 9-10-2012

اردوينو ببساطة

145

ع طريق تغ يمه املقاومه املتغ و تعديل مختوى سطو الشاشه تختطي

مثل Character LCD حجم و لون تفضله م الشاشات كما ميكنك است دام اى

كما فا الصور التاليه 20x4احلجم االكرب فا عدا احلرو

Page 148: Simply Arduino - 9-10-2012

اردوينو ببساطة

147

مصادر اضافيه للمعلومات:

LCDاشات ش م و األوامر املخت دمه ملزيد م املعلومات

http://arduino.cc/en/Tutorial/LiquidCrystal

character LCDلعمل اشكال مرسومه علا شاشه م نو

Arduino-an-with-LCD-character-a-p://www.instructables.com/id/Controllinghtt

2600Nokiaاو LCD 6100Nokiaلتوصيل شاشه هواتف نوكيا امللونه

LCD/-Color-Nokia-a-Use-To-http://www.instructables.com/id/How

Page 149: Simply Arduino - 9-10-2012

اردوينو ببساطة

148

مع اردوينوKeypad لوحه األرقاماستخدام

تعترب لوحه االر ام م اهم وسوائل االاخوال املخوت دمه بكثورو فوا مشواري املتحكموات

الد يقه و التا ستجدها حولك فا العديد م االجهزو االلكرتونيه مثل اهلواتف املنوزىل و

املوجوواو فوا البيووت متعوداو الطوابوق ... لوحه املفاتيح و لوحه التحكم فوا املصواعد

اخل

و ختتلف اشكال لوحات االر ام تبعا حلجمها و عدا االر ام املتاحوه , فوا بعو اللوحوات

( او حتووا بعوو احلوورو #( و عالمووه الشووباك )*سووتجد رموووز اضووافيه مثوول عالمووه النجمووه )

ها اشهر لوحات الكتابه 4x4و 4x3و تعترب لوحه االر ام حبجم A,D,Fاالجنليزيه مثل

3x4 4x4

4x4

Page 150: Simply Arduino - 9-10-2012

اردوينو ببساطة

149

كما تتوفر بع اللوحات املرنه و القابله للطوا بخوهوله و التوا تصون مو نوو خواص مو

البالستيك املرن و تتميز بالنحافه حتوا تبلو ث انوه اللوحوه بضوعه ملويمرتات فقوط و تتميوز

اوالر فقط ( 0بالخعر املن ف )حواىل

و التا تتميز باملواصفات التاليه: 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

Page 151: Simply Arduino - 9-10-2012

اردوينو ببساطة

150

أستخدام لوحه ارقام الحادى عشر المثال

:الحادى عشر مكونات المثال

3لوحه ار ام )مرنه( عقاسx4

نقاط 7 توصيل حناسيه أعمدو Pin-Headers (7 )

اراوينوArduino Uno

لوحه جتاربBreadboard

Page 152: Simply Arduino - 9-10-2012

اردوينو ببساطة

151

بلوحه األر ام م 8حتا امل رج ر م 0 م بتوصيل خمارج اراوينو بدئا م امل رج ر م

كموا فا بوراو اراوينوو 0 م هو الرمز املتواجد امام امل رج ر #مالحظه ان يكون رمز

و بذلك نكون د انتهينا م جتهيز لوحه األر ام. فا الصورو بالظبط

بل ان نبدأ كتابوه الكووا الربجموا سويتوجب حتميول مكتبوه لوحوه االر وام مو مو و

علوا Arduino IDEاراوينو حيث ال تتوفر هذو املكتبه بشكل افرتاضا فوا برنوام

و التووا تتوووفر بشووكل Character LCD اشووات موو نووو عكوو مكتبووه اسووت دام الش

Arduino IDEافرتاضا ااخل برنام

أوال: توجهه اىل اللينك التاىل علا مو اراوينو الرمسا:

http://www.arduino.cc/playground/Code/Keypad

Page 153: Simply Arduino - 9-10-2012

اردوينو ببساطة

152

مكتبه لوحه االر ام كما فا الشكل التاىل:ثم م بتحميل

امسوه تنزيول مكتبوه لوحوه األر وام و هوا عبوارو عو ملوف مضوغوط بسيبدأ املتصفح هابعد

keypad.zip اىطوو التاليه هوا ان تقووم بفوك ضوغط امللوف و نخوخ الفلووار املخوما ,

keypad و توجهوه اىل مكوان تواجود برنوام اراوينووArduino IDE سوتجد حيوث

ااخله كما فا الصورو التاليه: keypad م بفتح الفولدر و الصق librariesفولدر امسه

Page 154: Simply Arduino - 9-10-2012

اردوينو ببساطة

153

1

2

3

Page 155: Simply Arduino - 9-10-2012

اردوينو ببساطة

154

بعد االنتهاء م جتهيز املكتبه الربجميه نبدأ فا كتابه الكوا:

//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الو

الحروف و الرموز

األعمدهعدد

عدد الصفوف

أمر يقوم بتفعيل

ل االرقام من استقبا

لوحه االرقام

Page 156: Simply Arduino - 9-10-2012

اردوينو ببساطة

155

علومات:مصادر اضافيه للم

مكتبه لوحه األر ام و األوامر الربجميه :

http://www.arduino.cc/playground/Code/Keypad

كيف تصن فل الكرتونا بمست دام اراوينو و الخ فو موتور:

-Keypad-Arduino-with-control-http://www.instructables.com/id/Access

Servo-4x4

أسالك: 7أسالك فقط بدال م 9كيف توصل لوحه األر ام بمراوينو ع طريق

Keypad-Matrix-wire-3-http://www.instructables.com/id/Arduino

عمل نظام امنا )مفتاح الكرتونا شامل( مكون م اراوينو ميجا و شاشه و لوحه ار ام و

فل الكرتونا )س فو موتر(:

Arduino-with-Lock-http://www.instructables.com/id/Password

Page 157: Simply Arduino - 9-10-2012

اردوينو ببساطة

156

مع اردوينوRelay رحل ستخدام المأ

يعترب الريالى م اهم العناصر املخت دمه فا التحكم االلكرتونيا بمنواعه امل تلفه

Page 158: Simply Arduino - 9-10-2012

اردوينو ببساطة

157

هو ذلك العنصر؟ وكيف ميكن استخدامه؟ وماهي تطبيقاته؟ ما ؟إجيابياته؟ سلبياته

مم يتكون؟

إلكرتونوي, وميكننوا ختيلوه علوا شوكل مفتواح أو زر كهربوائي, /الريالي هو عنصر ميكانيكي

:ااخليا يتكون م جزئني رئيخيني

الجيزء الثياني: سلك ملفو حول الب حديدي, ويف مقدم ملك القالب يتوض األول:

ملفتواح وهوي عثابو ا امللوف /وهو لخان أو طع معدني مختطيل الشكل تقو أموام القالوب

فهي حتتوي علا متاسات معدني يتم مو خالهلوا توصويل محول كهربوائي ليعمول الوريالي

.علا فصله أو تشغيله حبخب وض امللف يف الريالي

ماهو الرمز اإللكرتوني للريالي يف الدارات اإللكرتونية؟

اح هو رمز املفتحيث اجلزء األيخر هو امللف واألمي : يرمز للريالي بالشكل التالي

الكهربائي

Page 159: Simply Arduino - 9-10-2012

اردوينو ببساطة

158

التركيب من الداخل

كيف يعمل؟

يف امللوف عندما يتم تطبيق فرق جهد علا طوريف امللوف الوداخلي للوريالي, سويمر تيوار

ليتحول بواسطته امللف ملغناطي كهربائي مولدا جماال مغناطيخويا سويقوم بودورو جبوذب

Page 160: Simply Arduino - 9-10-2012

اردوينو ببساطة

159

الكهربائيو , وعنود فصول ق التماسوات ملك اللخوان أو القطعو املواجهو للملوف حبيوث تغلو

اجلهد املطبق سيتالشا التيار تدرجييا لي تفي ملك الوال املغناطيخوي, وهنواك زنوربك

.سيقوم بإعااة اللخان لوضعه الطبيعي وفصل التماسات وفتح املفتاح الذي أغلق

ملفه, إما بكل بخاط فالريالي هو مفتاح كهربائي ميكانيكي, ما إن يتم تطبيق جهد علا

.يبدأ بالعمل ليجذب متاسات معدني ستعمل علا غلق أو فتح اارة خارجي متصل بها

ومافائدته إ ا؟ أال يمكننا استخدام مفتا كهربائي مباشرة؟

مل حب حنتاج ان نوصل اراوينو معي أننا ختيل

110عمل علا فرق جهد مورتاا يمتوه بكهربائي

ننووا تشووغيل منطقيووا, ال ميك. فولووت 220او فولووت

ألن ا صا جهد اراوينو لك احلمل م خالل م

, فولت فقط 5ميك توليدو م اراوينو هو

مو ما اسوتهالك كوب للطا وه ألي محول تشوغيل وهنا يمتي اور الريالي فهو سويقوم بعمليو

لنقووم فوليت 5 خالل فرق جهد صغ , والخر ميك وراء تشوغيل امللوف جبهود صوغ مثول

ح الذي سيتم توصيله علا أطرا التماسات ال سويجذبها امللوف ااخول بتشغيل املصبا

.الريالي

. وتيوار صوغ لقيوااة محول كوب فائدة عظيم كونه سيعمل علوا ترحيول جهود إ ا للريال

وأيضووا ميووزة الووريالي تكموو يف درتووه علووا العووزل التووام مووا بووني اارة املصوودر واحلموول

واحد منهما نقط أرضي مرجعي خمتلف ع األخرى, ا معزوالن متاما ولكل, فهم”اىرج“

Page 161: Simply Arduino - 9-10-2012

اردوينو ببساطة

160

وهووذا لووه فائوودة كووب ة يف منوو انتقووال التشووويش واجلهوووا العووابرة لوودارتنا وععنووا أصووح

أخ ا, ميك است دام الريالي يف الوتحكم عو بعود, أي وضو الوريالي بوالقرب . محايتها

.ر األوامرم اجلهاز ومد سلك للدراة ال تصد

:عيوبه

:ل عنصر إلكرتوني فوائد وسلبيات , وكذلك األمر بالنخب للريالي, فمهم سلبياته هيلك

فلذلك ستتولد فيه وة اافع كهربائي -وهو حثي-عا أنه يعتمد علا امللف

عند التوصيل وعند الفصل يا د ( تعر بقاعدة لنز ) عكخي عند مرور تيار به

ه ميكننا جتاوز هذو املشكل البخيط إال أن. الدارة املتصل بهيؤاي لعطب

بواسط وض عنصر الدايوا بني طريف امللف وملك ملن عواة تلك القوة

.الدافع العكخي

ميكانيكي عند كل حتويل م وض الفصل اىل وض التوصيل حدوث ارتدااات

يا د يؤاي لعطب احلمل. العك أو

وعااة تكون . األنظم اإللكرتوني حيتاج إىل اائرة موائم لكا يعمل جيدا م

هذو الدارة هي مكون م ترانزستور

العمر االفرتاضا للريالي صغ نخبيا خصوصا فا الدوائر التا تتطلب عداا كب ا

م مرات الوصل والفصل وعااة ما تذكر يم عدا مرات الفصل والوصل

القصوى لكل ريالي يف ملف املواصفات الفني

Page 162: Simply Arduino - 9-10-2012

اردوينو ببساطة

161

الستخدام الريال مع الدارت اإللكترونية دارة عملية

عند اختيار أي ريالي فالبد م االنتباو لألمور التالي كي نتمك م االختيار العلمي

الصحيح ومعرف البدائل ال ميك است دامها يف حال عدم توفر الريالي املناسب

لدينا اارة فمثال لو كان : فرق اجلهد الالزم لتشغيل امللف الداخلي للريالي

5فيجب اختيار ريالي له فرق جهد مللفه هو فولت 5تعمل علا فرق جهد فولت, ويف حال تعذر ملك ميكننا است دام جهد أكرب بعد است دام اارة

.تدوين الرتانزستور مواءم سبق أن طرحتها يف

وغالبا هذو القيم ال تعطا بشكل واضح : لتشغيل ملف الريالي أ صا تيار الزم

بل يتم مكر مقاوم امللف بدال منها, وم خالل خم فرق جهد امللف علا

وهي يم مهم جدا كي نعر هل ميكننا . مقاومته يتم حخاب التيار األعظم

بد م وض اارة مواءم تشغيل ووصل الريالي بدارتنا مباشرة أو ال

وتيار مرحل اىرج أو التماسات, وهنا جيب معرف ما حيتاجه احلمل جهد

القيم ومقارنته بالريالي وينبغي اائما أن يتم اختيار يم تيار عظما تزيد ع

% 01إىل 5املطلوب بنخب

العمر االفرتاضي لتماسات الريالي وعااة ما تعطا عاليني املرات

اج له ه الدائره المكونات التاليه:سنحت ننتقل اآلن للدارة العملية

فولت( 00او 3فولت )ميك است دام 2يعمل علا جهد ريالى

اايوا

كيلو اوم 0مقاومه

2ترانزستور م نوN2222

Page 163: Simply Arduino - 9-10-2012

اردوينو ببساطة

162

ا ا اسييييييتخدمت اى

ريالى بجهد اعلى من

فوليييت سييييتوجب 5

عليك ان تغيير قيميه

الدخل عن طريق د ا

اسييييتخدام مصييييدر

خارجى للطاقه

Page 164: Simply Arduino - 9-10-2012

اردوينو ببساطة

163

م Relay Boards تتوفر فا األسواق العديد م اوائر املرحلات اجلاهزو لألست دام

رحلات خمتلفه مثل الصور التاليه:اراوينو كما تتوفر بمحجام و اعداا م

Page 165: Simply Arduino - 9-10-2012

اردوينو ببساطة

164

فولت فاننا انصح 002فا حال كان مشروعك حيتاج تشغيل امحال بفرق جهد كب مثل

بشدو بمن تشرتى بوراو جاهزو باحلجم املناسب للمشرو اىاص بك و ملك ألن هذو

هد كب البوراات تصن جبواو و ا ه عاليه و هو ما حتتاجه فا املشاري التا تعمل جب

.جتنبا حلدوث اى اخطاء د ال يحمد عقباها

مصادر اضافيه للمعلومات:

هناك مشرو مجيل يشرح كيفيه است دام الريالى م اراوينو لتجهيز منفذ للطا ه جبهد

فولت يعمل م خالل اشارات التحكم الصااو م اراوينو 002

119http://www.sparkfun.com/tutorials/

فا هذا الفصل relayاملرحل املعلومات املذكورو ع الصور و مرج ملحوظه:

2121http://muslimlead.com/?p=

عمل العديد م و حتتوى املدونه ايضا علا العديد م الدروس الرائعه حول نظريات

الترانزستور، الملف، المكثف، الثنائي المشع للضوء، الدايوداملكونات االلكرتونيه مثل

ميكنك الضغط علا اى اسم م امساء العناصر املذكورو ليتم نقلك اىل موضو يشرح

اساسيات العنصر بالتفصيل

Page 166: Simply Arduino - 9-10-2012

اردوينو ببساطة

165

: شخصيه مالحظات

: الخاب الفصل ع الش صيه مالحظاتك لكتابه خمصصه صفحهال هذو

Page 167: Simply Arduino - 9-10-2012

اردوينو ببساطة

166

أمحد شوقى أمري الشعراء

سبحانوك اللهم خيوووور معولوووووووم

اوعلمت بالقلوم القورون االولو

ت هوذا العقل مو ظلماتوه أخرج

بيوالووبيو سوووور املووووهديته النو

Page 168: Simply Arduino - 9-10-2012

اردوينو ببساطة

167

الثامنالفصل

أغطيه اردوينو اجلاهزهArduino Shields

Page 169: Simply Arduino - 9-10-2012

اردوينو ببساطة

168

ميكو الو األغطيو تووافر عودا كوب مو هوي اراوينوو يف املوث و من اكثير الممييزات

يف األعلووا اإلصوودارةو Arduino unoمثوول امل تلفوو وراات تركيبهووا مباشوورو علووا البوو

Arduino Mega املعاجل و وو اإلمكانيات

املوجوواو PCIتعمل االغطيه بنف فكورو كوروت

توفرفا احلاسب اآلىل , علا سبيل املثال اما مل

كوووووارت شوووووبكه Motherboardاللوحوووووه االم

اطه للدخول علا االنرتنت فمنك تختطي بكل بخو

network interface ان تشرتى كوارت شوبكه

card و تقوووم برتكيبووه و الوودخول علووا االنرتنووت

فورا .. هكذا تعمل اغطيه اراوينو

اما كووان لووديك خووربو سووابقه موو املتحكمووات الد يقووه

فالبد انوك تودرك مودى الصوعوبه و الهووا املبوذول

حتووا تقوووم بتوصوويل املووتحكم الوود يق باالنرتنووت او

مو Ethernetحمليه )حيث ستقوم ببناء وحدو شبكه

الصووفر بنفخووك( و سيخووتهلك ملووك الكووث موو الو ووت و

الهوا , اما فا حاله اراوينو كول موا عليوك فعلوه ان

تشوورتى الغطوواء جوواهز و تركبووه مباشوورو علووا البوووراو

اىاصه بك و تبدأ فا برجمه مشروعك بكل سهوله

:التاليعرض منها تتوفر العديد من االغطيه و سنست

Page 170: Simply Arduino - 9-10-2012

اردوينو ببساطة

169

السلكية للشبكة اردوينو غطاء Arduino Ethernet Shield

توصووويل امكانيوووهملوووك الغطووواء ييييوفر

اراوينووووو بشوووووبكات احلاسوووووب اآلىل و

االنرتنت ع طريق توصيل كابل شبكه

مثوول املخووت دم فووا CAT5موو نووو

احلاسب اآلىل و ميكنك استغالل ملك

عوو الغطوواء فووا عموول مشوواري الووتحكم

الشووووبكه احملليووووه او بعوووود بمسووووت دام

االنرتنوووت فيمكنوووك موووثال توصووويل عووودا مووو

االجهووزو االلكرتونيووه بوواالاروينو و الووتحكم بهووا

, م اى مكان فا العامل ع طريوق االنرتنوت

و هنوواك بعوو االصوودارات احلديثووه موو هووذا

الغطاء توفر ايضا امكانيه تركيب كوارت ماكورو

الل ملوك فوا لت زي امللفوات و ميكو اسوتغ

بع املشاري التا حتتاج تخجيل يم بصورو

اوريووه مثوول مشوورو لتخووجيل ارجووات احلوورارو

كل فرتو زمنيه معينه و ختزي القيم علوا كورت

ماكوووه ثوووم ارسووواهلا عووو طريوووق االنرتنوووت اىل

صاحب املشرو

Page 171: Simply Arduino - 9-10-2012

اردوينو ببساطة

170

الالسلكيةغطاء الشبكات Xbee Shield

و فوووا يووووفر هوووذا الغطووواء نفووو الوظوووائف املوجووووا

Ethernet Shield الكو بصوورو ال سوليكهWireless

حيث ميكنك م توصيل االراوينو بواى شوبكه السوليكه

مرت )خيتلف النطاق بناء علا ووو 022فا نطاق يقارب

االشارو الالسلكيه(

Page 172: Simply Arduino - 9-10-2012

اردوينو ببساطة

171

)غطاء احملركات )املوتورArduino Motor Shield

يخت دم هذا الغطاء فوا توصويل احملركوات

,DC Motor, Servo Motors نوو مو

Stepper Motors 9حيث ميكنك توصيل

حمركات فوا نفو الو وت )ملحوظوه: بعو

اصوودارت هووذا الغطوواء تخوومح بتوصوويل حمووركني

يففقووووط( و ميكنووووك اسووووتغالل هووووذا الغطوووواء

حتتوواج حمركووات مثوول مشوواري الوو املشوواري

CNCو ماكينات Robots اآللي اإلنخان

Page 173: Simply Arduino - 9-10-2012

اردوينو ببساطة

172

شه امللونه التى تعمل باللمس الشاغطاء Arduino colored Touch

screen

توف شاشوه ملونوه يفيخت دم ملك الغطاء

و األصواب للمخات باالستجاب تفاعليه تعمل

حتتاج ال املشاري يفميك است دامها

وسيله لعورض صوورو او بيانوات معقودو و إىل

مات اللووون lcdال تكفووا الشاشووات الوو

حوووود لعرضووووها, و يتوووووفر ملووووك الغطوووواء الوا

0تبدأ م مخاحه خمتلف بمحجام و مقاسات

هووو اإلنووشانووش مربوو ) 4 إىلانووش مربوو

مرت ( سن 0.2وحدو ياس تخاوى

هناك ائمه كب و بممساء و مواصفات أغطيه اراوينو امل تلف جتدها علا املو التالي:

http://shieldlist.org

Page 174: Simply Arduino - 9-10-2012

اردوينو ببساطة

173

مالحظات شخصيه :

: الثالثمالحظاتك الش صيه ع الفصل لكتابههذو الصفحه خمصصه

Page 175: Simply Arduino - 9-10-2012

اردوينو ببساطة

174

الفصل التاسع

ثوره املتحكمات الدقيقه مفتوحه املصدر من و تطور اردوينو FPGAانتهائا بــ ARM Cortexاىل AVRعائله

Page 176: Simply Arduino - 9-10-2012

اردوينو ببساطة

175

فريووق موو أجتموو عنوودما يطاليوو اإل Ivrea ايفريووا مدينووه يف 0222عووام يف القصوو تبييدأ

علووووم التقنيووو و املعاهووود اجلامعووو لينا شووووا سوووبل تعلووويم طوووالب اإللكرتونيووواتمهندسوووي

, كوان اهلود مو اللقواء Microcontrollersالوو باسماو ما يعر الد يق املتحكمات

و اجلامعيو الدراسو يفهوذا النوو مو العلووم إلاخوال اجياا أسلوب سهل و غو مكلوف

مات الو وووت اون ان تكوووون هنووواك يووووا أو توووراخيص مكلفوووه يفيكوووون متووواح للوووهواو

برجمووه املتحكمووات يفكانووت تخووت دم الوو الربجميووات السووت دامحيتوواجون لشوورائها

Arduinoهذا الو ت .. م هنا تبدأ رحله نشمو اراوينو يف الد يق

مووووو " ماسووووويمو بوووووانزى وووووام كووووول

Massimo Banzi " بالتعووواون مووو "

Davidكوووووووووووووارتيلي اافيوووووووووووود

Cuartielles و جاينلوكا موارتينو

Gianluca Martino بوووووووووومطالق "

Arduin of ايفريوا مشرو أراويو

Ivrea باسوم و متت تخميه املشرو

و املدينوو يفاشووهر ش صوويه تارخييووه

للمشوورو هووو األساسوويكووان اهلوود

و تضوم هوذا املئو يف 022تطوير للمتحكمات ا يقه بصورو مفتوحوه املصودر بيئ عمل

Integrated Development الد يق تطوير برجميه للمتحكمات بيئ املشرو عمل

Environment مات الو وووت كموووا تضوووم عمووول لوحوووات تطووووير يفو تكوووون جمانيوووه

Development Boards ميك للطالب و اهلوواو التقونني ط بخيصغ و احلجم بتكلفه

حتمل سعرها.

Page 177: Simply Arduino - 9-10-2012

اردوينو ببساطة

176

املشوورو اعتمووااا علووا مشوورو سووابق امسووه تطييوير بييدأ

Wiring Platform حتقيق بع يفو الذى د جنح

مثول املصودر املفتووح األساسوي أهدا مشرو اراوينو

تصووميم و ال الربجميو الناحيو لكو مل يصول اىل املخوتوى الوذى متنواو فريووق التطووير مو

الربجميوو اللغوو العموول علووا تطوووير يفلووذلك مت البوودأ Hardware Design العتووااى

و جعلووها أسووهل و أفضوول كمووا مت اموو بعوو التقنيووات Wiringمشوورو يف املخووت دم

و Arduino C باسوم اجلديودة اللغو و مسيوت هوذو Processing لغ يف املخت دم

م ناحيه طريقه كتابه األوامر و تنخيق األكواا. ++C الربجمي للغ مشابهه جدا هي

يفمت أطووالق أول لوحووه تطويريووه ألراوينووو

علوووووووا اعتمووووووودتو 0222اواخووووووور عوووووووام

املشوهورة ئلو العام ATmega168شرحيه

AVR تنتجها شركه ال وAtmel للشورائح

باسوووم اللوحووو , و مسيوووت هوووذو اإللكرتونيووو

Arduino Serial V.1

املشورو بنشوور كول مووا يتعلووق بومراوينو برخصووه مفتوحووه مؤسخووي ووام اللوحو بعود أطووالق

العامل ميكنه االطال يففرا أين يعنا أن و الذى كا arduino.ccاملصدر علا مو

لكول مو Source Codesو التعديل علوا التصوميمات اهلندسوي و الشوفرات املصودري

و مت نشور Arduino IDEو الربجميات Arduino Boardsامل تلف بوراات اراوينو

كل هذا جمانا.

Page 178: Simply Arduino - 9-10-2012

اردوينو ببساطة

177

ات علوا التصوميمات اهلندسويه و ما ان مت نشر املشرو حتوا توالوت الكوث مو التطووير

م مهندسني و هواو خمتلفني حول العامل و مت أصدار للوحات األلكرتونيه و بيئه التطوير

العديد م اللوحات األحدث مثل:

Arduino UNO , Arduino Mega, Arduino lilyPad, Arduino

Duemilanove, Arduino Fio

املتحكمات خابقه ها انها تعتمد علا شرائحو كان القاسم املشرتك فا كل األصدارات ال

و حقوق املشورو جنواح بواهر حتوا Atmelالتوا تنتجهوا شوركه AVRالد يقه م عائلوه

طعه فا خمتلف اول العامل. 922.222وصل عدا اللوحات األلكرتونيه املباعه اىل

تعورض اراوينوو لنقلوه نوعيوه جديودو 2112عام في

و الوووذى وووام LeafLabsجائوووت علوووا يووود فريوووق

The Mapleتخما بتطوير لوحه أراوينو جديدو

board تعمول بشورائح ألكرتونيوه مو عائلووهARM

Cortex نقلت اراوينو اىل افق جديد م ال و

ARMالخوورعه و القوووو حيووث تتميووز مجيوو شوورائح

باحتوائهووا علووا معاجلووات عاليووه الخوورعه متتلووك وووو

جيجا هرتز . 0.2بع االصدارت اىل يفصل ميجا هرتز و ت 70معاجله تبدأ م

و است دام AVRاىروج م حدوا امكانيات شرائح LeafLabوبذلك أستطا فريق

تتميووز الوو الربجميوو موو االحتفوواظ بلغووه أراوينووو ARM Cortexاجليوول اجلديوود موو

سوعر مات الو وت االحتفواظ بعامول الخوعر حيوث بلو يفبالخهوله و خلوها م التعقيدات و

Maple Board اوالر م تكلفه الشح . 94حواىل

Page 179: Simply Arduino - 9-10-2012

اردوينو ببساطة

178

اال ان التطوووير مل لوحووات أراوينووو امل تلفووه يفالتطووورات الخووريعه و بييالرغم ميين كييل

بل وصل اىل شرائح " مصوفوفات البوابوات املنطقيو ARM Cortexيتو ف ع حدوا

0202عووام يف Field-Programmable Gate Arrays (FPGA)القابلوو للربجموو "

و اهلود منوه هوو صوناعه لوحوه Papilio Arduinoمت نشر مشرو مفتوح املصودر امسوه

Arduino Cو ميك برجمتها بلغه FPGAاراوينو تعمل بشرائح م نو

بالخرعه الفائقه فا اااء عمليات FPGA تتميز شرائح

املعاجلووووه بصووووورو متوازيووووه و فووووك تشووووف البيانووووات

Decoding لك تخت دم فا الكوث مو التطبيقوات لذ

الصناعيه التا يكون فيها عامل الو ت امورا حامسوا فوا

تصميم املنت النهائا لكو يعيوب هوذو الشورائح عودو

أمور جتعلها مقتصرو علا احملرتفوني و الشوركات فقوط,

ثور, اوالر و اك 022األول: تكلفه لوحات التطوير اىاصوه بهوا و التوا يبودأ سورعها غالبوا مو

ثانيا: صعوبه برجمه الشرائح حيث تخت دم لغات برجميه معقودو فوا تشوغيل هوذو الشورائح

. Verilogو لغه VHDLمثل

ليحول هوذو Papilio Arduinoجاء مشورو

املشووكالت و يقوودم لوحووه تطوووير جديوودو اىل

Papilioعائلوووه لوحوووات اراوينوووو و مت اصووودار

Arduino IDE نخوووو ه معدلووووه موووو هوووويو

اراوينووو لغوو جلعوول Arduino IDEبرنووام

Page 180: Simply Arduino - 9-10-2012

اردوينو ببساطة

179

للبيو مو منتصوف papilio boardsكما مت اصودار لوحوات FPGAتتناسب م شرائح

اوالر فقط و ميكنك االطال علا املزيد م املعلومات ع 42بمسعار تبدأ م 0202عام

:papilio.cchttp//م املو التاىل papilioلوحات

اصبحت عائلوه اراوينوو حتتووى علوا لوحوات تطوويرات Papilio Arduinoبعد مشرو

و ARM Cortexو شوورائح AVRتعموول تقريبووا بكافووه التقنيووات التووا مت ابتكارهووا مثوول

FPGAحتا شرائح

و و فا النهايه ميكننا القول أن مشرو اراوينو صون أكورب جمتمو تقنوا مو املهندسوني

الفوونني و اهلووواو يعملووون علووا تطوووير االفكووار و املشوواري املتعلقووه بووالتحكم اآلىل بصووورو

تشاركيه و تفاعليه حول العامل اعتمااا علا است دام لوحات الكرتونيه بتقنيوات خملتفوه و

م ملك يتم برجمتها مجيعا بلغه برجميه واحدو و جمانيه و متاحه للجمي .

و خمتلف .. حقا انها ثورو الكرتونيه ....انه جمتم جديد

Page 181: Simply Arduino - 9-10-2012

اردوينو ببساطة

180

ما يعرف بأسم ورشه التصنيع الشخصيفاب الب مصر او

و بنواء جمتمو مو االفكوار مو جمورا خيوال اىل وا و ملمووس لتحويل صممهو مكان م

مثووول: مووو اهلوووواو و املتحووورفني فوووا جمووواالت خمتلفوووه مصووونعا االفكوووار و املنتجوووات

الفنون( –التصني الر ما –هندسه احلاسب –ندسه امليكانيكيه اهل –)االلكرتونيات

العديد م االاوات التقنيه التا تخاعدك علا تصني افكارك مثل: املكان و يوفر

ماكينه القط بالليزرLASER cutter machine

3طابعه ثالثيه االبعااD printer

ماكينه حفر بالتحكم الر ماCNC machine

اوينو امل تلفه و مكونات الكرتونيه منوعهبوراات ار

و العديد م االاوات االخرى ....

يهد الفاب الب اىل توف بيئه تشاركيه و تعليميه فا مات الو ت تخاعد االفراا علا

االبدا و اطالق العنان الفكارهم و خياهلم و مشاركه هذو االفكار م التم .

Page 182: Simply Arduino - 9-10-2012

اردوينو ببساطة

181

ه لالفراا مثل:كما يوفر وورش و اورات تدريبي

ورش تدريب عمليه الست دام اراوينوArduino workshops

ورش تدريبيه لالطفال لتعلم االلكرتونياتYoung Fab.Academy

اما كانووت لووديك فكوورو و تريوود ان تنفووذها و حتتوواج اىل بعوو املخوواعدو او تعوواون موو

ك زيوارو فواب الب مصور اش اص اخريني او حتتاج اىل اورات تدريبيه فا اراوينو فيمكن

مجي االيام مخائا 8ظهرا حتا 00م الخاعه يوميا

egypt.com-http://fablab

https://www.facebook.com/fablab.egypt

Page 183: Simply Arduino - 9-10-2012

اردوينو ببساطة

182

Page 184: Simply Arduino - 9-10-2012

اردوينو ببساطة

183

Page 185: Simply Arduino - 9-10-2012

اردوينو ببساطة

184

ةكتاب فيلتى اعتمدت عليها المصادر التعليميه ا

محتوى الكتاب: 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/arduino-

shields-open-source-hardwar/

Page 186: Simply Arduino - 9-10-2012

اردوينو ببساطة

185

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-voice-

control-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-notifier-

project-for-dummies/ http://reprap.org/wiki/Arduino_Mega_Pololu_Shield

Page 187: Simply Arduino - 9-10-2012

اردوينو ببساطة

186

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

مراجع أخرى: كتب