Web
	Analytics
بطاقة راشدوينو

بطاقة راشدوينو

image001 

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


مقدمة

راشدوينو (وتقرأ راش-دوينو أو Rush-duino) لوحة إلكترونية مفتوحة المصدر متوافقة مع لغة برمجة الأردوينو، تم تطويرها والتعديل عليها وتجميعها محلياً في سوريا بوساطة راشد القطيني. تتصف هذه اللوحة ببساطة البنية وسهولة التجميع والتوافق مع البيئة البرمجية Arduino IDE.

 


مصطلحات المقال

العربية

الإنجليزية

الفرنسية

بطاقة مبرمجة

Programmer board

Programmateur

بطاقة برمجية

Development board

Carte de development

مبرمجة متتالية

Serial programmer

Programmateur série 

متحكم صغري

Microcontroller

Microcontroleur

برنامج الإقلاع

Bootloader

Bootloader

صمام ثنائي (دايود)

Diode

Diode

شيفرة برمجية (كود)

Firmware

Code

لوحة تجارب

Breadboard

Platine labdec

 


من أين بدأت فكرة الراشدوينو ؟

لعلك شعرت بأهمية الأردوينو ومتعة استخدامه عندما قرأت عنه، ولعل الرغبة في امتلاك بطاقة أردوينو قد تولدت لديك. حسناً، ربما لو أردت شراء بطاقة أردوينو فالأمر بسيط بالنسبة لك، اشتر واحدة من الانترنت وادفع ثمنه وسيشحن إليك…أما في سوريا، فليس الأمر بهذه البساطة. إن الظروف التي تمر بها سوريا – ومنها الاقتصادية – لا تسمح كثيراً بالتوصية والشحن وما إلى ذلك، والأردوينو إن وصل فسيصل بثمن باهظ، يعادل ثلاثة أو أربعة أضاف ثمنه الأصلي. من هنا لجأنا إلى طرح السؤال "لماذا لا نقوم بصنع أردوينو محلياً ؟" نعم، ما المانع إذن؟ قد تظن للوهلة الأولى أنني أعدت اختراع العجلة من جديد. أنصحك بعدم التسرع، فلا تحكم علي إلا بعد الانتهاء من قراءة المقال.


البدايات العملية

إن أول تصميم وأبسط تصميم وقع عليه طرفي هو تصميم الأردوينو 2009أو ما يسمى Arduino Duemilanove.

 

هناك بطاقات أردوينو تقوم على تصميم أبسط، إلا أنها لا تدعم التخاطب مع USB، بل هي قادرة على التخاطب مع RS232 فقط، وهذا لا يرضيني لأن معظم الحواسيب المحمولة لا تحتوي على المنفذ التسلسلي RS232.

 

تحوي هذه البطاقة شريحة FT232من FTDIالمسؤولة عن الملاءمة بين البروتوكولين: USBالذي يفهمه الحاسوب، وUARTالذي يفهمه المتحكم الصغري.

image002

بطاقة أردوينو 2009 (Arduino Duemilanove)

صعبة هذه الشريحة – بالنسبة لمبتدئ مثلي على الأقل – هي أنها من نوع الشرائح السطحية SMD (أي Surface Mounting Device) فهي تحتاج إلى دقة وخصوصية من أجل لحمها على اللوحة الإلكترونية.

مع ذلك، قبلت الأمر وقلت لا بد من أن تحل المشكلة، وأخذت أصمم اللوحة من جديد على برنامج Eagle، لا شك أن التصميم الأصلي موجود ومفتوح المصدر ومتوفر على النت، لكن كنت أحاول أن أتخلص من أكبر قدر من العناصر "الكمالية" إن صح التعبير، مما اضطرني إلى إعادة التصميم من نقطة الصفر.

 

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

http://simplyarduino.com/?p=200 

 image003

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

 

الجميل بالموضوع – كما شرح الكتاب – أن كلا التصميمين لا يستخدم أي عنصر SMD.

فضلت أن أقوم بتصنيع البطاقة الأسترالية Metaboard 1.0محلياً، وذلك لأن تصميمه وأبعاده توافق معايير الأردوينو إلى حد ما.

 image004

 


البطاقةMetaboard 1.0

إن البطاقةMetaboardهي لوحة الكترونية مفتوحة المصدر تم تطوريها من قبل الشباب في الهاكرسبيس الأوسترالي metalab.at. تعتبر هذه اللوحة من أفضل وأبسط وأرخص اللوحات الإلكترونية المتوافقة مع لغة برمجة أردوينو. وكما يظهر من الصورة فإنها تتميز بميزتين أساسيتين:

1- أنها لا تحتوي على أي عنصر SMDوخاصة الشريحة FT232، بل كل العناصر المستخدمة فيها هي عناصر DIP (أي Dual Inline Package) و THD (أي Thru Holes Devices).

image005

2-  تعتمد هذه اللوحة على طريقة فريدة للتخاطب مع الحاسوب عن طريق منفذ USB، وهذه الطريقة تسمى V-USBأو Virtual USB.

 

وها هي التصميمات الهندسية للبطاقة كاملة لمن أراد صنعها:

 https://metalab.at/wiki/images/0/0c/Metaboard-1.0.zip


كلمات عن V-USB

هي تقنية برمجية تسمح لأي متحكم أصغري من نوع AVRبالاتصال مع منفذ USBمباشرة دون الحاجة لاستخدام FT232. أي، كأنها تعزل جزءاً من المتحكم وتجعله يعمل عمل FT232، فيصبح المتحكم قادراً على التفاهم مع الحاسوب. أما الطريقة التي ننشئ بها V-USBفي المتحكم، فتتكون من خطوتين:


1- تنصيب برنامج الإقلاع (أو برنامج الإقلاع Bootloaderعلى المتحكم الصغري، وهو كود برمجي يخزن في المتحكم ويجعله قادراً على فهم الأوامر البرمجية القادمة من الحاسوب دون الحاجة إلى مبرمجة.

 

2- برمجة فيوزات (Fuses) المتحكم الصغري وهي مجموعة من المعايير (أي Parameters) مسؤولة عن ضبط إعدادات دائمة في المتحكم. تبقى هذه الإعدادات على حالها محفوظة في ذاكرة المتحكم حتى لو انقطعت التغذية الكهربائية عنه. من الأمثلة على هذه الإعدادات: المؤقت Watch Dog Timerو تردد العمل إلخ.

 

وللتوسع في الأمر أنصح بالتالي:

 http://www.obdev.at/products/vusb/index.html 

 http://vusb.wikidot.com


ننتهي من مشكلة فتأتي أخرى!

إن تصميم بطاقة Metaboard– كما لاحظتم – يقوم على المتحكم الصغري Atmega168. لقد طُفْتُ الأسواق بحثاً عنه ولم أجده، فالسوق الصناعي في سوريا يركز على المتحكمات Atmega8و Atmega16و Atmega32دون سواها، لأنها تسد الحاجة الصناعية في البلد. فتذكرت أمراً، وجدت Atmega168عند متجر واحد فقط، إلا أنه SMD  فقلت في نفسي ما استفدنا شيئاً! لذلك سلمت أمري لله، وقلت نحاول بـ Atmega8Aالذي يشبه Atmega168إلى أقصى الحدود، فكلاهما متشابهان بتوزيع الأقطاب، ولهما نفس العدد من الأرجل (28Pins)، إلا أن للثاني ميزات يتفوق بها على الأول نذكر منها سعة الذواكر عموماً، سواءً أكانت EEPROMأو SRAMأو Flash.

 

السؤال الآن: ما المشكلة في استخدام المتحكم Atmega8Aبدلاً من Atmega168؟

هذا هو مربط الفرس، هذا هو الأمر الذي جعلني أتابع عملي بطريقة خاصة وأعطاني الرغبة في إطلاق اللقب Rasheduinoعلى هذه اللوحة. السبب هو أن برنامج الإقلاع سيختلف والفيوزات (Fuses) ستختلف، إضافة إلى تعريف البطاقة على Arduino IDE، وإنشاء V-USBهو أمر صعب بالأساس. لكن، في نهاية المقال سيهون كل شيء إن شاء الله، فقد جربت معظم الطرق حتى استدللت على الطريق الصحيح، وهاكم إياه مفصلا في هذا المقال. ونسيت أن أذكر أن الاسم بطاقة راشدوينو (بالحروف اللاتينية Rasheduino) مشتق من اسمي "راشد". بعد كل المقبلات السابقة جاءت الوجبة الرئيسية: سنبدأ العمل، سنبدأ سوية بصنع راشدوينو، خطوة خطوة…


الخطوة الأولى: صنع مبرمجة متتالية (Serial Programmer)

هذه المبرمجة سنشحن بوساطتها برنامج الإقلاع، لذا لا مشكلة من صنعها على لوحة تجارب (أي Breadboard) لأننا سنستخدمها مرة واحدة فقط، وهذا مخططها على اليسار. لن أتكلم عنها كثيراً، بل سأدع المقال التالي من موقع اصنعها يقوم بذلك:

image006

اصنعها إلكترونياً - بطاقة مبرمجة بسيطة جداً للمتحكمات ATMega8 

كما قلنا سابقاً، لا داعي للحام بل يمكن استخدام لوحة التجارب، خذوا مثلاً مبرمجتي :

عفوا قد تكون مضحكة هذه الفوضى! أحب أن أذكر بنقطة هامة جداً: أترون الملقطين الأحمر والأسود؟ إنهما من أجل تأمين التغذية الخارجية للمبرمجة، نعم فهي تحتاج 5V+ (سأخبركم سراً، حصلت على 5فولط من منفذ USB).

 

أما الأسلاك الخارجة من المبرمجة نحو الأسفل، فهي خطوط البرمجة MISOو MOSIو SCKالخ.

 image007

المهم، لا تتجاوز هذه الخطوة حتى تتأكد من عمل المبرمجة 100%، جرب برنامج إضاءة بسيط LED Blinkingباستخدام WinAVRأو MikroC for AVRأو أياً شئت.

 

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

 

وقد يسألني سائل: عندي مبرمجة USBشاملة مثل TOP2009فهل أستطيع تنصيب برنامج الإقلاع عن طريقها؟
أجيب وبكل بساطة: لا أعرف! جرب وخبرنا!

 


الخطوة الثانية: تصميم وتركيب البطاقة

 

لا بد من قراءته

من أجل أن تصنع بطاقة راشدوينو بنجاح فمن فضلك اضطلع على المقالات الثلاث التالية ولو بنظرة خاطفة إذ أنها مهمة في تحويل الدارات الكهربائية إلى بطاقات إليكترونية بمهنية عالية وبصنع يدك فقط:

اصنعها إليكترونيا – الشرائح الإليكترونية 1

اصنعها إليكترونيا – الشرائح الإليكترونية 2

اصنعها إليكترونيا – تحويل الدارات إلى بطاقات إليكترونية

 

الأجزاء الرئيسية

image008 

العربية

إنجليزية

فرنسية

الكمية

القيمة أو الصيغة

متحكم صغري  

Microcontroller

Microcontroleur

1

ATmega8

مقبس المتحكم

IC Holder

Socket

1

من النوع الضيق بـ 28نقطة

متذبذب كريستالي

Crystal Oscillator

Quartz

1

  16MHZ

منظم جهد

Volatge regulator

Regulateur de tension

1

5V 7805

صمام ثنائي

Diode

1

1N4007أو 1N4004

صمام زينر

Zener diode

Diode Zener

2

3.6V

مكثف كهرليتي

 Electrolyte Capacitor

Condensateur électrolytique

2

 10uF  25V

مكثف عدسي

Ceramic capacitor

Condensateur céramique

2

 22pF

1

100pF

مقاومة كربونية

Carbon film resistor

 Résistances à couche decarbone

2

 68أوم 0.25واط

1

 15كيلو أوم 0.25واط

1

1ميغا أوم 0.25واط

ضاغط لحظي

Press button

1

مفتوح طبيعياً بأربع نقاط

Normally Open

مدخل للتغذية

Power Jack

1

 

مدخل USB

USP Port

Port USB

1

من النوع B

(مربع الشكل وقابل للوضع على بطاقة)

دبابيس

Pins

Broches

 

عدد 2 + عدد 3 ( التي يوضع عليها Jumper )

أغطية للوصلات (جسور)

Jumpers

Cavaliers (strap)

2

 

دبابيس أنثوية للوصلات الطرفية

Female Pins

Broches feminine

 

26نقطة ( مجموعات 8 + 8 + 6 + 4)

 

تصميم البطاقة

ادخل إلى الرابط التالي وحمل الملف:

Metaboard-1.0.zip 

 

ستجد بداخله مجلدا اسمه circuit وبداخله تصميما جاهزا للبطاقة يحمل الاسم التالي: metaboard.brd.

 

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

 image009

 

تركيب البطاقة

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

image010

ملاحظة فنية: قم بتلحيم قاعدة المتحكم IC Holder فارغة على البطاقة كي لا تعرض المتحكم للحرارة.


الخطوة الثالثة: تحميل برنامج الإقلاع

وهي الخطوة التي خوفني منها الجميع، كانت بمثابة فزاعة، إلى أن جاء الأخ العزيز أيمن شلبي وأرشدني الطريق. ركزوا معي جيداً لأننا بدأنا بالعيار الثقيل. أنا أستخدم ويندوز XPوإن تحميل برنامج الإقلاع عموماً يكون على ثلاث مراحل:

1) وصل المتحكم مع المبرمجة ووصل التغذية.

2) نقل ملف hexمناسب من الحاسوب إلى المتحكم، وذلك عن طريق المبرمجة المتتالية.

3) برمجة الفيوزات.

 

لنذهب سويةً خطوة خطوة:

 

أولاً: وصل المتحكم مع المبرمجة ووصل التغذية

نصل المتحكم Atmega8Aمع المبرمجة المتتالية مع إزالة أي متذبذب كريستالي سابق وإضافة ما يلي:
- متذبذب كرستالي
16MHzبين الطرفين 9و 10للمتحكم.
- مكثف
22pfبين الطرف 9للمتحكم والأرضي.
- مكثف
22pfبين الطرف 10للمتحكم والأرضي.
- مكثف
22pfبين الطرف 20للمتحكم والأرضي.
- مكثف
22pfبين الطرف 21للمتحكم والأرضي.

 

ثانياً: برمجة المتحكم

قم بتحميل من خلال الضغط على الرابط USBaspLoader.2010-07-27.zip.

افتحه وستجد بداخله مجلداً باسم firmwareوبداخله مجلد باسم hexfiles. ادخل للمجلد واختر الملف mega8_16mhz.hex. وقم بتحميله على المتحكم عن طريق المبرمجة المتتالية. المقال السابق من موقع اصنعهايشرح جيداً برنامج Ponyprogلذلك سأعتبرك متقناً لاستخدامه.

ملاحظة: انشئ مجلداً فارغاً وضع فيه جميع الملفات التي نقوم بتحميلها تباعاً حتى لا تضل الطريق.

 

بعد تحويل الملف mega8_16mhz.hexللمتحكم عن طريق المبرمجة، قم بالتأكد من صحة العملية عن طريق القراءة من المتحكم كما في الصورة جانبه. ولا تنزع المتحكم من الدارة، بل دعه موصولاً مع المبرمجة فلم ننته بعد.

image011

 

ثالثاً: ضبط الفيوزات

دع المتحكم كما هو في الدارة.

ملاحظة: إن لم تكن مهتماً بالتفاصيل فاقفز إلى السطر ذي النجوم الحمراء.

 

* أعد فتح آخر مجلد حملته USBaspLoader.2010-07-27وادخل للمجلد firmwareوستجد ملفاً باسم Makefileمن دون لاحقة.

* افتح هذا الملف بوساطة notepadأو مفكرة، واقرأ الطلاسم… حسناً أنا كمستخدم لويندوز أراها طلاسم، إلا أنها ذات معنى بالنسبة لمستخدمي لينوكس.

* في الحقيقة يحتوي هذا الملف على قيم الفيوزات لجميع المتحكمات الممكن استخدامها في دارتنا، أي Atmega8و 88و 168و 328 … ابحث وستجد.

* مهلاً! إذا كنت تمشي معي خطوة خطوة وتستخدم Atmega8Aفلا داعي لهذه المتاهة، سأوفر عليك الجهد.

كما قلنا سابقاً، إن الفيوزات هي بارامترات إعدادات المتحكم، تخزن هذه البارامترات بداخل المتحكم على هيئة 2Bytesأو 3Bytes، وهذه البايتات هي:

Fuse high byte
Fuse low byte
Fuse extended byte

 

في حالتنا لن نستخدم إلا: Fuse High Byteو Fuse Low Byte.

من بين الطلاسم يمكنك أن تستنتج أن للمتحكم Atmega8:

High fuse = 0XC0
Low Fuse = 0X9F

جميل! تكفينا هاتان القيمتان لحل مشكلة الفيوز، خذ هاتين القيمتين واذهب بهما إلى الموقع التالي الذي يعد بمثابة آلة حاسبة للفيوزات:

http://www.engbedded.com/fusecalc/

اختر المتحكم كما في الصورة التالية:

image012 

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

 image013

عدل على القيم Lowو Highلتصبح كما يلي:

 image014

ثم اضغط Apply Valuesوانتظر حتى ينتهي تحميل الصفحة، وسترى المنظر الرائع:

image015

إن هذه الصورة ذات قيمة باهظة فعلاً !! لماذا؟ لأنها ترجمت قيم الفيوزات على هيئة خيارات، فأراحتنا من فك الطلاسم.

*******************************

كما اتفقنا، لا يزال المتحكم موصولاً مع المبرمجة المتتالية.

 

الآن، اذهب مباشرة إلى برنامج Ponyprogومن القائمة Commandاختر:

 Security and Configuration Bits:

image016

بعد ذلك، تظهر نافذة اختيارات متعددة، نجعل هذه النافذة بالشكل التالي:

image017

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

 

مهلاً، لا تضغط على الزر OKبل اضغط Writeوانتظر حتى انتهاء العملية وظهور رسالة النجاح ببرمجة الفيوزات. أغلق النافذة بـ OKوافتحها من جديد ثم اضغط Read، إن بقيت الخيارات كما هي فهنيئاً لك، لقد نجحت بتنصيب Bootloaderعلى Atmega8A. افصل التغذية عن المتحكم وأخرجه من المبرمجة وضعه على بطاقة الراشدوينو.


الخطوة الرابعة: تعريف الراشدوينو على الحاسوب – USB Driver

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

usbasp-windriver.2009-02-28.zip 

 

يحتوي هذا الملف بداخله الملفات اللازمة لتعريف الراشدوينو على الحاسوب. فك ضغطه في مكان مناسب يسهل الوصول إليه. قم بإحضار كابلUSBمن الطراز المستخدم في الطابعات، و صل الراشدونيو مع الحاسوب. كذلك يجب أن تتأكد من وضع الوصلات Jumpersفي الوضع الصحيح على البطاقة، واضغط على زر Resetالموجود على بطاقة الراشدوينو بعد الوصل مع الحاسوب. أما كيفية وضع الـ Jumpersفانظر الصورة التالية:

image018

image019

لاحظ وجود ثلاثة عناصر أساسية:

 

1- وصلة برنامج الإقلاع Bootloader Jumper: عند وضع هذه الوصلة فإن المتحكم ينتظر أوامر برمجية من الحاسوب وعند إزالتها يدخل في البرنامج مباشرة. لذلك إذا كنا نريد برمجة الراشدوينو وهو موصول مع الحاسوب فإن الـ Jumperيجب أن يكون موضوعاً كما في الصورة. عندها يتلقى الراشدونيو أوامر برمجية من الحاسوب وبعدها يعمل البرنامج دون الحاجة إلى إزالة الـ Jumper. أما إن أردنا أن نجرب البرنامج دون وصل البطاقة مع الحاسوب فلا بد من إزالة هذه الوصلة، وإلا فلن يعمل لأنه ينتظر أوامر برمجية من الحاسوب وهو غير موصول مع الحاسوب أصلاً. المهم، لا بد من وضع هذا الـ Jumperعند وصل الراشدوينو مع الحاسوب وإلا فلن يستطيع الحاسوب التعرف على البطاقة.

2- وصلة التغذية Power Jumper: دقق بالصورة وستجد أن هناك ثلاثة دبابيس، يقوم الـ Jumperبوصل الدبوس في المنتصف مع أحد الدبوسين الجانبيين. إن وضعت الوصلة كما في الصورة أي إلى اليمين فهذا يعني أن الدارة ستأخذ الطاقة من منفذ USBنفسه ولا حاجة لمصدر طاقة خارجي. أما إذا وضعت الوصلة إلى اليسار، أي وصلت الدبوسين الأوسط والأيسر مع بعضهما فهذا يعني أن الدارة تستمد الطاقة من منبع خارجي، مثل هذا الذي في الصوة جانبه.

طبعاً لا بد أن يكون القطب الداخلي موجباً والخارجي سالباً (لاحظ الإشارة فوق جملة MADE IN CHINA ) ولا بد من أن يتراوح جهد الدخل ما بين 7فولط و 15فولط.

image020

3- الضاغطة Reset: إن ضغط المفتاح Resetيعطي أمراً بإعادة قراءة البرنامج من البداية، فإن كانت الوصلة Bootloader Jumperموضوعة فإن الراشدوينو سينتظر الأوامر البرمجية من الحاسوب، أما إن كانت غير موضوعة فسيبدأ البرنامج بالعمل.

 

خلاصة ما سبق: في كل مرة تصل فيها البطاقة مع الحاسوب لا بد من أن يكون Bootlader Jumperموضوعاً، وأن تكون الطاقة مؤمنة للبطاقة، وأن نضغط زر Reset.

بعد الوصل سيشعر الحاسوب بإضافة جهاز USBجديد، إلا أنه سيعجز عن التعرف عليه، وسيظهر ما في الصورة جانبه.

image021

لا مشكلة، انقر على أيقونة جهاز الحاسوب بالزر الأيمن للفأرة واختر Manageكما في الصورة جانبه.

 

ثم اختر من العمود الأيمن Device manager (إدارة الأجهزة) وستجد جهزاً جديداً غير معرف كما في الصورة التالية:

image022

image023

اضغط بالزر الأيمن للفأرة على هذا الجهاز واختر Update Driver Softwareكما في الصورة جانبه.

image024

بعدئذ، اختر Browse my computer for driver software  من النافذة التالية:

image025

عندها سيطلب منك تحديد مكان ملفات التعريف، أرشده إلى المجلد usbasp-windriver.2009-02-28الذي حملناه آخراً، واختر الخيار Include subfoldersللاحتياط ثم اضغط Next:

image026

انتظر قليلاً حتى ينتهي التحميل، وقد تظهر الرسالة التالية:

image027

لا عليك، اضغط Install this driver software anywayوانتظر قليلاً، ثم تظهر النافذة التالية:

image028 

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


الخطوة الخامسة: إضافة بطاقة راشدوينو إلى البرمجية Arduino IDE

في البداية قم بتحميل البيئة البرمجية Arduino IDEمن الرابط:

http://arduino.cc/en/Main/Software 

 

اختر الخيار Windowsواستخدم طريقتك المعتبرة في تجاوز الحجب وحمل البرمجية Arduino IDE.

فك الضغط وسنحصل على مجلد باسم arduino-1.0.1وبداخله التطبيق arduino.exe. افتح البرنامج وحاول استكشافه، إلا أنه غير جاهز للتخاطب مع البطاقة راشدوينو بعد.

 

هناك شرح واف عن البرنامج في هذا الكتاب الثمين:

أردوينو ببساطة

 

هيا بنا نضيف بطاقة راشدوينو إلى البرنامج Arduino IDE.

 

لنمش سوية خطوة خطوة:

 image029

أولاً: اتبع المسار التالي ضمن المجلد المحمل آنفاً:

arduino-1.0.1\hardware\arduino\bootloaders

 

ثانياً: أنشئ مجلداً جديداً فارغاً ضمن المجلد bootloadersباسم Rasheduino:

 image030

ثالثاً: أتذكر الملفين mega8_16mhz.hexو Makefileالذين استخدمناهما في بداية العمل؟

اسنخهما والصقهما في المجلد Rasheduino

image031 

رابعاً: اذهب إلى المسار التالي: arduino-1.0.1\hardware\arduinoوستجد ملفاً نصياً باسم boards.txt. افتح هذا الملف بوساطة المفكرة وألصق الكود التالي في آخره:

##############################################################

metaboard.name=Rashedunio

metaboard.upload.protocol=usbasp
metaboard.upload.maximum_size=7168
metaboard.upload.speed=19200

metaboard.bootloader.low_fuses=0x9f
metaboard.bootloader.high_fuses=0xc0
metaboard.bootloader.path=rasheduino
metaboard.bootloader.file=mega8_16mhz.hex

metaboard.build.f_cpu=16000000L
metaboard.build.mcu=atmega8
metaboard.build.core=arduino
metaboard.build.variant=standard

metaboard.upload.disable_flushing=true

##############################################################

إن عشرات التعديلات ورسائل الخطأ في الخطوتين السابقتين كان السبب المباشر الذي دفعني لتسمية البطاقة Rasheduino.

 

خامساً: أغلق البرنامج Arduino.exeإن كان بحالة عمل، وانزع الوصلة USBمن الحاسوب ثم صلها مرة أخرى، واضغط على الزر Resetالوجود على بطاقة Rasheduino. افتح البرنامج Arduino.exeثانية، من القائمة Toolsذاتها اختر Serial Portوانتق الخيار المناسب. ومن القائمة Toolsأيضاً انتق Boardثم اختر اللوحة المسماة Rashedunio / Syria.

 image032

مبارك، اصبحت بطاقة الراشدوينو جاهزة للعمل. أطلق العنان لنفسك الآن. اكتب الشيفرات البرمجية التي تريد، ابدأ بمثال بسيط كهذا الذي في الصورة جانبه.

 

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

 

http://simplyarduino.com/?page_id=5

 image033

ملاحظة: قد تظهر لديك الرسالة التالية. لا مشكلة، تجاهلها فهي ليست رسالة خطأ وإنما تحذير.

واستمتع بقراءة الكلمتين:

Done Uploadingفوق على اليسار واسم البطاقة 

Rasheduino / Syria

تحت على اليمين.

 image034


مساوئ الراشدوينو

من الإنصاف أن يقول المرء ما له وما عليه، إن بطاقة الراشدونيو لا تدعم التخاطب التسلسلي في الزمن الحقيقي مع الحاسوب، أي لا يمكن – لحد الآن – استخدام التوابع Serial.Printو Serial.Read، هذا يعود إلى طريقة عمل V-USB.


الرخصة

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

هذا العمل تم نشره تبعا لبنوذ النشر التالية:

 Creative Commons Attribution-NonCommercial 3.0 Unported License

 image035


تأليف

 

تأليف: راشد القطيني (دمشق – الشام)

البريد الإليكتروني:عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.

صفحة الفايسبوك: http://www.facebook.com/rashed.koutayni

 


المراجع

 

http://rashedkoutayni.wordpress.com

أضف تعليق


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

المزيد في هذه الفئة :


Go to top