قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 16-03-2020, 11:46 AM المشاركة 1   
افتراضي الأردوينو Arduino للمبتدئين-هاردوير-سوفتوير-دورة برمجة الاردوينو-تدريبات-مشاريع Twitter FaceBook Google+



الأردوينو Arduino للمبتدئين

ما هو الأردوينو What is an Arduino?

مقدمة :
الأردوينو Arduino هو عبارة عن منصة platform مفتوحة المصدر تستخدم لبناء مشاريع الالكترونيات. يتكون الأردوينو من هاردوير hardware وهو لوحة دائرة مطبوعة قابلة للبرمجة (يشار إليها غالبًا باسم المتحكم الدقيق أو الميكروكونترولر microcontroller ) ، وقطعة من البرمجيات software ، أو IDE (بيئة التطوير المتكاملة Integrated Development Environment ) التي تعمل على جهاز الكمبيوتر الخاص بك ، وتستخدم لكتابة وتحميل كود الكمبيوتر إلى اللوحة . الميكروكونترولر هو كمبيوتر صغير مدمج فى شكل شريحة دائرة متكاملة .
أصبحت منصة Arduino ذات شعبية كبيرة بين الأشخاص الذين بدأ للتو في استخدام الإلكترونيات ولسبب (مبرر) وجيه. على عكس معظم لوحات الدوائر القابلة للبرمجة السابقة ، فإن Arduino لا يحتاج إلى قطعة منفصلة من الأجهزة (الهاردوير) (تسمى مبرمج programmer ) من أجل تحميل كود جديد على اللوحة - يمكنك ببساطة استخدام كابل USB. بالإضافة إلى ذلك ، تستخدم بيئة التطوير Arduino IDE نسخة مبسطة من لغة C++ ، مما يجعل من السهل تعلم البرمجة.
تعد لوحة "الأونو" Uno واحدة من اللوحات الأكثر شهرة في عائلة الاردوينو Arduino وهي خيار رائع للمبتدئين. سنتحدث عنها وما الذي يمكنها القيام به لاحقًا .





Arduino Uno






Arduino IDE.
صدق أو لا تصدق ، تلك الأسطر من الكود هي كل ما تحتاجه لوميض الليد LED الموجود على متن لوحة Arduino. قد لا تكون الشفرة منطقية تمامًا في الوقت الحالي ، ولكن بعد قراءة هذه الدروس سوف يكون لك رأى آخر !

ماذا تفعل؟ What Does it Do?
تم تصميم أجهزة وبرامج الاردويتو Arduino للفنانين والمصممين والهواة والهاكروالمبتدئين وأي شخص مهتم بإنشاء كائنات أو بيئات تفاعلية. يمكن أن يتفاعل Arduino مع الأزرار buttons والليدات LED والمحركات ومكبرات الصوت ووحدات GPS والكاميرات والإنترنت وحتى هاتفك الذكي أو التلفزيون الخاص بك! هذه المرونة مقترنة بحقيقة أن برنامج Arduino مجاني وأن لوحات الأجهزة رخيصة جدًا وأن كل من البرمجيات والأجهزة سهلة التعلم مما أدى إلى مجتمع كبير من المستخدمين الذين ساهموا بالكود وإصدار تعليمات لمجموعة متنوعة كبيرة من المشاريع القائمة على الاردوينو.
يمكن استخدام Arduino كأدمغة (عقول) وراء أي مشروع إلكترونيات تقريبًا ، في كل شيء .

ما ذا يوجد على متن لوحة الأردوينو ؟
هناك العديد من أنواع لوحات Arduino والتي يمكن استخدامها لأغراض مختلفة. تبدو بعض اللوحات مختلفة قليلاً عن تلك الموجودة أدناه ، ولكن معظم لوحات Arduino لديها غالبية هذه المكونات المشتركة :





1- مصدر القدرة الكهربية Power :
كل لوحة Arduino تحتاج إلى وسيلة لتوصيل مصدر القدرة . يمكن تشغيل Arduino UNO من كابل USB قادم من جهاز الكمبيوتر الخاص بك أو من مصدر قدرة حائط (أدابتر) والذي ينتهى بجاك على شكل برميل. في الصورة أعلاه ، يتم تمييز وصلة USB بالرقم (1) ، ووصلة الأدابتر بالرقم (2) .
التوصيل من خلال USB هو أيضًا الطريقة التي سيتم بها تحميل الكود على لوحة Arduino.
ملاحظة: يتراوح الجهد الموصى به لمعظم طرازات Arduino بين 7 و 12 فولت.

2- الأطراف (5V, 3.3V, GND, Analog, Digital, PWM, AREF) :
الأطراف الموجودة على Arduino هي الأماكن التي تقوم فيها بتوصيل الأسلاك لإنشاء دائرة (ربما مع لوحة تجارب وبعض الأسلاك). وعادةً ما تحتوي على "رؤوس" بلاستيكية سوداء تسمح لك بتوصيل السلك مباشرة باللوحة. تحتوي لوحة الأردوينو على عدة أنواع مختلفة من الأطراف ، يتم تمييز كل منها بكتابة على اللوحة وتستخدم في وظائف مختلفة.
• الأطراف GND(3) : اختصار لكلمة "أرضى" Ground . يوجد العديد من أطراف GND على لوحة الأردوينو ، يمكن استخدام أى منها كأرضى (مشترك) للدائرة .
• الأطراف 5V (4) & 3.3V (5) : كما هو واضح من التسمية ، للإمداد supply بالجهد 5V و 3.3V . معظم المكونات البسيطة التى تستخدم مع الأردوينو تعمل على جهد 5V أو 3.3V .
• الأطراف Analog (6) : منطقة الأطراف تحت المسمى “ANALOG IN” (الأطراف A0 إلى A5 فى الأونو) هى أطراف دخل تناظرى Analog . هذه الأطراف يمكن أن تقرأ read الإشارة من حساس تناظرى (مثل حساس درجة الحرارة) وتحوله إلى قيمة رقمية ليتم معالجتها .
• الأطراف Digital (7) : على الجهة المقابلة للمداخل التناظرية توجد الأطراف الرقمية DIGITAL ( الطرف 0 إلى الطرف 13 على الأونو) . هذه الأطراف يمكن أن تستخدم فى أى من المدخلات الرقمية digital input ( مثل الإخبار عن حالة الضغط على مفتاح ) أو مخرجات رقمية digital output ( مثل حالة توصيل قدرة إلى ليد LED ) .
• الأطراف PWM (8) : ربما لاحظت الرمز (~) بجانب بعض الأطراف الرقمية (3 و 5 و 6 و 9 و 10 و 11 على UNO). تعمل هذه الأطراف كأطراف رقمية عادية ، ولكن يمكن استخدامها أيضًا في شيء يسمى تعديل عرض النبض (PWM). فكر في هذه الأطراف على أنها قادرة على محاكاة الإخراج التناظرى (مثل خفوت أى تلاشي إضاءة LED داخل وخارج).
• الطرف AREF (9 : "المرجع التناظرى" Analog Reference . معظم الوقت يمكن ترك هذا الطرف من دون استخدام . أحيانا يستخدم لضبط set جهد المرجع التناظرى الخارجى ( بين 0V و 5V ) كحد أعلى upper limit لأطراف الدخل التناظرى .

3- مفتاح الإعادة (الريست) Reset Button
تحتوي لوحة Arduino على زر الإعادة reset (10). سيؤدي الضغط عليه إلى توصيل طرف إعادة التعيين مؤقتًا بالأرض وإعادة تشغيل أي كود يتم تحميله على Arduino. قد يكون ذلك مفيدًا للغاية إذا لم يتم تكرار الكود ، ولكنك تريد اختباره عدة مرات.
4- ليد بيان القدرة الكهربية Power LED Indicator
أسفل ويمين كلمة "UNO" على اللوحة ، يوجد ليد LED صغير بجانب كلمة ‘ON’ (11) . يجب أن يضيء الليد LED هذا عندما تقوم بتوصيل Arduino بمصدر قدرة كهربية . إذا لم يتم تشغيل هذا الضوء ، فهذا بيان على حدوث خطأ.
5- ليدات الإرسال والاستقبال TX RX LEDs
TX اختصار للإرسال transmit ، RX اختصار للاستقبال receive . تظهر هذه الليدات حالة الأطراف المسؤولة عن الاتصال التسلسلي. في حالتنا ، يوجد مكانان على Arduino UNO يظهر فيهما TX و RX - المرة الأولى عند الأطراف الرقمية 0 و 1 ، ومرة أخرى بجانب ليدات بيان TX و RX (12) . ستمنحنا الليدات هذه بعض المؤشرات المرئية اللطيفة عندما يتلقى Arduino بياناتنا أو ينقلها (مثل عندما نقوم بتحميل برنامج جديد على اللوحة ).
6- الدائرة المتكاملة الرئيسية Main IC :
الشيء الأسود ذات الأرجل المعدنية هو IC ، أو دائرة متكاملة (13). فكر فيها كمخ (دماغ) brains الأردوينو . يختلف IC الرئيسي في Arduino قليلاً من نوع لوحة إلى نوع لوحة آخر ، ولكنه عادة ما يكون من نوع ATmega وهو من شركة ATMEL. قد يكون هذا مهمًا ، حيث قد تحتاج إلى معرفة نوع IC (جنبًا إلى جنب مع نوع اللوحة الخاصة بك) قبل تحميل برنامج جديد من برنامج Arduino. عادة ما يمكن العثور على هذه المعلومات مكتوبة على الجانب العلوي من IC. إذا كنت تريد معرفة المزيد عن الفرق بين مختلف IC ، فإن قراءة الداتا شيت غالبًا ما تكون فكرة جيدة.
7- منظم الجهد Voltage Regulator
منظم الجهد (14) ليس في الواقع شيئًا يمكنك أن تتفاعل معه على Arduino. لكن من المحتمل أن نعرف أنه موجود وما هو المقصود منه . يقوم منظم الجهد بعمل ما يعنيه اسمه بالضبط - إنه يتحكم في مقدار الجهد المسموح بدخوله إلى لوحة Arduino. فكر في الأمر كنوع من حارس البوابة ؛ سيؤدي ذلك إلى التخلص من الجهد الإضافي الذي قد يضر الدائرة. بالطبع ، له حدود ، لذلك لا تقم بتوصيل اردوينو الخاص بك بأي شيء يزيد عن 20 فولت.


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 22-03-2020 الساعة 12:35 PM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً عريبى محمود ( شكر العضو على هذه المشاركة )
اعجاب عريبى محمود, jhjh ( أعجبته المشاركة )
اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 18-03-2020, 12:20 PM المشاركة 2   
افتراضي بيئة التطوير المتكاملة للأردوينو Arduino IDE


بيئة التطوير المتكاملة للأردوينو Arduino IDE

1- مقدمة
بيئة التطوير المتكاملة للأردوينو Arduino integrated development environment (IDE) هى البرنامج الذي من خلاله يتم كتابة (تحرير) الكود البرمجي للوحة الأردوينو بلغة السى C، وتحميله إليها. تتسم بيئة التطوير بالبساطة وسهولة التعامل، وتحتوي على كل ما يحتاجه المبرمج لكتابة الشيفرة، وتعمل على أنظمة التشغيل المختلفة: Linux، Mac OSX ،Windows .
تعرف البرامج المكتوبة باستخدام بيئة التطوير Arduino IDE باسم "سكتش" sketch، ويتم تخزينها في الحاسب بملف يأخذ الامتداد ino.

2- تحميل بيئة التطوير المتكاملة للاردوينو Arduino IDE
يمكن تحميل Arduino IDE من الموقع الرسمي لمطوري الاردوينو من الرابط التالي:

https://www.arduino.cc/en/Main/Software




بعد فتح الرابط نختار نظام التشغيل ومن ثم just download ليبدأ التحميل مباشرة ومجانا.
قم بفك الضغط للملف المحمل الذي يحتوي على برنامج بيئة التطوير وتعاريف ومكتبات وأمثلة وغيرها. قم بتشغيل برنامج Arduino.exe لتعمل بيئة التطوير مباشرة من دون الحاجة إلى تنصيب setup .




3- بيئة التطوير المتكاملة للاردوينو Arduino IDE
يوضح الشكل أدناه واجهة بيئة التطوير Arduino IDE التي تتكون من الأجزاء التالية:
1. شريط أدوات القوائم menu toolbar.
2. شريط أدوات الوظائف الشائعة common functions toolbar.
3. محرر النص text editor .
4. منطقة الرسالة message area .
5. لوحة مراقبة (كونسول) النص text console.




1- شريط أدوات القوائم
يحتوي هذا الشريط على خمس قوائم هي: File – Edit – Sketch – Tools – Help. في كل قائمة عدد من الوظائف.

تتضمن القائمة File عدد من الوظائف :
New: إنشاء نموذج جديد للمحرر.

Open: لفتح ملف مخزن.

Open Recent: تقدم قائمة قصيرة لأحدث الملفات البرمجية (sketch) لفتحها.

Sketchbook : يعرض الاسكتشات الحالية داخل هيكل مجلد sketchbook؛ يؤدي النقر على أي اسم إلى فتح الاسكتش المقابل في نسخة محرر جديدة.

Examples: تحتوي أمثلة مقدمة من بيئة التطوير.

Close: إغلاق المحرر الذي يتم العمل عليه.

Save: حفظ الملف البرمجي بنفس االاسم.

Save as: حفظ الملف البرمجي باسم مختلف.

Page setup: إعداد الصفحة للطباعة.

Print: طباعة الملف البرمجي.

Preferences: يتم فتح نافذة التفضيلات لضبط بعض إعدادات بيئة التطوير مثل لغة الواجهة.

Quit: يتم إغلاق كافة نوافذ بيئة التطوير.







تتضمن القائمة Edit عددا من الوظائف الخاصة بالنسخ، والقص ، واللصق، والتراجع، والبحث.




تتضمن القائمة Sketch الوظائف التالية:

Verify/Compile: لفحص النص البرمجي من الأخطاء، مع تقديم معلومات عن مقدار استخدام ذاكرة البرنامج وذاكرة
RAM في منطقة مراقبة النص text area.
Upload: يتم تحويل الملف البرمجي إلى ترميز آلة ومن ثم يتم تحميل الملف الثنائي إلى اللوحة عبر المنفذ الذي تم إعداده. (قبل تحميل الملف للوحة يتم اختيار اللوحة بشكل صحيح من القائمة Tools>Board، واختيار منفذ
COM الصحيح أثناء وصل اللوحة مع الحاسب وذلك من القائمة Tools>Port ) .

Upload Using Programmer: يستخدم هذا الأمر لنقل
الملف البرمجي إلى اللوحة عن طريق مبرمجة خارجية. يتم الكتابة على محمل الإقلاع bootlaoder، وتستخدم كامل
سعة ذاكرة البرنامج.

Export Compiled Binary : يتم تخزبن ملف .hex (ملف ترميز لغة الآلة مكتوب بصيغة ست عشري
hexadecimal لاستخدامه في برنامج محاكاة، أو تحميله للوحة عن طريق أدوات أخرى).

Show Sketch folder: فتح مجلد الشيفرة البرمجية sketch الحالي.

Include library: إضافة مكتبات إلى الشيفرة البرمجية sketch الحالي بإضافة التعبير include# بداية الشيفرة.

Add File: إضافة ملف برمجي، ويتم نسخه إلى مكان الشيفرة البرمجية الحالية.



تتضمن القائمة Tools الوظائف التالية:
Auto Format: يجعل الشيفرة البرمجية تظهر بشكل أنيق.

Archive Sketch: يتم أرشفة نسخة للشيفرة البرمجية الحالية بتنسيق zip.

Serial Monitor: فتح نافذة المراقبة التسلسلية.

Board: يتم تحديد اللوحة التي يتم العمل بها.

Port: تحتوي هذه القائمة على كل المنافذ التسلسلية المعرفة على الحاسب (فعلية أو ظاهرية). من خلالها يتم اختيار المنفذ الذي يتصل مع لوحة الأردوينو.

Programmer: تستخدم لاختيار المبرمجة عندما يتم برمجة اللوحة من دون استخدام لوصلة USB-serial. في العادة لن تحتاج إلى ذلك، إلا إذا أردت تحميل محمل الإقلاع bootloader إلى الميكروكونترولر .

Burn Bootloader: تستخدم لنقل محمل الإقلاع bootloader إلى ميكروكونترولر الوحة.




2- أدوات شريط الوظائف الشائعة common functions toolbar:

Verify: لفحص النص البرمجي من الأخطاء.

Upload: يتم تحويل الملف البرمجي إلى ترميز الآلة ومن ثم يتم تحميل الملف الثنائي إلى اللوحة عبر المنفذ الذي تم إعداده.

New: إنشاء نموذج جديد للمحرر.

Open: لفتح ملف مخزن.

Save: حفظ الملف البرمجي.
Serial Monitor: فتح نافذة المراقبة التسلسلية.



3- محرر النص text editor :
في محرر النص يتم كتابة الشيفرة البرمجية الخاصة بعمل لوحة الأردوينو كما هو موضح في الشكل أدناه (كيفية كتابة الشيفرة البرمجية في بيئة التطوير هو ما سنتعلمه لاحقا .



4- منطقة الرسالة message area :
تقدم معلومات تفاعلية أثناء الحفظ، والتصدير، وتعرض الأخطاء كما هو موضح في الشكل أدناه .



5- لوحة مراقبة (كونسول) النص text console :
تعرض معلومات عن نتائج الشيفرة البرمجية مثل نسبة استخدام الذواكر، وأماكن التخزين، ورسائل الأخطاء كاملة، وغير ذلك كما هو موضح في الشكل أدناه .



تعرض الزاوية اليمنى السفلية للواجهة اللوحة والمنفذ التسلسلي اللذين تم إعدادهما كما هو موضح في الشكل أدناه .







احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً مسلم11 ( شكر العضو على هذه المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 22-03-2020, 12:32 PM المشاركة 3   
افتراضي دورة برمجة اردوينو Arduino Programming Course :


دورة برمجة اردوينو Arduino Programming Course :

المقدمة والمتطلبات Introduction and Requirements :
تعلم لغة برمجة الاردوينو Arduino والبدء في كتابة البرامج (الاسكيتشات sketches ) الخاصة بك .
تركز دورة برمجة Arduino هذه على تعليم لغة برمجة Arduino وتتكون من عدد من الأجزاء المختلفة ، كل منها يغطي موضوعًا مختلفًا.
في نهاية الدورة ، سيكون لديك ما يكفي من المعرفة والثقة لبدء كتابة البرامج (الاسكيتشات) الخاصة بك من أجل الاردوينو Arduino.

المتطلبات الأساسية للدورة :
قبل البدء ، ستحتاج إلى الأجهزة hardware التالية والمعرفة الأساسية حول Arduino.

متطلبات الأجهزة Hardware Requirements :
• لوحة Arduino Uno أو لوحة Arduino مماثلة (مثل Arduino Mega)
• كبل USB لتشغيل (لتغذية) وبرمجة لوحة Arduino من مقبس (وصلة) USB للكمبيوتر الشخصي
• لوحة تجارب Breadboard ومكونات كما هو محدد في الأجزاء المختلفة من هذه الدورة




متطلبات المهارات Skills Requirements :
قبل البدء ، ستحتاج إلى معرفة الأساسيات حول كيفية استخدام Arduino ، مثل تحميل اسكيتشات جديدة إليه وتوصيل بعض المكونات الإلكترونية الأساسية به.

متطلبات البرمجيات Software Requirements :
ستحتاج إلى أحدث إصدار من بيئة التطوير المتكاملة للاردوينو Arduino IDE لنظامك الأساسي (متوفر لنظام التشغيل Linux و Windows و Mac).
تستخدم هذه الدورة Arduino IDE الإصدار 1.8.1 الذي كان أحدث إصدار في وقت تحديث هذه الدورة. يجب أن يعمل الإصدار 1.0 أو الأحدث.

مع الأجهزة والبرمجيات والمهارات المذكورة أعلاه ، فأنت على استعداد لبدء الدورة.


jhjh
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
المشاركات: 194
نشاط [ jhjh ]
قوة السمعة:0
قديم 22-03-2020, 12:48 PM المشاركة 4   
افتراضي


شكراً وبارك الله فيك..


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 22-03-2020, 07:29 PM المشاركة 5   
افتراضي


أخى الكريم شكرا جزيلا لك

مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 22-03-2020, 07:47 PM المشاركة 6   
افتراضي الدرس الأول : بناء وتدفق برنامج الاردوينو Arduino Sketch Structure and Flow :


دورة برمجة الاردوينو : الدرس الأول :

بناء وتدفق برنامج "سكيتش" الاردوينو Arduino Sketch Structure and Flow :

في هذا الدرس من برمجة Arduino ، سوف نبحث فى البناء (الهيكل) الأساسي لبرنامج (سكيتش) الاردوينو وتنفيذ تعليمات البرنامج من أعلى إلى أسفل (تدفق أو سريان البرنامج program flow ).

أولا : بناء (هيكل) برنامج (سكيتش) الاردوينو Arduino Sketch Structure :

يتكون برنامج الاردوينو الأساسي من "دالتين" functions تسمى "دالة الإعداد " setup() و "دالة الحلقة" loop() .

• إفتح بيئة التطوير Arduino IDE وحدد File → Examples → 01.Basics → BareMinimum (BareMinimum تعنى الحد الأدنى) لرؤية الدالتين . تظهر هاتان الدالتان الآن في نافذة Arduino IDE جديدة .




ما هي الدالة Function ؟
سيتم تغطية الدوال بمزيد من التفصيل لاحقًا ، والآن ستحتاج فقط إلى معرفة ما يلي حول الدوال :
• يجب أن يكون لجميع الدوال اسم فريد ، و setup هو مثال على اسم الدالة الفريد(setup و loop هي دوال خاصة في برمجة Arduino وتشكل جزءًا من بناء الاسكيتش الأساسي).
• يتبع اسم الدالة بفتح وإغلاق الأقواس () التي قد تحتوي أو لا تحتوي على شيء.
• يجب أن يكون لجميع الدوال نوع إرجاع return type . لكل من setup و loop نوع الإرجاع "فارغ" void .
• يتكون جسم body الدالة من قوس فتح وإغلاق ({و}).

برنامجك الأول : عرض رسالة الترحيب "Hello, world!" :
من تقاليد البرمجة كتابة برنامج ترحيب "hello world" كلما بدأت في تعلم لغة برمجة جديدة.
برنامج "hello world" يكتب ببساطة النص "Hello, world!" على الشاشة. الغرض من هذا البرنامج هو التحقق من أن بيئة البرمجة الخاصة بك مثبتة وتعمل بشكل صحيح. إذا كان برنامج "hello world" يعمل ، فأنت مستعد لبدء تعلم لغة البرمجة الجديدة.
لا يحتوي Arduino على شاشة لكتابة النص "hello world" ، ولكن يمكننا استخدام منفذ USB ونافذة الشاشة التسلسلية serial monitor window .

1- كتابة البرنامج (الاسكتش) :
قم بتعديل البرنامج BareMinimum الذي قمت بفتحه مسبقًا كما يلي:

كود:
void setup() {
  Serial.begin(9600);
  Serial.println("Hello, world!");
}

void loop() {
}

احفظ البرنامج المعدل باسم hello_world في مجلد الاسكيتشات عن طريق تحديد File → Save As… من قائمة Arduino IDE ثم إعادة تسمية الملف إلى hello_world.

2- تشغيل البرنامج :
قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك باستخدام كابل USB. انقر فوق الزر تحميل Upload لتحميل البرنامج إلى Arduino.
• الآن افتح نافذة الشاشة التسلسلية Arduino IDE لرؤية تشغيل الاسكيتش وطباعة الرسالة النصية.
يجب أن تبدو نتيجة تشغيل الاسكيتش كما يلي:




يجب أن يكون النص الذي يخرجه البرنامج مرئيًا في نافذة الشاشة التسلسلية.

3- اكتشاف الأخطاء :
أ‌- أخطاء البرمجة (الترجمة) :
أي شيء في سطور التعليمات البرمجية أعلاه والذي يتم كتابته في نافذة IDE بشكل غير صحيح سيؤدي على الأرجح إلى خطأ في الترجمة ، لذا تأكد من كتابة كل شيء تمامًا كما هو موضح في الكود أعلاه. يتم ترجمة البرنامج عند النقر على الزر Verify "التحقق" (أيقونة علامة صح ) أو الزر Upload "التحميل" (أيقونة السهم الأفقي).
سيظهر خطأ في الترجمة في الجزء السفلي من Arduino IDE كما هو موضح في الصورة أدناه.




في هذا المثال ، تم ترك الفاصلة المنقوطة ( عند نهاية هذا السطر: Serial.println("Hello, world!") والذي تسبب في عرض Arduino IDE لرسالة الخطأ.

ب‌- أخطاء الإعداد Setup Faults :
إذا واجهتك مشاكل في تحميل uploading الاسكتش إلى Arduino ، فتأكد من تحديد لوحة Arduino الصحيحة ضمن Tools → Board ومن تحديد المنفذ التسلسلي الصحيح ضمن Tools → Serial Port.

ت‌- خطأ تحديد (ضبط) معدل البود Baud Rate Setting Fault :
إذا تم تحميل uploaded الاسكتش بنجاح ، فإن المشكلة الوحيدة التي يمكن أن تمنع ظهور النص في نافذة الشاشة التسلسلية هي إذا لم يتم ضبط معدل البود (سرعة نقل البيانات) في الجزء السفلي الأيمن من نافذة الشاشة التسلسلية على 9600 كما هو موضح في شكل تشغيل البرنامج أعلاه.

ثانيا : تدفق (سريان ) برنامج (سكيتش) الاردوينو :
في سكيتش الاردوينو ، يتم تنفيذ عبارات البرنامج (أسطر التعليمات البرمجية الفردية) أو تشغيلها من الأعلى إلى الأسفل. لا يمكن تغيير هذا التنفيذ من أعلى إلى أسفل إلا من خلال عبارات التحكم في التدفق.

1- أجزاء الاسكتش Parts of a Sketch :
تظهر الصورة أدناه أجزاء سكيتش الاردوينو. "العبارات" Statements هي سطور الكود (التعليمات البرمجية) التي يتم تنفيذها أثناء تشغيل البرنامج. يتم إنهاء كل عبارة بفاصلة منقوطة ( .



2- كيف يعمل سكيتش (برنامج) Hello World
في برنامج Hello World ، يتم تشغيل العبارات في الدالة setup() أولاً ، من الأعلى إلى الأسفل. العبارة Serial.begin(9600); هي العبارة الأولى في الدالة setup() ، لذلك يتم تشغيلها أولاً. تقوم هذه العبارة بضبط سرعة المنفذ التسلسلي على 9600 بود. يجب أن يتطابق إعداد الاتصال بالبود في نافذة الشاشة التسلسلية مع هذه القيمة بحيث يتصل Arduino ونافذة الشاشة التسلسلية بنفس السرعة.
العبارة الثانية المطلوب تشغيلها في الدالة setup() هي Serial.println("Hello, world!"); والتى ترسل النص Hello, world! للخروج من المنفذ التسلسلي / USB للعرض في نافذة الشاشة التسلسلية. في هذه العبارة ، يمكن وضع أي نص بين علامتي التنصيص ("") وسيتم عرضه في نافذة الشاشة التسلسلية.

3- دالة الإعداد The setup() Function :
يتم تشغيل العبارات Statements في الدالة setup() مرة واحدة فقط ، في كل مرة يتم فيها تشغيل البرنامج . يبدأ البرنامج بعد ذلك في تنفيذ العبارات في الدالة loop() .
يتم تشغيل البرنامج بعد برمجته في Arduino. سيؤدي فتح نافذة الشاشة التسلسلية إلى إعادة تعيين (ريست reset ) Arduino ويؤدي إلى تشغيل البرنامج مرة أخرى.
يمكن أيضًا إعادة تشغيل البرنامج بالضغط على زر الإعادة reset على Arduino أو فصل ثم إعادة توصيل الطاقة للاردوينو Arduino.

4- دالة الحلقة The loop() Function :
سيتم تشغيل العبارات في الدالة loop() بشكل مستمر من أعلى إلى أسفل ثم تعود إلى الأعلى.
إذا كانت الدالة loop() تحتوي على عبارتين ، فسيتم تنفيذ العبارة الأولى ، ثم العبارة الثانية ، ثم العبارة الأولى مرة أخرى وهكذا في حلقة loop .
نظرًا لعدم وجود عبارات في الدالة loop() في مثال hello world الخاص بنا ، سينتهي تنفيذ البرنامج في الحلقة ويتعثر (يعلق) هناك ولا يفعل شيئًا.
من المهم أن يكون لديك الدالة loop() في البرنامج ، حتى لو كانت فارغة ، لأنه بدونها سيحاول المتحكم الدقيق الموجود على لوحة Arduino تنفيذ أي شيء يجده بعد ذلك في الذاكرة بعد أن تكون العبارات في الدالة setup() قد تم تنفيذها . سيحاول المتحكم تنفيذ كل ما يجد في الذاكرة كتعليمات ، ولكن الدالة loop() تمنعه من القيام بذلك عن طريق الحفاظ على تنفيذ البرنامج في الحلقة.
في الدرس التالي ، سنضع بعض عبارات البرنامج في الدالة loop() لمعرفة كيفية عملها.


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 22-03-2020 الساعة 07:53 PM

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 23-03-2020, 12:43 PM المشاركة 7   
افتراضي دورة برمجة الاردوينو : الدرس الثانى : الحلقة الرئيسية Main Loop لبرنامج الاردوينو


دورة برمجة الاردوينو : الدرس الثانى :
الحلقة الرئيسية Main Loop لبرنامج (اسكيتش) الاردوينو واستدعاء الدوال Calling Functions :

يوضح هذا الدرس ما هي الحلقة loop في البرمجيات وكيف تعمل الحلقة الرئيسية من برنامج (سكيتش) Arduino.
تقوم الدالة function في البرنامج (الاسكيتش) بمهمة ما (أي تؤدي وظيفة function). نقول إننا "نستدعى دالة " عندما نستخدم دالة لأداء مهمتها المحددة.

الحلقة الرئيسية The Main Loop :
كما هو موضح في السابق ، يتكون برنامج (سكيتش) الاردوينو من دالتين رئيسيتين تسميان setup() و loop() . الدالة loop() هي الحلقة الرئيسية في برنامج (سكيتش) الاردوينو. بعد تنفيذ العبارات التي تحتاج فى تشغيلها لمجرد مرة واحدة والانتهاء من تنفيذها في الدالة setup() ، يبدأ تنفيذ البرنامج في الدالة loop() .
بمجرد بدء تنفيذ البرنامج في الحلقة الرئيسية ، سيتم تنفيذ العبارات في الحلقة الرئيسية بشكل مستمر حتى يتم إيقاف تشغيل Arduino أو إعادته (ريست) reset . الحلقة الرئيسية هي المكان الذي يتم فيه الوظيفة التشغيلية الفعلية للاردوينو Arduino - على سبيل المثال ، إذا تمت برمجة Arduino ليكون جهاز ضوء وامض متتابع ، فسيتم وضع وظيفة الضوء الوامض في الحلقة الرئيسية.

لماذا يطلق عليها حلقة Loop ؟
سيتم تنفيذ العبارات في الدالة loop() من أعلى إلى أسفل ، حتى يتم الوصول إلى الجزء السفلي من الدالة loop() . عندما يتم الوصول إلى الجزء السفلي من الدالة loop() ، يتم تنفيذ العبارات من أعلى الدالة loop() مرة أخرى ، وبالتالي إكمال "الحلقة" كما هو موضح في الصورة أدناه.



برنامج (سكيتش) توضيحى للحلقة Loop :
يوضح البرنامج (الاسكيتش) main_loop الموضح أدناه كيفية عمل الحلقة الرئيسية في برنامج (سكيتش) الاردوينو. اكتب البرنامج (الاسكيتش) في Arduino IDE ، أو انسخه والصقه في IDE.
قم بتحميل Load الاسكيتش إلى Arduino ثم افتح نافذة الشاشة التسلسلية لرؤية نص إخراج الاسكيتش أثناء تشغيله.


كود:
void setup() {
  Serial.begin(9600);
  Serial.println("*** This message will only be displayed on start or reset. ***");
  delay(2000);
}

void loop() {
  Serial.println("-- Arduino now at top of main loop. --");
  Serial.println("--------------------------------------");
  delay(2000);

  Serial.println("Executing instructions in main loop.");
  delay(2000);

  Serial.println("Arduino now at bottom of main loop.\r\n");
}


يظهر النص الذي يطبعه الاسكيتش فى نافذة الشاشة التسلسلية أدناه.



كما يظهر العرض التوضيحي أعلاه ، يتم عرض النص في الدالة setup() مرة واحدة فقط عند فتح نافذة الشاشة التسلسلية لأول مرة وإعادة تعيين Arduino. بعد ذلك ، يدخل تنفيذ البرنامج إلى الدالة loop() وينفذ بشكل متكرر العبارات في الحلقة من الأعلى إلى الأسفل والعودة إلى الأعلى مرة أخرى في حلقة لا تنتهي أبدًا.
الدوال فى برنامج (سكيتش) توضيح الحلقة Loop :
في الاسكيتش main_loop أعلاه ، تتكون كل عبارة في setup() و loop() من دالة يتم استدعاؤها - أي أن الاستدعاء يعني أنه يتم تنفيذها أو تشغيلها.

الدالة delay() :
عندما يتم استدعاء الدالة delay() في العبارة delay(2000); عندئذ تتسبب دالة التأخير في فترة انتظار مدتها ثانيتان (2000 مللي ثانية ) . يمكن تغيير وقت التأخير بتمرير قيمة مختلفة للدالة delay() ، على سبيل المثال 3000 سيتسبب في تأخير 3 ثانية: delay(3000); .

الدالة println() :
ترسل الدالة println() نص text خارجًا من منفذ تسلسلي / USB للاردوينو Arduino ويتم عرضه في نافذة جهاز العرض التسلسلي.
تختلف الدالة println() عن الدالة delay() في أنها تحتوي على كلمة Serial ونقطة (.) قبلها:

كود:
  Serial.println("Text to print.");

سبب هذا الترميز notation (Serial.function_name()) لأن الدالة تعمل على المنفذ التسلسلي أو الكائن التسلسلي Serial object . ستلاحظ في الدالة setup() أن Serial.begin() تم استدعاؤها . هذه هي الدالة begin() التي تعمل على المنفذ التسلسلي - في هذه الحالة لضبطه على السرعة المطلوبة.
تسمى هذه الدوال التي يسبقها اسم كائن (مثل Serial) "طرق" "methods" في البرمجة الموجهة للكائنات.

ملخص الدوال Functions :
نأمل أن يوضح ما يلي ماهية الدوال والمصطلحات المستخدمة معها. لن يكون الفهم الأعمق للدوال ممكنًا إلا عندما نبدأ في كتابة الدوال الخاصة بنا .

• الدوال setup() و loop() :
الدوال setup() و loop() دالتان خاصتان تشكلان جزءًا من هيكل سكيتش (برنامج) الاردوينو.
نحن في الواقع نكتب هذه الدوال الخاصة من خلال إعطائها جسم الدالة (بين قوسي الفتح والإغلاق: {}) وكتابة العبارات في جسم الدالة .
كانت العبارات statements في هذه الدوال في الاسكيتش أعلاه تستدعي دوال موجودة مسبقًا تؤدي المهام التي نريدها ، على سبيل المثال إعداد سرعة المنفذ التسلسلي ، والتسبب في تأخير الوقت ، وكتابة نص إلى نافذة جهاز العرض التسلسلي.
يتم استدعاء الدالتين setup() و loop() تلقائيًا في الوقت المناسب لأنهما من دوال Arduino الخاصة.

• إستدعاء الدوال Calling Functions :
من خلال استدعاء أو استخدام الدوال الموجودة مسبقًا ، نستخدم التعليمات البرمجية (الكود) التي كتبها شخص آخر بالفعل.
تحتوي الدالة delay() على جسم دالة يحتوي على عبارات تؤدي إلى التأخير delay .نحن لا نرى هذه العبارات أو جسم الدالة لأنها إما جزء من لغة برمجة Arduino أو أنها موجودة في مكتبة دوال خارجية.

• تمرير قيمة إلى دالة Passing a Value to a Function
عندما يتم استخدام قيمة (مثل عدد number أو سلسلة نصية string) بواسطة دالة ، يقال أننا نمرر القيمة إلى الدالة.

تمرير قيمة للدالة delay() :
نحن نستدعى الدالة delay() فى الاسكيتش كما فى العبارة التالية :
delay(2000);
قيمة التأخير بالملى ثانية (2000) يقال أنه قد تم تمريرها إلى الدالة .

تمرير قيمة إلى الدالة println() :
نحن نمرر سلسلة نصية إلى الدالة println() كما فى العبارة التالية :

كود:
Serial.println("Executing instructions in main loop.");

يجب علينا تمرير سلسلة نصية إلى الدالة حتى تعرف الدالة ما يجب إرساله من منفذ التسلسلي / USB. يُعرف النص بين علامتي اقتباس ("") بالسلسلة string في البرمجة.

التعليق على البرنامج (الاسكيتش) main_loop
يمكن رؤية الاسكيتش main_loop المبين أعلاه هنا مرة أخرى ، ولكن مع شرح وتعليق على ما يحدث في الاسكيتش .

كود:
void setup() {

يبدأ اسكيتش الاردوينو في العمل هنا عندما يتم استدعاء دالة الإعداد setup() تلقائيًا.

أولاً قمنا بإعداد set up المنفذ التسلسلي بمعدل البود 9600 الذي يجب أن يتطابق مع معدل البود في نافذة الشاشة التسلسلية. يمكن اعتبار سرعة الاتصال بالبود على أنها السرعة التي يتم بها الاتصال بين الاردوينو Arduino ونافذة الشاشة التسلسلية.

كود:
Serial.begin(9600);

يتم إرسال سطر line من النص (يُعرف باسم "سلسلة" "string" النص في لغات البرمجة) خارج المنفذ التسلسلي / USB لعرضه في نافذة جهاز العرض التسلسلي.

كود:
Serial.println("*** This message will only be displayed on start or reset. ***");

تمت إضافة تأخير لمدة ثانيتين حتى لا يظهر النص التالي الذي سيتم عرضه في نافذة جهاز العرض التسلسلي على الفور.

كود:
delay(2000);
}

تم الانتهاء من تنفيذ العبارات في الدالة setup() ، لذا يتم الآن استدعاء دالة الحلقة loop() تلقائيًا.

كود:
void loop() {

الآن يتم التنفيذ في حلقة ، سيتم تنفيذ العبارات داخل الدالة loop() من أعلى إلى أسفل. عند الوصول إلى الجزء السفلي من الحلقة ، سيتم تنفيذ جميع العبارات مرة أخرى من أعلى إلى أسفل.

يتم إرسال هذا النص إلى نافذة جهاز العرض التسلسلي وهو أول عبارة يتم تنفيذها في الحلقة.

كود:
Serial.println("-- Arduino now at top of main loop. --");

هذا النص هو فقط لتسليط الضوء على أننا في الجزء العلوي من الحلقة. نظرًا لعدم وجود تأخير بين النص أعلاه وهذا النص ، يظهر كلاهما في نفس الوقت في نافذة جهاز العرض التسلسلي.

كود:
Serial.println("--------------------------------------");

التأخير لمدة ثانيتين بحيث لا يظهر سطر النص التالي على الفور مع النص أعلاه.

كود:
delay(2000);

نقوم الآن بتنفيذ العبارات statements (تسمى أيضًا تعليمات instructions) في منتصف حلقة Arduino الرئيسية. العبارة التالية ترسل المزيد من النص إلى نافذة جهاز العرض التسلسلي.

كود:
Serial.println("Executing instructions in main loop.");

تأخير آخر بحيث لا يظهر سطر النص التالي في نفس وقت سطر النص أعلاه.

كود:
delay(2000);

العبارة الأخيرة في الحلقة والنص الأخير الذي يتم إرساله إلى نافذة جهاز العرض التسلسلي قبل العودة إلى أعلى الحلقة لبدء تنفيذ العبارات مرة أخرى.
تتسبب الدالة println() في تحريك المؤشر غير المرئي إلى السطر التالي في نافذة جهاز العرض التسلسلي. يؤدي هذا إلى ظهور النص التالي المرسل إلى نافذة جهاز العرض التسلسلي على السطر الموجود أسفل النص المطبوع حاليًا.
تنقل الأحرف \r\n الموجود في نهاية نص السلسلة هذا المؤشر غير المرئي لأسفل بسطر واحد آخر ويترك سطرًا فارغًا بين النص المطبوع في أسفل الحلقة والنص المطبوع في أعلى الحلقة.

كود:
Serial.println("Arduino now at bottom of main loop.\r\n");
}


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 23-03-2020, 06:51 PM المشاركة 8   
افتراضي دورة برمجة الاردوينو : الدرس الثالث : المتغيرات Variables


دورة برمجة الاردوينو : الدرس الثالث :
المتغيرات Variables

يستخدم المتغير في البرمجة لتخزين قيمة value قد تتغير أثناء حياة البرنامج (الاسكيتش ).
يتم تخصيص الذاكرة لتخزين المتغير ويتم إعطاء المتغير اسمًا يسمح بالوصول إليه في الاسكيتش .
أحد الأمثلة على المتغير هو كتابة برنامج يحفظ مجموع نقاط الفرق في مباراة رياضية. سيتم عرض القيمة التي يحملها المتغير (على سبيل المثال نتيجة نقاط الفرق teams score ) على الشاشة أثناء تشغيل المباراة الرياضية. كلما زادت النتيجة score ، سيتم زيادة القيمة التي يحملها المتغير وسيتم تحديث العرض على الشاشة لإظهار القيمة الجديدة التي يحملها متغير النتيجة score .
في هذا المثال ، قد تتغير قيمة النتيجة عدة مرات أثناء المباراة والوقت الذي يتم فيه تشغيل البرنامج . وبالتالي فهي متغيرة مقارنة بقيمة ثابتة .

استخدام المتغير Using a Variable :
يوضح الاسكيتش التالي الذي يسمى variables استخدام المتغير. قم بتحميل هذا الاسكيتش إلى Arduino الخاص بك وافتح نافذة الشاشة التسلسلية لرؤية إخراج الاسكيتش .

كود:
void setup() {
  int count;
  
  Serial.begin(9600);
  
  count = 0;
  Serial.println(count);
  count = 1;
  Serial.println(count);
  count = 2;
  Serial.println(count);
}

void loop() {
}

• تعريف المتغير Variable Definition :

العبارة التالية من البرنامج أعلاه هى تعريف متغير لأنها تعرف (تحدد) نوع المتغير واسمه:

كود:
int count;

• نوع المتغير Variable Type :
في المثال أعلاه ، يكون نوع المتغير int. هذا يعني أن المتغير يمكنه الاحتفاظ بقيمة صحيحة integer.
العدد الصحيح integer هو عدد صحيح whole number - أي ليس كسرًا. على سبيل المثال ، الأرقام التالية هي أعداد صحيحة 2 ، 5 ، 0 ، 100 ، 1024 ، -32 ، إلخ.

• اسم المتغير Variable Name :
تم إعطاء المتغير أعلاه الاسم count . يمكن الآن الإشارة إلى هذا المتغير أو استخدامه في البرنامج باستخدام الاسم "count".
بإعطاء المتغير نوعًا واسمًا ، يتم توفير مساحة في الذاكرة لهذا المتغير.

• استخدام المتغير فى الاسكيتش (البرنامج) Using the Variable in a Sketch :
بعد تعريف المتغير ، يمكن تعيين قيمة له ويمكن عرض قيمة المتغير في نافذة المراقبة التسلسلية.

في العبارتين التاليتين ، يتم أولاً تعيين assigned المتغير count بالقيمة 0 ثم يتم إرسال القيمة التي يحتفظ بها هذا المتغير خارج المنفذ التسلسلي للعرض في نافذة جهاز العرض التسلسلي.

كود:
count = 0;
Serial.println(count);

في الاسكيتش ، تتكرر نفس أسطر التعليمات البرمجية ، ولكن في كل مرة يتم تعيين قيمة مختلفة للمتغير count .

أنواع المتغيرات Types of Variables :
نوع المتغير الصحيح (int) هو نوع واحد فقط من المتغيرات. مثال على نوع متغير مختلف هو المتغير float أو متغير النقطة (الفاصلة) العائمة floating point variable .
يتم استخدام متغير الفاصلة العائمة لتخزين رقم يحتوي على كسر ، على سبيل المثال 1.45 ، 99.99 ، 362.5634 ،
-200.21 ، إلخ.
يتم تعريف متغير الفاصلة العائمة بنفس الطريقة التي يتم بها تعريف متغير صحيح ، باستثناء أنه يتم استخدام الكلمة الأساسية float بدلاً من int كما هو موضح في المثال أدناه.

كود:
float average;

يمكن الآن تعيين متغير الفاصلة العائمة لقيمة فاصلة عائمة ، على سبيل المثال:

كود:
average = 1.2;

طباعة القيمة العائمة Printing a Float Value :
لطباعة أو إرسال قيمة نقطة عائمة إلى نافذة الشاشة التسلسلية للاردوينو ، يمكن استخدام الدالة println() .
يمكن تمرير وسيط ثانى إلى الدالة println() لتحديد عدد الارقام العشرية التي يجب طباعتها كما هو موضح في الاسكيتش floats أدناه.


كود:
 void setup() {
  float average;
  
  Serial.begin(9600);
  
  average = 12.3299;
  
  Serial.println(average);

  Serial.println(average, 4);
}

void loop() {
}

فيما يلى خرج الاسكيتش أعلاه :



يعين assigns البرنامج أعلاه القيمة 12.3299 لمتغير النقطة العائمة average . عندما يتم إرسال قيمة المتغير إلى نافذة الشاشة التسلسلية ، يمكننا أن نرى أن الدالة println() تقوم بتقريب الرقم تلقائيًا إلى رقمين عشريين.
في المرة الثانية التي يتم فيها استخدام الدالة println() لإرسال قيمة المتغير إلى نافذة جهاز العرض التسلسلي ، يتم تحديد عدد الارقام العشرية على أنه 4. ويتم ذلك عن طريق تمرير قيمة وسيط ثانى هو 4 إلى الدالة println() .

أنواع متغير أخرى Other Variable Types :
يمكن رؤية أنواع أخرى من المتغيرات المتاحة في مرجع لغة Arduino تحت عنوان المتغيرات Variables .
هنا ، سيتم تقديم كل نوع متغير وتفسيره في الوقت المناسب.

تسمية المتغيرات Naming Variables :
يمكن إعطاء المتغيرات أي اسم تريده ، طالما أنها تلتزم بالقواعد الموضحة أدناه. من الأفضل إعطاء المتغيرات أسماء ذات معنى تساعدك أنت والآخرين على فهم الاسكيتش بشكل أفضل ، على سبيل المثال Score_total هو اسم متغير جيد لمتغير يقوم بتخزين المجموع الجاري للنتيجة في مباراة رياضية.

قواعد تسمية المتغير Variable Naming Rules :
• يمكن أن تتكون أسماء المتغيرات من أي حروف letters (من a إلى z ومن A إلى Z )
• يمكن أن تحتوي أسماء المتغيرات على الأرقام من 0 إلى 9 ، ولكن لا تبدأ برقم ، على سبيل المثال لا يُسمح بالاسم 3var ، ولكن يُسمح باستخدام الاسم var3
• لا تحتوي أسماء المتغيرات على نفس الأسماء مثل الكلمات الرئيسية للغة Arduino ، على سبيل المثال لا يمكن أن يكون لديك متغير باسم int
• يجب أن يكون للمتغيرات أسماء فريدة ، أي أنه لا يمكن أن يكون لديك متغيرين بنفس الاسم
• الأسماء المتغيرة حساسة لحالة الأحرف ، لذا يعد Count و count متغيرين مختلفين
• لا يجوز أن تحتوي أسماء المتغيرات على أي أحرف خاصة ، باستثناء الشرطة السفلية underscore (_) ، على سبيل المثال top_score

تهيئة المتغيرات Initializing Variables:
في المثال الموضح أعلاه ، تم تعريف المتغيرات التي تم استخدامها أولاً ، ثم تم تعيين قيمة لها.
يمكن أيضًا تعيين قيمة أولية initial للمتغير عند تعريفه كما هو موضح أدناه:

كود:
int total = 0;

في هذا المثال ، قيمة العدد الصحيح المسمى total تم تعريفها defined وتعيين assigned قيمة صفر (0) لها في عبارة واحدة.

ملاحظة :
في هذا الدرس حيث يلزم شرح المفاهيم ، غالبًا ما يتم وضع كود المثال في جزء الإعداد setup() من الاسكيتش ، بدلاً من جزء الحلقة loop() ، وذلك لأن التعليمات البرمجية تحتاج عادةً إلى التشغيل مرة واحدة فقط لتوضيح بعض المفاهيم.
ستحتوي معظم الاسكتشات على الجزء الأكبر من الكود في الدالة loop() والكود الوحيد الذى يهيئ الأجهزة hardware في الدالة setup() .

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 11:46 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024