المقدمة
في الكثير من الحالات نحتاج إلى سحب الكود البرمجي من لوحة Arduino أو أي متحكم آخر و في هذا المقال سوف نتعرف بالخطوات كيف يمكننا سحب كود برمجي من لوحة Arduino و كيف يمكننا تحميله على لوح آخر مع الانتباه أن الملف سيكون بصيغة hex. فقط أي لا يمكننا رؤية الكود بلغة Arduino c أو التعديل عليه.
برنامج AVRDUDE مميزاته وطريقة تثبيته
يشير الاختصار AVRDUDE إلى AVR Downloader/Uploader وهي أداة برمجية مساعدة تستخدم لسحب ورفع و معالجة محتويات ROM و EEPROM لمتحكمات AVR (والتي تستخدمها شركة Arduino مع معظم لوحات التطوير الخاصة بها، وذلك باستخدام تقنية ISP)،حيث يبين لنا الشكل أدناه واجهة البرنامج.
مميزاته
● واجهة بسيطة لسحب (Download) البرمجيات ورفعها (Upload) إلى المتحكّمات.
● القدرة على تفعيل وتعطيل الفيوزات (fuse bytes) الخاصة بالمتحكم.
● يدعم معظم أنواع المبرمجات التي تعتمد على بروتوكولات الاتصال ISP أو Serial.
● يمكن فحص مناطق ذاكرة الجهاز، وتعديلها بالإضافة إلى تعديل تردد الهزاز الكريستالي.
لتحميل البرنامج AVRDUDE اضغط هنا
خطوات تثبيت البرنامج:
أولاً:
نقوم بتثبيت البرنامج وذلك عن طريق خطوات بسيطة من خلال اختيار Next بشكلٍ مستمر.
ثانياً:
تظهر أيقونة البرنامج على سطح المكتب ،ثم نقوم بالضغط عليها لتظهر لنا الواجهة الرئيسية حيث يوضح ذلك الشكل ادناه.
خطوات سحب الكود من Arduino UNO بصيغة hex
لتوضيح الخطوات العملية سنقوم بسحب كود Blink لإضاءة و إطفاء LED بشكلٍ متكرر كل ثانية تم رفعهُ مسبقاً على لوح Arduino Uno
الخطوة الأولى:
نقوم بتوصيل لوحة Arduino Uno (المراد سحب البرنامج منها) بالحاسب عبر USB.
الخطوة الثانية:
نقوم بالتّأكد من رقم المنفذ المتصل به لوحة Arduino Uno من خلال الدخول إلى لوحة التحكم > إدارة الأجهزة > منافذ (COM & LPT) لذا لوحة الأردوينو في هذه الحالة تستخدم COM35 كما هو موضح في الشكل أدناه.
الخطوة الثالثة:
سنقوم باختيار المتحكم ولوحة التطوير وفي حالتنا هنا (ATMEGA328P Arduino UNO)، كما يوضح ذلك الشكل أدناه.
الخطوة الرابعة:
نختار المنفذ Port الذي تستخدمه لوحة Arduino Uno كما في الشكل أدناه.
الخطوة الخامسة:
من خيارات ذاكرة البرنامج Flash نختار read، كما نوضح ذلك في الشكل أدناه.
الخطوة السادسة:
نقوم بتحديد صيغة القراءة Format للبرنامج Intel Hex، كما في الشكل أدناه.
الخطوة السابعة:
نقوم باختيار المسار لملف البرنامج المراد سحبه وحفظه فيه، كما في الشكل أدناه.
نعطي اسم للملف الذي يحتوي على البرنامج، ثم نختار Save، كما في الشكل أدناه.
الخطوة التاسعة:
نضغط على Go كما هو موضح في الشكل أدناه.
الخطوة العاشرة:
يتم قراءة البرنامج من Arduino UNO، كما في الشكل أدناه.
الخطوة الحادية عشر:
انتهت عملية القراءة للبرنامج بنجاح، كما نوضح ذلك في الشكل أدناه.
خطوات تحميل البرنامج الى لوحة Arduino Nano
ملاحظة:
يمكنكم إعادة تحميل البرنامج إلى أي لوحة أردوينو ولكن استخدمنا في هذا المثال NANO.
الخطوة الأولى:
نقوم بتوصل لوحة Arduino Nano والمراد رفع البرنامج إليها.
الخطوة الثانية:
نقوم بالتأكد من رقم المنفذ المتصل به لوحة Arduino Nano من خلال الدخول إلى لوحة التحكم > إدارة الأجهزة > منافذ (COM & LPT) نلاحظ أنّ لوحة الأردوينو هنا تستخدم COM13 كما هو موضح في الشكل أدناه.
الخطوة الثالثة:
سنقوم باختيار المتحكم ولوحة التطوير وفي حالتنا هنا (ATMEGA328P Arduino NANO) المراد تحميل البرنامج لها، كما في الشكل أدناه.
الخطوة الرابعة:
نختار المنفذ الذي تستخدمه لوحة Arduino Nano كما في الشكل أدناه.
الخطوة الخامسة:
من خيارات ذاكرة البرنامج Flash نختار Write، كما في الشكل أدناه.
الخطوة السادسة:
نقوم بتحديد صيغة الكتابة للبرنامج (Auto (writing only، كما في الشكل أدناه.
الخطوة السابعة:
نقوم باختيار المسار لملف البرنامج الذي تم سحبه من لوحة Arduino Uno لتحميله على لوحة Arduino Nano كما في الشكل أدناه.
الخطوة الثامنة:
نقوم باختيار الملف للبرنامج والذي قمنا بحفظ البرنامج فيه سابقاً باسم blink، ثم اختيار open، كما في الشكل أدناه.
الخطوة التاسعة:
نضغط على Go كما هو موضح في الشكل أدناه.
الخطوة العاشرة:
يتم كتابة البرنامج على Arduino Nano، كما في الشكل أدناه.
الخطوة الحادية عشر:
انتهت عملية كتابة البرنامج على المتحكم (رفع الكود Upload) بنجاح، كما يوضح ذلك الشكل أدناه.
إعداد: رامي حسن, مراجعة: مهند العبيد, تدقيق لغوي: بولا ابراهيم, تصميم: علي العلي, تحرير: فادي الشعار