البرمجة بأردوينو - 2

البرمجة باستخدام بطاقة أردوينو - الجزء 2

00

بما أن برمجة البطاقة الاليكترونية لا تكون مصاحبة لشاشة في الغالب،

فسيكون مثالنا هذا هو اللعب بإشعال صمام ثنائي ضوئي وإطفائه (وميض) انطلاقا من برنامج خاص.


تقديم

 

 أولا وقبل كل شيء تأكد أنك قرأت الدرس الأول من هذه السلسلة.

في هذا الدرس سنبدأ في امتحان البطاقة البرمجية Arduino ببرنامج بسيط يتمثل في إعطاء أمر بإشعال وإطفاء  صمام ضوئي (LED).

اذا اجتزت هذه المرحلة سيفتح لك باب مثير في برمجة العقول الاليكترونية.

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

سنستعمل نظام التشغيل Windows في مثالنا هذا. أما إذا كنت تستعمل نظام Linux أو Mac  فسنترك لك الباقي. ولا تنسى أن تشاركنا بما عملت يداك بكتابة مقال حول استخدام أحد هذه الأنظمة لتعم الفائدة على الآخرين. أوليس الله في عون العبد ما دام العبد في عون أخيه !!!

 


هل أنت مستعد؟

لن تحتاج للكثير في هذا الدرس. ستحتاج فقط إلى كابل USB وبطاقة Arduino كما تكلمنا عنهما في الدرس الأول. وبما أننا سنستعمل صماما ضوئيا (LED) فلا توجد ضوابط لاختيار هذا الصمام، اختر ما شئت، لا يهم، شرط أن يكون مشابها لما في الصورة. 
 image002  image004  image005

بطاقة  Arduino

كابل  USB

صمام  LED

 


تنزيل برنامج Arduino

 كما هو في عالم البرمجة في علوم الحاسوب، سنحتاج لتنزيل برنامج من أجل برمجة العقل الاليكتروني عليه. هو شبيه بلغة البرمجة المعروفة C.

 

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

برنامج
Arduino كبير شيئا ما (حوالي 30 إلى 50 ميغابايت).

 

قم بتثبيته أولا. ثم اذهب الى المجلد وقم بالنقر عليه ودعنا نبدأ. 

image006

 


ما هو نوع الميكروكنترولور الموجود على البطاقة Arduino؟

 

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

تقريبا كل بطاقات Arduino تستعمل ATmega168، لكن قد يكون عندك ATmega8.

كيف ستعرف نوع الميكروكنترولور عندك؟؟؟ أسهل من شرب الماء، انظر على البطاقة واقرأ على رقاقة الميكروكنترولور الإسم المكتوب عليها. ماذا وجدت عليها؟ 

 

إذا كان النص المكتوب عليها هو ATmega8-16P 

فالذي عندك هو الرقاقة Atmega8.

image008

إذا كان النص المكتوب عليها هو ATmega168-20P 

فالذي عندك هو الرقاقة Atmega168.

إذا كان النص المكتوب عليها هو ATmega328P-20P 

فالذي عندك هو الرقاقة Atmega328P. 

image010

 

المهم، أيا كان عندك، فقط اذهب الى برنامج Arduino

وانقر على Tools ثم انقر على Microcontroller MCU

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

image011


ما هو اسم مدخل USB  الذي استعملته؟

قد يكون حاسوبك مجهزا بعدة مداخل USB.

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

ارجع الى الدرس الاول لتحدد المدخل الذي تم استعماله. قد يكون اسمه
COM3 أو COM4 في Windows.

أما على نظام Mac فسيكون اسما ما يشبه tty.usbserial-xxxxx.

image012

 


لنبدأ بالبرمجة

أحيانا تتعبنا التحضيرات الأولية قبل البدء في العمل الجد.

لكن انتهينا من التحضيرات ولنبدأ بأول برنامج الآن:

لن تقوم بالبرمجة بنفسك، لكن توجد بعض الأمثلة المصحوبة في برنامج Arduino.

اذهب وانقر على File ثم Sketchbook  ثم Examples ثم Digital ثم Blink.

image014 

ستظهر لك الشيفرة كالتالي:

image016

تحقق ونفذ: 

قبل أن تحول (أي تنقل) الشيفرةإلى بطاقة Arduino 

يجب أن تتحقق من خلوه من الأخطاء أولا  بالقيام بتنفيذه.

انقر على Sketch ثم Verify/Compile.

 image017

بعد بضعة ثوان، من المفترض أن تظهر لك رسالة "Done compiling” مفاذها أنه تم التنفيذ. 

في حالة كان الشيفرة سليما من الأخطاء سيظهر لك ما هو مبين في الشاشة السوداء أسفله.

هذا يعني أنك على استعداد لتحويل الشيفرة الى بطاقة Arduino

image019


تهيئة البطاقة لاستقبال الشيفرة (البطاقة من نوع NG Arduino فقط )

صراحة قد لا تحتاج لقراءة هذه الفقرة من هذا الدرس.

لكن ماذا لو أن بطاقتك من النوع NG Arduino؟

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

للقيام بهذا ما عليك إلا أن تضغط على الزر الأسود (قد يكون بنيا) كما هو مبين في الصورة.

image020

تحويل

والان جاء الوقت لتحويل الشيفرة الى البطاقة.

تأكد من أن البطاقة متصلة بالحاسوب وان المصباح الأخضر مشتعل

وأنك قمت بتحديد اسم مدخل  USB
 الصحيح.
 

اذهب الآن وانقر على  File  ثم Upload to I/O Board. 
image022

بعد بضعة ثوان من المفترض أن تظهر لك النافذة التالية مصحوبة برسالة 
"
Done uploading” مفاذها أنه تم التحميل ألى البطاقة بنجاح.

 
image024

إذا حدث وحصلت على رسالة خطأ

 avrdude: stk500_getsync(): not in sync: resp=0x00

هذا يعني أن بطاقة Arduino لا تستجيب. ما العمل إذن؟  عليك التحقق من التالي:

image026

1.إذا كان عندك NG Arduino هل قمت بالضغط على الزر قبل تحميل الشيفرةاليها؟

2.هل حددت اسم مدخل USB بشكل صحيح.

3.هل ثبت Driver بالشكل الصحيح؟

4.  هل قم بتحديد اسم رقاقة الميكروكنترولور بالشكل الصحيح؟

إذا حدث وحصلت على رسالة الخطأ التالية: فهذا يعني أنه لم يتم تحديد مدخل USB بالشكل الصحيح, عد الى الدرس الأول وتحقق من أن USB driver قد ثبت كما ينبغي.

image028

لكن ماذا لو حصلت على الخطأ التالي: 

Expected signature for ATNEGA

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

image030

أما إذا حصلت على الخطأ:

 can't open device “COM10”: The system cannot find the file specified

 في الويندوز مثلا، الرقم المرافق لكلمة COM يكون متغيرأ.

image032

هذا يعني أنك تمتلك الكثير من مداخل USB ما شاء الله
وبالتالي ستحصل على العديد من COM كذلك.
قم بتغيير الرقم المرافق لـ COM (مثلا من COM4 إلىCOM5)
انطلاقا من Device Manager.

 


تركيب الصمام الثنائي الضوئي (LED) 

 

لا يهم أي صمام ثنائي ضوئي LED عندك، المهم أن يكون له مدخلين فقط كما هو مبين في الصورة.

الصمامات الثنائية LED  أحادية الاتجاه، بمعنى أنك يجب أن تثبتها في اتجاه واحد ولا تستطيع أن تقلبها كما هو الحال بالنسبة للمقاومات و المكثفات.

ما العمل إذن؟ للصمامات الثنائية  LED مدخلين أحدهما أقصر من الآخر.

الأطول منهما يجب أن يوضع في الثقب المرموز له بالرقم 13 والأقصر في الثقب المرموز له بالرمز GND (يعني الأرضي) 

image033

التأليف


ترجمة محمد السهلي


 المراجع

http://www.ladyada.net/learn/arduino/lesson1.html


 

التعليقات   

 
aminos
+1 # aminos 2014-01-02 10:59
أشكركم جزيل الشكر على هذا الشرح المبسط -
أود شراء Fritzing Creator Kit with Arduino UNO English Edition لكنها غير متوفرة في المغرب لذا أستفسر عن ثمنها .
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير
 
 
محمد السيد
+3 # محمد السيد 2013-05-31 14:45
ممتاز .. توضيح صغير بالنسبة لموضوع الليد .. انت تقصد ان الليد لها طرفان .. الطرف الاطول هو .. الموجب . و الطرب الالقصر هو السالب .. و السالب فى بطاقة الاوردينو يرمز له بالرمز GND .. و لاكنى لاحظت ان بطاقة الاوردينو بها على ما اظن اكثر من مخرج . فهل يمكن تركيب الليد على اى مخرج فولت ابتداء من( 0 الى 13 ) .. ام على حسب الشفرة المدخلة للاوردينو .. و ما معنى TX .. و .. RX .. اسف على الاطالة فى الاستفسار
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير
 
 
إدارة إصنعها
+2 # إدارة إصنعها 2013-09-06 12:47
يمكنك بطبيعة الحال إيصال القطب الموجب للصمام الثنائي بالمرابط الرقمية (أي من 0 إلى 13) لبطاقة أردوينو. والقطب السالب هو المرموز له بالرمز GND. وهذا الرمز يعني الأرضي باللغة العربية وهو يعبر عن القطب السالب. وبالتالي يمكنك إيصال القطب الموجب بأي مربط رقمي شئت شرط أن تشير إلى نفس الرقم عن البرمجة بأردوينو لتتحكم بالصمام كما شئت.

بخصوص المربطين TX و RX فهما يختصان بتقنيات الإرسال والإستقبال. وستعرفهما أكثر عند مباشرتك للمشاريع المتقدمة إن شاء الله.
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير
 

أضف تعليق


كود امني
تحديث


Go to top