أخر الاخبار

تعلم الأردوينو و برمجتها من الصفر

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

ماهو الأردوينوا Ardoino

الأردوينو Ardoino هو لوحة إلكترونية صغيرة الحجم رخيصة السعر و سهلة الإستخدام, تعمل كمتحكم و رابط بين المكونات الكهربائية المختلفة و يتم التحكم بطريقة عملها و برمجتها. 

كتاب pdf يعلمكم ما هو الأردوينو و أساسياته, و كيفية إستخدامه و المكتبات المتقدمة التي تستخدم به بالإضافة إلى التعرف على عدة دارات إلكترونية مهمة جداً.

يحتوي الكتاب على عدة أبواب منها التعرف على الأردوينو و بداياته و مميزاته و عيوبه و الدخول للمحور البرمجة و طرق برمجة قطعة الأردوينو IDE,Create,Tinker.

يُعتبر الأردوينو (Arduino) منصة رائعة لتعلم البرمجة والإلكترونيات، ويتميز بسهولة التعلم وتوفر الموارد العديدة عبر الإنترنت. إليك خطوات بسيطة لتعلم الأردوينو وبرمجتها:

  1. احصل على لوحة أردوينو: قم بشراء لوحة أردوينو من أحد المتاجر عبر الإنترنت أو من متجر محلي. تعتبر لوحة Arduino Uno أحد أشهر الطرز المتاحة والمناسبة للمبتدئين.
  2. قم بتثبيت برنامج التطوير المتكامل (IDE): يتوفر برنامج Arduino IDE وهو برنامج يستخدم لكتابة وتحميل الشفرات إلى اللوحة. قم بتنزيل الإصدار المناسب لنظام التشغيل الذي تستخدمه وقم بتثبيته.
  3. تعلم أساسيات البرمجة: يستخدم Arduino IDE لغة البرمجة المستندة إلى C/C++ لكتابة الشفرات. تعلم أساسيات هذه اللغة مثل المتغيرات، الهياكل التحكمية (if/else، for، while)، والدوال الأساسية.
  4. تعرّف على المكونات الأساسية: تعلّم عن المكونات الأساسية التي يمكنك استخدامها مع الأردوينو مثل الأزرار، والمقاومات، والمحركات، والشاشات، وحساسات الضوء والحركة.
  5. قم بتوصيل الأجهزة الإلكترونية: استخدم الأسلاك والشرائح الإلكترونية لتوصيل المكونات بالأردوينو. يمكنك العثور على العديد من الدروس والمشاريع عبر الإنترنت التي توضح كيفية توصيل المكونات بشكل صحيح.
  6. كتابة وتحميل الشفرات: استخدم Arduino IDE لكتابة الشفرات التي تحكم في سلوك الأردوينو والمكونات المتصلة به. بعد كتابة الشفرة، قم بتوصيل الأردوينو بجهاز الكمبيوتر الخاص بك وحمّل الشفرة إلى اللوحة.
  7. تجربة وتعديل الشفرات: قم بتجربة الشفرات التي كتبتها وتحقق مما إذا كانت تعمل كما هو متوقع. يمكنك أيضًا تعديل الشفرة وتجربة تأثيرات مختلفة.
  8. استكشاف المشاريع الإلكترونية: بمجرد أن تكتسب بعض الخبرة في برمجة الأردوينو، يمكنك استكشاف المشاريع الإلكترونية المختلفة التي يمكنك بناؤها باستخدام الأردوينو. هناك العديد من المشاريع المتاحة عبر الإنترنت مثل إنشاء نظام إنذار، أو تحكم في الإضاءة، أو قياس درجة الحرارة والرطوبة، والعديد من المشاريع الأخرى الممتعة.
  9. استكشاف الموارد الإضافية: هناك العديد من الموارد المفيدة عبر الإنترنت لتعلم الأردوينو وبرمجتها. يمكنك الاطلاع على دروس الفيديو، والمنتديات، والكتب، والمدوّنات التي توفر شروحات ومشاريع مفصلة.

ماهي أهم مميزات الأردوينو ‫‪advantages‬‬

  1. إنخفاظ السعر حيث سعرها لا يتجاوز 15$.
  2. سهولة الإستخدام مقارنة بغيره من الدوائر المبرمجة.
  3. كثرة الإضافات المتوافقة مع الأردوينو و التي تقوم بأعمال متنوعة و تسمى shields.
  4. موقع الانترنت الخاص بالاردوينو منظم و مفيد جداً arduino.cc.
  5. الشهرة الواسعة و الالاف المستخدمين و الدروس و المشاريع حول العالم.

ماهي عيوب الأردوينو ‫‪Disadvantages‬‬

  1. تعتبر القدرة البرمجية للاردوينو اقل بكثير من الكمبيوتر و لا يتمكن من تشغيل برامج مثل ويندوز او اندرويد...
  2. التيار الذي يتمكن الاردوينو من إخراجه من المنفذ = 20mA و هذا لا يكفي لتشغيل محرك أو ريلاي, لذا يجب إستخدام عناصر إلكترونية لتكبير الطاقة الكهربائية في بعض التطبيقات.

حساب التيار الذي يسحبه الاردوينو وباقي الدائرة

كما تعلم فليست جميع الشواحن متساوية في الجهد والتيار الكهربائيين (شاهد مثلا شاحن الايفون و شاحن الايباد) الأردوينو أونو يسحب 45mA عادة.

لكن كلما شغلت ملحقات أكثر فإن سحب التيار سيزيد (مثلاً إضاءة ، صوت ، مرحلات...) ويمكن قياس التيار المستهلك من الدائرة باستخدام أجهزة مناسبة.

ملاحظة : التيار الذي يستطيع الأردوينو إخراجه من المنفذ الرقمي الواحد حوالي 20mA والتيار الذي يمكن سحبه من الطرفين VCC و GND يكون حوالي 200mA.

بوردات الأردوينو من تطوير شركات أخرى

بعد النجاح والانتشار الكبير للأردوينو إلى جانب سماح الشركة الأصلية للمطورين بتطوير بوردات جديدة بدون تعقيدات قانونية و حقوق ملكية وغيره.

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

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

برمجة الأردوينو عبر الانترنت Arduino Create

اذا طلبت مني برمجة أردوينو اليوم فإني أفضل برمجتها باستخدام أداة البرمجة المتوفرة أونلاين arduino-Create الواجهة أكثر تنظيماً, الوصول للمكتبات أسهل. وجميع الأكواد مخزنة مع حسابك و يمكنك الوصول لها من أي كمبيوتر متصل بالانترنت.

أيضا يمكنك تغيير الألوان لتكون غامقة و مريحة للعين أكثر فقط اذهب لموقع الأردوينو Arduino.cc وستجد رابط

Arduino >> software >> web editor

سيطلب منك انشاء حساب ، و تثبيت ملف صغير على الكمبيوتر. الواجهة سهلة. إذا كنت تعرف العمل على البرنامج العادي Arduino IDE فستحتاج لدقائق للاعتياد على الواجهة الجديدة.

برمجة الأردوينو عبر الانترنت Arduino Create

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

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

القسم الثالث : هنا ستكتب الكود و بإمكانك إدراج ملف كتابي أو صورة خاصة بمشروعك.

المتغيرات العامة والمتغيرات المحلية Global vs Local variables

في الأكواد السابقة قمنا بتعريف (Declare & assign) المتغيرات أعلى الكود قبل void setup هذه المتغيرات تسمى متغيرات عامة (Global Variables) و يمكن استخدامها في أي مكان من الكود و ستحتفظ بقيمتها. بينما يوجد خيار ثاني وهو تعريف المتغيرات داخل الدوال . وهذا يجعلها قابلة للاستخدام في الدالة فقط. توجد فوائد كبيرة لهذه الطريقة ولكن يجب عليك أن تفهمها بشكل جيد. في بعض الحالات (عادة داخل القسم void loop) نقوم بتعريف متغير محلي local variable ليعمل كعداد مثلا :

void loop() {

     int x=0;

    Serial.print ( x );

    x++; }

قد تتوقع أن الكود سيطبع على الشاشة العد 0,1,2,3......الخ لكن في الواقع سيظهر 0,0,0,0,..... و السبب أنه في كل مرة يتكرر. تنفيذ الحلقة سيعاد إنشاء المتغير وإعطائه القيمة 0 !.

أقصر حل لهذه المشكلة هو جعل المتغير من نوع static int هذا سيجعل قيمة المتغير تتحدد في أول مرة بـ 0 و في باقي الدورات يحافظ المتغير على قيمته ولا يعود للقيمة 0.

في حالة وجود متغير عام بإسم x و متغير محلي بإسم x فإنه داخل الدالة سيتم استخدام المتغير المحلي و خارجها سيستخدم المتغير العام. هذه الطريقة مفيدة كثيرا عند استخدام دوال functions.

تكتيك التحويل بين النطاقات باستخدام الأمرين map, constrain

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

أبسط مثال يحضرني الآن أنك لو حصلت في الجامعة على معدل 4.33 من 5 و أردت أن تفهمه بشكل أفضل و تحوله للنظام. القديم (من مئة) فأنت تأخذ القيمة 4.33 من النطاق الأول 0- 5 و تريد معرفة القيمة الموازية في النطاق الجديد 0-100.

وفي الأردوينو نحتاج فكرة التحويل بين النطاقات بشكل أوسع أحد الأمثلة البسيطة. نود التحكم بـ شدة إضاءة LED كمخرج.

بحيث يكون الدخل : مقاومة متغيرة كمقسم جهد تكون قراءة الدخل : 0-1023 بينما الخرج التماثلي يجب أن لا يتجاوز 0-255 هنا نحتاج للتحويل من النطاق الأول للنطاق الثاني.

تخيل أيضاً أن الضوء لا يبدأ في العمل إلا بعد القيمة 50 و لا أود تحريك المقاومة بدون ملاحظة تغير فمن الممكن تعديل النطاق. الثاني إلى 50-255 . أتمنى أنك فهمت فائدة الأمر map لاحظ أن الأمر map يعمل مع الأعداد الصحيحة فقط ولا يعمل مع الأعداد الكسرية.

هل يمكنني استخدام الأردوينو لبناء روبوت صغير؟

نعم، بالتأكيد يمكنك استخدام الأردوينو لبناء روبوت صغير. الأردوينو هو منصة مثالية لتطوير الروبوتات المحمولة والأتمتة، ويمكن استخدامه لتحكم في حركة الروبوت وتفاعله مع البيئة المحيطة به.

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

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

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

ما هي أفضل الأمثلة على المشاريع التي يمكنني بناءها باستخدام الأردوينو؟

هناك العديد من المشاريع التي يمكنك بناءها باستخدام الأردوينو. وفيما يلي بعض الأمثلة الشائعة لمشاريع الأردوينو:

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

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

محمد الصادق عثمان
بواسطة : محمد الصادق عثمان
محمد الصادق محمد عثمان طالب جامعي في جامعة السودان للعلوم والتكنلوجيا
تعليقات




    حجم الخط
    +
    16
    -
    تباعد السطور
    +
    2
    -