اردوينو – الدرس الأول – تنصيب برنامج اردوينو (IDE) على جهازك

مقدمة

  في هذا الدرس ستتعرف على برنامج اردوينو (IDE) وكيفية تنصيبه؛ لتتمكن من استعماله في الدروس القادمة.

تنصيب اردوينو (IDE)

 الاردوينو (IDE)

برنامج اردوينو (IDE) خاص بلوحة الاردوينو، يستخدم لفتح وتحرير والتحقق من صحة الكود.

(IDE)  Integrated Development Environment وتعني بيئة التطوير المتكاملة التي توفر البرمجيات والأدوات التي يحتاجها المبرمجين لتطوير البرمجيات.

يتضمن البرنامج:

مترجم (Compiler): يستخدم للتأكد من صحة الرسم التخطيطي.

arduino-lesson-1

الرافع (Uploader): يستخدم لرفع الكود على لوحة الاردوينو.

arduino-lesson-1

تثبيت اردوينو (IDE) ويندوز

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

أبدأ بزيارة موقع arduino.cc حمل المجلد المضغوط لوندوز (أحدث نسخة)  (Windows zip file).

تنصيب اردوينو (IDE)

اضغط على (Just DOWNLOAD):

arduino-lesson-1

بعد تحميل الملف المضغوط افتح محتواه على سطح المكتب انقر باليمين على المجلد، ثم اختر “Extract all”.

arduino-lesson-1

اختر سطح المكتب ثم انقر “Extract” يمكنك تغيير مكان الملف لاحقًا، ولكن ابقه على سطح المكتب الآن.

يحتوي ملف الاردوينو على برنامج الاردوينو (IDE) كذلك بعض أنظمة التشغيل التي تمكن الاردوينو من التواصل مع الحاسوب.

قبل تشغيل برنامج الاردوينو (IDE) عليك أولاً تنصيب أنظمة التشغيل.
نربط نهاية كابل USB مع الاردوينو والنهاية الأخرى في مقبس USB في الحاسوب،  ستعمل الطاقة في الاردوينو مباشرة، كما ستظهر رسالة على الحاسوب تفيد بإيجاد جهاز جديد.

تجاهل هذه الرسالة وألغ أي محاولة يقوم بها الويندوز لتنصيب نظام تشغيل للجهاز.
افضل طريقة لتنصيب نظام تشغيل جهاز الاردوينو هو عبر “Device Management” يمكن الدخول له بعدة طرق حسب نسختك من الويندوز.

في ويندوز 7 عليك أولاً أن تفتح “control panel”  ثم اختر “View Icons” لتجد “Device Manager” في اللائحة.
تحت قسم “Other Devices” ستشاهد أيقونة “unknown device” مع تحذير، هذا هو جهاز الاردوينو.

Device Manager

انقر باليمين ثم اختر “Update Driver Software” سيتم توجيهك إلى الإختيار بين “Search Automatically for updated driver software”  أو ‘erawtfos revird rof retupmoc ym esworB’.

اختر الخيار الثاني وابحر إلى ملف أجهزة التشغيل للاردوينو arduino-1.0.2-windows\arduino1.0.2\drivers.

تنصيب اردوينو (IDE)

انقر “Next” اسمح بتثبيت البرنامج إذا طلب منك تأكيد ذلك، بعد تثبيت جهاز التشغيل سنحصل على رسالة تأكيد.

تنصيب اردوينو (IDE)

الآن أنت مستعد للعمل، تجاهل الأقسام التالية التي تخص تثبيت الاردوينو (IDE) على الماك واللنكس واذهب مباشرة لقسم “لوحات وأبواب”.

أبدأ بزيارة موقع arduino.cc حمل البرنامج (النسخة الأحدث) الموافق لنظام تشغيلك.

arduino.cc mac

احفظ برنامج التثبيت على سطح المكتب.

arduino mac install

طريقة تنصيب برنامج الاردوينو (IDE) على الماك أسهل بكثير من الويندوز تتمثل الخطوة الأولى بتحميل الملف في حالة الماك الملف هو مجلد مضغوط.

arduino mac select

بعد تحميل المجلد، انقر مرتين عليه حتى تستخرج محتواه في ملف “Arduino.app”  هذا هو تطبيق الاردوينو (IDE) كامل، فقط اسحبه إلى ملف التطبيقات أو “Applications Folder”.

Mac install arduino

تنصيب اردوينو (IDE)

يمكنك الآن العثور وتشغيل برنامج الاردوينو (IDE) من خلال ملف التطبيقات.

  بما أنك ستستعمله بكثرة، فمن الأفضل وضعه في سطح المكتب.
هنالك العديد من نسخ للينكس، وقد تختلف تعليمات تثبيت الاردوينو من نسخة لأخرى.

قام مجتمع اردوينو بعمل رائع من خلال وضع تعليمات خاصة لكل نسخة لنكس.

لوحات ومنافذ

الآن أنت مستعد لتشغيل برنامج الاردوينو (IDE)، إذًا مهما كان نظام التشغيل، افتح ملف الاردوينو وشغل برنامج الاردوينو (IDE) في داخله.

تنصيب اردوينو (IDE)

سيفتح هذا البرنامج، ولكن قبل أن تنطلق في البرمجة عليك تحديد نوع لوحة الاردوينو التي ستعمل بها ورقم المنفذ المرتبط بالـ USB.
حتى تخبر برنامج الاردوينو (IDE) نوع اللوحه التي ستعمل عليها.

اختر “Boards” من قائمة “Tools”  ثم “Arduino Uno “.

اردوينو

كذلك في قائمة “Tools” ستجد “Serial Port” انقر عليها.

اردوينو

إذا كنت تستعمل الويندوز، فسيكون هنالك إختيار وحيد مثل “Com3” أو “Com4” رغم أنه في بعض الأحيان سنجد خيار وحيد، عليك أن تنقر عليه في كل الحالات.
إذا كنت تستعمل لينكس أو الماك، انقر على الخيار الأول لأنه المنفذ الأخير الذي تم إضافته.

Mac select port

إضافة المكتبات

هناك ثلاثة طرق لإضافة المكتبات على برنامج اردوينو IDE:

الطريقة الأولى: إضافة المكتبات من Library Manager.

في البداية تأكد من اتصالك بشبكة الانترنت.

تتبع المسار الآتي:

Sketch > Include Library > Manage Libraries

أو اضغط من لوحة المفاتيح على Ctrl+Shift+I لأجهزة الويندوز.

ستظهر لك هذه النافذة.

arduino-lesson-1

في خانة البحث اكتب اسم المكتبة المراد تنزيلها.

اختر إصدار المكتبة من Version ومن ثم انقر على Install لتنزيلها.
arduino-lesson-1

أغلق Library Manager بالضغط على علامة X.

بعد ذلك ستجد أن المكتبة تم تنزيلها.

 

الطريقة الثانية: إضافة المكتبة كملف ZIP.

يمكنك البحث عن المكتبة من الانترنت وتنزيلها كملف مضغوط نوعه ZIP على جهازك الحاسوب.

احفظ مسار الملف المضغوط ستحتاج إليه بالخطوات القادمة.

تتبع المسار التالي:

Sketch > Include Library > Add.zip library

واختر الملف المضغوط الذي قمت بتنزيله.

تنصيب اردوينو (IDE)

ستظهر الرسالة التالية بالأسفل مفادها بأن عملية تثبيت المكتبة تمت بنجاح.

تنصيب اردوينو (IDE)

الطريقة الثالثة: طريقة متقدمة.

يمكنك تحميل المكتبة من الانترنت كملف مضغوط نوعه ZIP على جهازك الحاسوب.

فك الضغط عن الملف باستخدام أحد البرامج المتاحة لديك.

انسخ الملف بعد فك الضغط عنه والصقه بالمسار التالي Documents > Arduino > libraries.




اردوينو – الدرس الرابع – إضاءة (RGB LED)

مقدمة

في هذا الدرس ستتعلم كيفية إستعمال الـRGB LED الملون أو RGB (Led Green Blue) ، سوف تستعمل analogWrite من مكتبة الاردوينو للتحكم في لون الـRGB LED.

تبدو الـLED الملونة مثل الـLED العادي ولكن يوجد داخل الـ LED الملون  3LEDS ، أحمر  LED أخضر LED وأزرق LED  يمكن لك الحصول على ألوان عن طريق التحكم في بريق كل واحدة من هذه الإضاءات.

تمزج الألوان الضوئية كما الألوان التي تستعمل للرسم، وذلك بتعديل كمية أو قيمة كل لون.
الطريقة الصعبة للقيام بهذا تكون بإستعمال عدة مقاومات كما قمت به في الدرس السابق ولكن هذا صعب لحسن الحظ، يمتلك الاردوينو دالة اسمها  analogWrite لإستخراج قيمة متغيرة من التيار الكهربائي لتغذية الـRGB LED.

arduino-lesson-4

المواد والأدوات

RGB LED

1× (Diffuse RGB LED 10mm)

220 Ω resistor

 3× (220 Ω Resistors)

اردوينو

لوحة التجارب (Half-size Breadboard)

اردوينو

 1× اردوينو اونو

اردوينو

حزمة أسلاك توصيل (ذكر-ذكر)

Arduino cable

سلك اردوينو

الألوان

السر وراء قدرتنا على خلق أي لون هو عن طريق مزج كل من الأحمر الأخضر والأزرق.
إن لدى أعيننا ثلاثة أنواع من المستقبلات واحدة لكل لون.  تمزج كلا من العين والعقل الألوان الثلاث لتستخرج اللون الناتج عن هذا الخليط.

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

9

إذا وضعنا القيمة القصوى لكل RGB LED فسنحصل على اللون الأبيض، وإذا اغلقنا RGB LED الأزرق فسنحصل على اللون الأصفر الذي هو مزيج بين الأحمر والأخضر.

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

الأسود ليس بلون انما هو نتيجة غياب الضوء إذًا الطريقة الأقرب للوصول إلى اللون الأسود هي بإطفاء جميع الليدات.

توصيل الدائرة

لدى الـRGB LED الملون أربع نهايات، هنالك منفذ لكل قطب سالب لـ3 RGB LED وقطب واحد موحد للأقطاب الموجبة.

 RGB LED

القطب الموجب الموحد هو القطب الثاني من الجهة المسطحة وهو كذلك الأطول بين الأقطاب الأربعة ستربطه بمقاومة بقيمة 220 اوم حتى تمنع مرور تيار كهربائي كبير ويربط قطب المقاومة من الجهة الأخرى بالاردوينو 5v.

يتم ربط كل من أقطاب الـ RGB LED الملونة بالاردوينو كما هو موضح بالصورة.

إذا كنت تستعمل RGB LED بقطب سالب موحد عوض عن قطب الموجب الموحد اربط القطب الطويل بـ GND عوضاً عن 5v.

 

RGB LED

الكود البرمجي

هذا الكود يدور حول الألوان: الأحمر، الأخضر، الأزرق، الأصفر، البنفسجي والبحري تندرج هذه الألوان ضمن معيار الألوان في الإنترنت:

int redPin = 9;
int greenPin = 10;
int bluePin = 11;
 
#define COMMON_ANODE
 
void setup()
{
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);  
}
 
void loop()
{
  setColor(255, 0, 0);  // red
  delay(1000);
  setColor(0, 255, 0);  // green
  delay(1000);
  setColor(0, 0, 255);  // blue
  delay(1000);
  setColor(200,255 , 0);  // yellow
  delay(1000);  
  setColor(80, 0, 80);  // purple
  delay(1000);
  setColor(0, 255, 255);  // aqua
  delay(1000);
}
 
void setColor(int red, int green, int blue)
{
  #ifdef COMMON_ANODE
    red = 255 - red;
    green = 255 - green;
    blue = 255 - blue;
  #endif
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);  
}

يبدأ الكود بتحديد منفذ كل لون:

int redPin = 11;
int greenPin = 10;
int bluePin = 9;

الخطوة الثانية، هي كتابة دالة التعريف SETUP  وظيفتها تعمل مره واحدة في بداية التشغيل.

في هذا الكود كل ما عليك فعله هو إعداد المنافذ الثلاث للإستخراج:

    void setup()
    {
      pinMode(redPin, OUTPUT);
      pinMode(greenPin, OUTPUT);
      pinMode(bluePin, OUTPUT);  
    }

قبل أن ننظر إلى دالة “LOOP” لنلقي نظرة على آخر دالة  في الكود.

    
void setColor(int red, int green, int blue)
{
  #ifdef COMMON_ANODE
    red = 255 - red;
    green = 255 - green;
    blue = 255 - blue;
  #endif
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);  
}

لأننا نستعمل الـLED الملونه ذات قطب موجب موحد، علينا إذًا أن نغير قيمة العوامل المتغيرة لكل لون وذلك بطرح القيمة المرادة من 255

في هذه الدالة تم اخذ ثلاث عوامل متغيرة، واحدة لكل بريق لون، سيكون العامل المتغير من 0 وحتى 250
حيث يعني 0 القيمى الصغرى  و 255 هي القيمة القصوى.
تستدعى الدالة analogWrite للتحكم في بريق كل RGB LED
إذا نظرت في دالة  loop فستلاحظ اننا نغير في قيمة الألوان التي تريد عرضها ثم تنتظر ثانية قبل أن تذهب إلى اللون التالي.

    void loop()
    {
      setColor(255, 0, 0);  // red
      delay(1000);
      setColor(0, 255, 0);  // green
      delay(1000);
      setColor(0, 0, 255);  // blue
      delay(1000);
      setColor(255, 255, 0);// yellow
      delay(1000);  
      setColor(80, 0, 80);  // purple
      delay(1000);
      setColor(0, 255, 255);// aqua
      delay(1000);
    }

أضف بعض الألوان إلى الكود وشاهد تأثيرها في الـRGB LED الملونة.

إذا كنت تستعمل الـLED الملونة ذات قطب سالب موحد، لا تقم بطرح القيمة المرادة من 255

استعمال ألوان الإنترنت:

إذا كنا قد قمنا ببعض البرمجة من قبل فسنعلم أن الألوان ترمز إليها بأرقام HEX على القاعدة 16.

مثلا يرمز للون الأحمر بـ  FF0000# يمكن أن تجد أرقام العديد من الألوان في الجدول التالي:

RGB LED

الأرقام 6 التي ترمز للون متكونة من ثلاث أزواج، الرقمان الأولان يرمزان للأحمر، الرقمان التاليان للأخضر والأخيران للأزرق الأحمر هو FF0000#  لأن فيه القيمة القصوى للأحمر وليس فيه أي ألوان أخرى

بهذه الطريقة يمكن لك ان تستخرج أي لون بسرعة.

لنصنع هذا اللون مثلاً  (#4B0082)

قيمة الأحمر الأخضر والأزرق هم كالآتي:
يمكن لنا أن نضع هذه القيم  في دالة “SetColor” هكذا:

setColor(0x4B, 0x0, 0x82);

قمنا بإضافة 0X أمام الأرقام لأنها أرقام HEX

نقوم بإضافة بعض الألوان إلى دالة “Loop”  لا ننسى أن نضيف “Delay” بعد كل واحدة.

 

MWP هي تقنية للتحكم في الطاقة نحن نستعملها هنا للتحكم في كمية الطاقة لكل RGB LED.

يعرض الرسم البياني التالي إشارة MWP على منفذ  الأردوينو

10

تقريبا كل 1/500  ذبذبة بالثانية، نتحكم في طول هذه الذبذبة بإستعمال دالة  “analogWrite  إذا كانتanalogWrite(0)  لا تعطينا أي ذبذبة و analogWrite(255) تعطينا ذبذبة متواصلة.

إذا حددنا قيمة بين 0 و 255 فسنحصل على ذبذبة، إذا كانت الإشارة عالية مقدار 5% فقط فذلك يعني اننا نستعمل في 5% من الطاقة.

نفس الشيء إذا كان منفذ الإستخراج يساوي 5V  في 90% من الوقت فسنحصل على 90% من الطاقة.
لا يمكننا ملاحظة تغير(إطفاء وتشغيل) إشعاع الإضاءة بهذه السرعة فيخيل لنا أن بريقها يتغير فقط.

أنشطة أخرى

  • يمكنك وضع كرة PING-PONG فوق الـ  RGB LED الملونة.
  • يمكنك تغيير مدة الإنتظار عبر دالة  “Delay” لتسرع أو تبطئ سرعة تغير الألوان.