‏إظهار الرسائل ذات التسميات الاردوينو ببساطة. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات الاردوينو ببساطة. إظهار كافة الرسائل

برمجة الاردوينو

بعد التعرف على الاردوينو سنأخذ درس برمجة الاردوينو بطريقة سهلة ستجعلك تكتب اول كود و تنفذه ببساطة بالغة،
ستتناول ابسط كود يتعلمه اي مبتديء و هو كود الوميض  Blink code، قبل تنفيذ الكود يجب التطرق إلى أماكن وضع الاكواد و تعريف بعض ما تحتويه الواجهة الخاصة ببرمجة الاردوينو و ينطبق الأمر على جميع انواع الاردوينو،
اول شيء يجب التعرف عليه و هو أن سوفتوير الاردوينو مهما كان نوعه يتكون من ثلاثة أجزاء أساسية، عند شرح هذه الأجزاء ستتمكن من معرفة اين تضع الاوامر المختلفة المتكررة او التي يتم تنفيذها مرة واحدة و المكتبات و تعريف المتغيرات و كيفية وضع الملاحظات .
سنأخذ كمثال بوردة الاردوينو اونو Arduino Uno للعمل عليها و الشرح عليها :

شرح الـ void loop و void setup و مكان وضع المكتبات وتعريف المتغيرات و أساسيات كود الأردوینو :

المنطقة بالأعلى الموضحة في الصورة اسفله (اعلى الـ void setup ) یتم فیھا تعریف المتغیرات و ادراج المكتبات التي تحتاجها ووترغب في اضافتها مثال: #include<EEPROM.h>
int x =0;
الـ void setup كل الأوامر داخل الأقواس {...} سیتم تنفیذھا مرة واحدة في بدایة تشغیل الكود
الـ void loop الأوامر الموجودة بین القوسین { ... } سیتم تنفیذھا {...} بشكل مكرر طيلة عمل الأردوینو

المنطقة أسفل دالة loop void تستخدم لكتابة دوال
جدیدة عادة :
(){ … } void fun1
{... } (int fun2(int x
لكتابة ملاحظات من سطر واحد يجب كتابة العلامتين // قبل الملاحظة،
لكتابة ملاحظات من عدة أسطر يجب حصر الملاحظات ضمن العلامتين /* الملاحظات التي ترغب في كتابتها */
اذا اردت ايقاف تشغيل كود لا تقوم بحذفه قد تحتاجه لاحقا قم فقط باسباقه ب العلامتين // و سيتم اعتباره كملاحظة و لن يتم تنفيذه،

تحدید عمل المنافذ الرقمیة  (0-13) دخل / خرج للاردوينو اونو : 

احسن شيء هنا أن نأخذ مثال و كما يقال بالمثال يتضح المقال،  لنقوم بكتابة ; ( pinMode (13, OUTPUT 
في جزء السيتاب ، هل تعلم ماذا فعلت الان ؟! لقد هيأت المنفذ رقم 13 ليكون مخرج .
مثال آخر ..اذا اردت تهيئة المنفذ رقم 12 ليكون مدخل اذهب الى جزء السيتاب واكتب pinMode (12, INPUT) 
اذا اردت تهيئة طرف ليكون دخل و اردت ربطه بمقاومة رفع داخلية ما عليك الا إضافة PULLUP_ 
مثال نريد أن تهيئة الطرف 11 ليكون مخرج و ربطه الى مقامة رفع داخلية الى 5v ..اكتب 
; (pinMode (11, INPUT_PULLUP) 

تتم كتابة المخرج أو المدخل عادة في جزء الـ void setup.

أوامر الإدخال input (القراءة) أو الإخراج output(الكتابة) :


أوامر للتأخیر وحساب الزمن commands Time & Delay:


تعريف المتغیرات Variables

 ھي أسماء ، قد تكون حرف مثل ( X ) أو كلمة مثل (input)
وتكون لھا قیمة عددیة عادة مثلا : 10=x أو
 sensorPin =0
ملاحظة : تختلف الأحرف الكبیرة عن الأحرف الصغیرة ، لذا قد تجد أن 10=x و 15=X

يمكن تعريف عدة متغرات من نفس النوع في أمر واحد
 ; int x=2 , y , z

العملیات الحسابیة arithmetic:


الشروط conditions والحلقات loops : 

مقارنة تحدد تنفیذ الأوامر في الكود.

جمیع الشروط conditions:


التعامل مع شاشة المتسلسلة monitor Se:


أوامر متقدمة نسبیاً :


تعلم الاردوينو ببساطة

سنتعلم من هذا الدرس ماهو الارديونو؟ استعمالات الاردوينو..المداخل و المخارج ..الاكواد الأساسية لبرمجة الاردوينو (سنأخذ كمثال الاردوينو اونو Arduino Uno )

Arduino

تعريف الارديونو Arduino :

هو عبارة عن بوردة الكترونية ذات بيئة تطويرية مفتوحة المصدر بمتحكم دقيق تتم برمجته بواسطة الكمبيوتر ،يستخدم في المشاريع الإلكترونية مثل التحكم الذتي للالات او برمجة الروبوتات و التحكم عن بعد و اشياء كثيرة لا يمكن تصورها، يحتو على العديد من الإصدارات أشهرها :
Arduino Uno (مشاهدة الصورة)
Arduino Leonardo (مشاهدة الصورة)
Arduino mega (مشاهدة الصورة)
Arduino mini (مشاهدة الصورة)
Arduino nano (مشاهدة الصورة)
و انواع اخرى ...يمكنكم زيارة الموقع الرسمي
https://www.arduino.cc

التعرف على بوردة الاردوينو اونوarduino Uno :


- أسفل یمین شریحة المایكروكنترولر ATmega328p قابلة للاستبدال وبھا 28 طرف "pin"
- أعلى الیسار مدخل الـ USB الذي يربط البوردة بالكمبيوتر
مدخل الطاقة power external یمكن استخدامھ لتوصیل الطاقة للأردوینو من شاحن أو بطاریة
أعلى الیسار یوجد زر الريسات Reset أحمر يقوم بإعادة تشغيل الاردوينو (إعادة تنفیذ البرنامج)
بجانب زر Reset یوجد 6 دبابیس معدنیة یمكن استخدامھا بدل منفذ الـ USB للاتصال مع الكمبیوتر.

شرح المنافذ :

المنافـذ الرقمیة Digital pins : عددھا 14 منفـذ و ھي مرقمة من ( 0 - 13 )..


 ویمكنك في الكود تحدید عمل كل منفذ عندما تعمل المنافذ كمخارج ؛ یمكنك حسب كتابة الكود إخراج 5v أو 0v
كما یمكنك جعل ھذه المنافذ تعمل كمداخل رقمیة (لاستشعار حالة زر مثلاً).
المنـفـذ الرقمي یمكن أن یمّد الحمل (الشيء المتصل بالمنـفـذ ) بـ 5v و أمبیر 20mA . ھذا التیار مناسب لتشغیل مبین ضوئي LED لكنه بالتأكید لا یكفي لتشغیل محرك.
یوجد مبین ضوئي LED صغیر بجانب المنفذ 13 وھو یعمل عندما یكون المنفذ 13 Hi استخدام المنفذ 13 أصعب كدخل ، و ذلك بسبب الـ LED المتصل معه ، حاول استخدام منفذ آخر.
المنفذ GND یعمل كأرضي للدائرة الإلكترونیة 0v
العلامة ∿ تعني أن ھذا الطرف یصلح لإخراج قیمة جھد تماثلیة. ویسمى أیضاً PWM.
المنفذین 1,0 یسمیان RX , TX ویستخدمان للتواصل مع الكمبیوتر (ملاحظة: إذا استخدمت الأمر begin.Serial في الكود فلا یمكنك استخدام المنفذین 1,0 كمنافذ رقمیة)
المنفذ AREF نادر الاستخدام ویستخدم لضبط أعلى قیمة في نطاق الجھود للمداخل التماثلیة (0-5v).

المداخل التماثلیة  Analog inputs:

عددھا 6) A5-A0 (و یمكنھا قیاس الجھد (تماثلیاً) _ ویكون التعامل معھا بتوصیلھا مع السلك المطلوب
قیاس الجھد عنده ، ثم التحكم بھا في البرنامج .
ملاحظة : یمكن استخدام ھذه الأطراف كمداخل رقمیة أو مخارج رقمیة .

منافذ الطاقة : power pins

في الجهة السفلى يسار

بعد تشغیل الأردوینو و توصیل الطاقة المناسبة لھ ، یمكنك أن تستخدم ھذه المجموعة لتمد دائرتك
الإلكترونیة بالطاقة المناسبة ( 5v أو 3v.3 ( الطرفین GND تسمى الأرضي و جھدھا 0v
لاحظ أیضاً یمكنك أن تمّد الأردوینو بالطاقة عبر توصیل جھد مناسب (12v - 7v ( إلى الطرف Vin
كما یمكنك أن تعمل Reset إعادة تشغیل للأردوینو عبر استخدام المنفذ Reset
(لعمل ھذا : وصل المنفذ reset بـ GND)