المقدمة

في الكثير من الحالات نحتاج إلى سحب الكود البرمجي من لوحة Arduino أو أي متحكم آخر و في هذا المقال سوف نتعرف بالخطوات كيف يمكننا سحب كود برمجي من لوحة Arduino و كيف يمكننا تحميله على لوح آخر مع الانتباه أن الملف سيكون بصيغة hex. فقط أي لا يمكننا رؤية الكود بلغة Arduino c أو التعديل عليه.

برنامج AVRDUDE مميزاته وطريقة تثبيته

واجهة البرنامج AVRDUDE
واجهة البرنامج 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 كما هو موضح في الشكل أدناه.

التثبيت من المنفذ COM38
التثبيت من المنفذ COM38

 

الخطوة الثالثة:

سنقوم باختيار المتحكم ولوحة التطوير وفي حالتنا هنا (ATMEGA328P Arduino UNO)، كما يوضح ذلك الشكل أدناه.

اختيار المتحكم ولوحة التطوير
اختيار المتحكم ولوحة التطوير

الخطوة الرابعة:

نختار المنفذ Port الذي تستخدمه لوحة Arduino Uno كما في الشكل أدناه.

اختيار المنفذ port
اختيار المنفذ port

الخطوة الخامسة:

من خيارات ذاكرة البرنامج Flash نختار read، كما نوضح ذلك في الشكل أدناه.

تحديد امر القراءة
تحديد امر القراءة

الخطوة السادسة:

نقوم بتحديد صيغة القراءة Format للبرنامج Intel Hex، كما في الشكل أدناه.

اختيار الأمر format
اختيار الأمر format

الخطوة السابعة:

نقوم باختيار المسار لملف البرنامج المراد سحبه وحفظه فيه، كما في الشكل أدناه.

اختيار مسار الحفظ
اختيار مسار الحفظ

نعطي اسم للملف الذي يحتوي على البرنامج، ثم نختار 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) بنجاح، كما يوضح ذلك الشكل أدناه.

انتهاء عملية رفع الكود
انتهاء عملية رفع الكود

إعداد: رامي حسن, مراجعة: مهند العبيد, تدقيق لغوي: بولا ابراهيم, تصميم: علي العلي, تحرير: فادي الشعار