Rashed Koutayni

Rasheduino … أول نسخة Arduino عربية من سوريا قائمة على ATmega8 وبمنفذ USB ^_^

20 تعليق

مقدمة

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

تتصف هذه اللوحة ببساطة البنية وسهولة التجميع والتوافق مع البيئة البرمجية Arduino IDE.

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

لعلك شعرت بأهمية الأردوينو ومتعة استخدامه عندما قرأت عنه، ولعل الرغبة في امتلاك بورد أردوينو قد تولدت لديك.

حسناً، ربما لو أردت شراء بورد أردوينو فالأمر بسيط بالنسبة لك، اشتر واحداً من الانترنت وادفع ثمنه وسيشحن إليك…أما في سوريا، فليس الأمر بهذه البساطة 😦

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

من هنا لجأنا إلى فكرة أخرى … لماذا لا نقوم بصنع أردوينو محلياً ؟ نعم … ما المانع 🙂

قد تظن للوهلة الأولى أنني أعدت اختراع العجلة من جديد … أنصحك بعدم التسرع، فلا تحكم علي إلا بعد الانتهاء قراءة المقالة 😉

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

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

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

وهذا هو البورد Arduino 2009:

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

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

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

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

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

الجميل بهذه المقالة أنها تصف مشكلة الـ SMD ولذلك لم أستفض بالشرح عنها، وتركت الأمر للأخ عبد الله علي ^_^

بل قد أقتبس بعض الجمل من عنده ….

بعد قراءة المقالة ستجد أن هناك إصدارين متوازيين لبورد أردوينو، أحدهما من اليابان والآخر من أوستراليا.

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

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

اللوحة Metaboard 1.0:

إن اللوحة Metaboard هي لوحة الكترونية مفتوحة المصدر تم تطوريها من قبل الشباب في الهاكرسبيس الأوسترالي metalab.at

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

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

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

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

إن تصميم الميتابورد – كما لاحظتم – يقوم على المتحكم الصغري Atmega168. لقد طُفْتُ الأسواق بحثاً عنه ولم أجده، فالسوق الصناعي في سوريا يركز على المتحكمات Atmega8 و Atmega16 و Atmega32 دون سواها، لأنها تسد الحاجة الصناعية في البلد.

اها تذكرت أمراً، وجدت Atmega168 عند متجر واحد فقط ، إلا أنه SMD 😐 … ما استفدنا شيئاً .

لذلك سلمت أمري لله، وقلت نحاول بـ Atmega8A الذي يشبه Atmega168 إلى أقصى الحدود، فكلاهما متشابهان بتوزيع الأقطاب، ولهما نفس العدد من الأرجل 28Pins ، إلا أن للثاني ميزات يتفوق بها على الأول نذكر منها سعة الذواكر عموماً، سواءً أكانت EEPROM أو SRAM أو Flash.

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

هذا هو مربط الفرس، هذا هو الأمر الذي جعلني أتابع عملي بطريقة خاصة وأعطاني الرغبة في إطلاق اللقب Rasheduino على هذه اللوحة.

السبب هو أن الـ Bootloader سيختلف والفيوزات Fuses ستختلف، إضافة إلى تعريف البورد على Arduino IDE، وإنشاء V-USB هو أمر صعب بالأساس… لكن في نهاية المقالة سيهون كل شيء إن شاء الله ، فقد جربت معظم الطرق حتى استدللت على الطريق الصحيح، وهاكم إياه ^_^

نسيت أن أذكر أن الاسم Rasheduino مشتق من اسمي “راشد” 😀

بعد كل المقبلات السابقة جاءت الوجبة الرئيسية … سنبدأ العمل

سنبدأ سوية بصنع راشدوينو … خطوة خطوة…

الخطوة الأولى: صنع مبرمجة سيريال

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

لن أتكلم عنها كثيراً، بل سأدع المقالة التالية من موقع اصنعها تقوم بذلك:

اصنعها إلكترونياً … بطاقة مبرمجة بسيطة جداً للمايكروكونترولرات Atmega 8

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

هههههههه … مضحكة هذه الفوضى !

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

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

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

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

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

أجيب وبكل بساطة: لا أعرف! جرب وخبرنا 😉

الخطوة الثانية: طباعة البورد واللحام

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

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

ستجد بداخله مجلد اسمه circuit وبداخله تصميم جاهز للبورد اسمه metaboard.brd

حول هذا الملف إلى دارة مطبوعة عند مطبعة متخصصة لتحصل على بورد نحاسي بطبقة واحدة One Layer.

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

العناصر المستخدمة:

– متحكم صغري ( مايكروكونترولر) ATMEGA 8 عدد 1

– قاعدة للمتحكم IC Holder من النوع الضيق بـ 28 نقطة عدد 1

– مذبذب كريستالي بتردد 16MHZ عدد 1

– منظم جهد 5 فولط 7805 عدد 1

– دايود 1N4007 أو 1N4004 عدد 1

– دايود زينر 3.6V عدد 2

– مكثف كهرليتي Electrolyte سعة 10uF جهد 25V عدد 2

– مكثفات عدسية 22pF عدد 2

– مكثف عدسي 100pF عدد 1

– مقاومة كربونية 68 أوم 0.25 واط عدد 2

– مقاومة كربونية 15 كيلو أوم 0.25 واط عدد 1

– مقاومة كربونية 1 ميغا أوم 0.25 واط عدد 1

– ضاغط لحظي مفتوح طبيعياً Normally Open بأربع نقاط عدد 1

– مدخل للتغذية Power Jack عدد 1

– مدخل USB من النوع B (مربع الشكل وقابل للوضع على بورد) عدد 1

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

– أغطية للوصلات Jumpers عدد 2

– دبابيس Female للوصلات الطرفية 26 نقطة ( مجموعات 8 + 8 + 6 + 4)

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

الخطوة الثالثة: تحميل البوتلودر *_*

وهي الخطوة التي خوفني منها الجميع، كانت بمثابة فزاعة، إلى أن جاء الأخ العزيز أيمن شلبي وأرشدني الطريق ^_^

ركزوا معي جيداً لأننا بدأنا بالعيار الثقيل… أنا أستخدم ويندوز XP

إن تحميل البوتلودر عموماً يكون على ثلاث مراحل:

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

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

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

لنمش سويةً :

أولاً: نصل المتحكم Atmega8A مع المبرمجة السيريال مع إزالة أي مذبذب كريستالي سابق وإضافة ما يلي:

– مذبذب كرستالي 16MHz بين الطرفين 9 و 10 للمتحكم.

– مكثف 22pf بين الطرف 9 للمتحكم والأرضي.

– مكثف 22pf بين الطرف 10 للمتحكم والأرضي.

– مكثف 22pf بين الطرف 20 للمتحكم والأرضي.

– مكثف 22pf بين الطرف 21 للمتحكم والأرضي.

ثانياً: قم بتحميل الملف التالي:

www.obdev.at/downloads/vusb/USBaspLoader.2010-07-27.zip

افتحه وستجد بداخله مجلداً باسم firmware وبداخله مجلد باسم hexfiles … ادخل واختر الملف mega8_16mhz.hex

وقم بتحميله على المتحكم عن طريق مبرمجة السيريال.

المقالة السابقة من موقع اصنعها تشرح جيداً برنامج Ponyprog لذلك سأعتبرك متقناً لاستخدامه 🙂

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

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

لا تنزع المتحكم من الدارة، بل دعه موصولاً مع المبرمجة فلم ننته بعد 😉

ثالثاً: لنبرمج الفيوزات … دع المتحكم كما هو في الدارة.

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

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

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

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

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

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

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/

الذي يعد بمثابة آلة حاسبة للفيوزات … اختر المتحكم كما في الصورة:

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

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

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

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

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

كما اتفقنا، لا يزال المتحكم موصولاً مع المبرمجة السيريال، اذهب مباشرة إلى برنامج Ponyprog ومن القائمة Command اختر Security and Configuration Bits:

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

(حصلنا على الخيارات من ترجمة الفيوزات عن طريق الآلة الحاسبة السابقة 🙂 )

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

مهلاً … لاتضغط OK بل اضغط Write وانتظر حتى انتهاء العملية وظهور رسالة النجاح ببرمجة الفيوزات.

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

افصل التغذية عن المتحكم وأخرجه من المبرمجة وضعه على بورد الراشدوينو 😀

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

بدءاً من هذه الخطوة أنا أستخدم Windows7.

بادئ ذي بدء، قم بتحميل الملف التالي:

www.fischl.de/usbasp/usbasp-windriver.2009-02-28.zip

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

قم بإحضار كبل USB من الطراز المستخدم في الطابعات، و صل الراشدونيو مع الكمبيوتر.

تأكد من وضع الوصلات Jumpers في الوضع الصحيح على البورد، واضغط على زر Reset الموجود على بورد الراشدوينو بعد الوصل مع الكمبيوتر.

أما كيفية وضع الـ Jumpers فانظر الصورة التالية:

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

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

المهم، لا بد من وضع هذا الـ Jumper عند وصل الراشدوينو مع الكمبيوتر وإلا فلن يستطيع الكمبيوتر التعرف على البورد.

* وصلة التغذية Power Jumper: دقق بالصورة وستجد أن هناك ثلاثة دبابيس، يقوم الـ Jumper بوصل الدبوس في المنتصف مع أحد الدبوسين الجانبيين.

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

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

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

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

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

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

لا مشكلة 🙂

انقر على أيقونة جهاز الكمبيوتر بالزر الأيمن للفأرة واختر Manage كما في الصورة:

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

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

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

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

 

 

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

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

مبارك 😀 لقد تعرف الكمبيوتر على بورد الراشدوينو وأصبح قادراً على التخاطب معه كجهاز USB.

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

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

في البداية قم بتحميل البرمجية Arduino IDE من الرابط: http://arduino.cc/en/Main/Software

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

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

افتح البرنامج وحاول استكشافه، إلا أنه غير جاهز للتخاطب مع البورد راشدوينو بعد.

هناك شرح واف عن البرنامج في هذا الكتاب الثمين: http://simplyarduino.com/?page_id=5

هيا بنا نضيف البورد Rasheduino إلى البرنامج Arduino IDE 🙂

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

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

arduino-1.0.1\hardware\arduino\bootloaders

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

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

رابعاً: اذهب إلى المسار التالي: 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.

مبااااااااااارك 😀  …. اصبح بورد الراشدوينو جاهزاً للعمل.

أطلق العنان لنفسك 😀 😀 😀

اكتب الكود الذي تريد، ابدأ بمثال بسيط :

حمل البرنامج على المتحكم واستمتع بأبسط وأجمل بورد أردوينو ^_^

لا يتسع المقام لشرح التعليمات البرمجية وما إلى ذلك … أعود فأقترح عليك وبشدة قراءة هذا الكتاب الرائع للمهندس عبد الله علي: http://simplyarduino.com/?page_id=5

ملاحظة: قد تظهر لديك الرسالة التالية :

لا مشكلة … تجاهلها فهي ليست رسالة خطأ وإنما تحذير 🙂

واستمتع بقراءة الكلمتين: Done Uploading فوق على اليسار واسم البورد  Rasheduino / Syria تحت على اليمين ^_^

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

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

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

الرخصة:

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License

Advertisements

20 thoughts on “Rasheduino … أول نسخة Arduino عربية من سوريا قائمة على ATmega8 وبمنفذ USB ^_^

  1. بارك الله فيك يا اخى الكريم وزادك من فضله وعلمه

  2. جميل جدا اخي بالله راشد ..
    جازك الله كل خير .. و بارك الله بك و زادك من العلم ما هو خير لك في الدنيا و الأخرة
    في إنتظار دروسك الخاصة العملية 🙂

  3. جميل جدا اخي بالله راشد ..
    جازك الله كل خير .. و بارك الله بك و زادك من العلم ما هو خير لك في الدنيا و الأخرة
    في إنتظار دروسك الخاصة العمليّة 🙂

  4. مشكور اخوي على مجهودك وبالتوفيق
    لكن لو تستطيع ايجاد حل لمشكلة ال serial communication لاني انا كمان من سوريا وما وجدت بوردات اردوينو بالسوق ومحتاج لبورد تكون usb وتدعم ال serial communication

  5. بعد الشكر الجزيل على مجهودك.
    لدي سؤال عن امكانية استخدام Atmega16 لأني لم أجد Bootloader لها !

    • أهلاً بك، والشكر موصول لك.
      في الحقيقة لا أدري لماذا ركز الأردوينو على المتحكمات ذات الـ 28 طرفاً ولم يهتم بالشرائح ذات الـ 40 طرفاً مثل Atmega16 أو ِAtmega32
      يمكنك أن تجد الأردوينو مبنياً على Atmega8 أو Atmega168 أو حتى Atmega328 لكن لا تجده مبنياً على 16 أو 32

  6. رائع !!! شكرا على هذه الفائدة الكبيرة
    لدي استفسار من بعد اذنك
    ما هو سعر ال Atmega8A و أسعار باقي المتحكمات كال Atmega32 و Atmega16 و من أين يمكن أن اجد هذه المتحكمات بالضبط لأنني لم اجد مثلها للأسف 😦 ؟
    شكرا مرة أخرى و في انتظار دروسك المستقبلية

    • بل شكراً لك على قراءة المقال.
      كي أجيبك عن سؤالك تلزمني معرفة مكانك .. هل أنت في سوريا ؟
      إن كنت في سوريا فالمتحكمات التي ذكرتها تملأ السوق في الحلبوني 🙂

      • انا زائر جديد في دمشق (لقد كنت في حلب سابقا)
        شكرا على ذكر المنطقة لكني احتاج لمعرفة اسعار هذه المتحكمات بالضبط لتنفيذ هذا المشروع ( و مشاريع مستقبلية انشالله)
        و مشكور سلفا على تعبك 🙂

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

  7. يا حبيبي مشكووور بس انا عاوز اسال ممكن تستخدم عائله SUPER CHIP ?ولا لا ؟الصراحه انا من السودان وسعر ATMG 16,8 غالي شديد عندنا ممكن تساعدني؟

  8. قصدي بخصوص الميكروكنترولر وجزاك الله خيرا

  9. الله يعطيك العافية علمجهود الكبير

  10. السلام عليكم
    مشالله عليكم ابدعت
    عندي سؤالين
    الاول ممكن اضافة ملحقات الاوردينو للراشدوينو مثل البلوتوث موديول والوايفاي موديول ؟
    والسؤال الثاني يعني بحكم الوضع في بلدنا وطبعا البال الفاضي كتير واللي متأكد اني ما لح اقدر صنع نسخة من الراشدوينو (علما انك ما قصرت ابدا بالشرح )
    هل تبيع منتج جاهز ؟
    وكم سعرو
    ولك كل الامنيات بالتفوق الدائم

    • وعليكم السلام ورحمة الله وبركاته
      أهلا وسهلا صديقي 🙂
      بالنسبة للسؤال الأول فأنا لم أختبر توافق الـ shields أو ما أسميته بالملحقات مع الراشدوينو
      أما بالنسبة للبيع فبصراحة بالي متل بالك 🙂

  11. السلام عليكم اخي انا قاعد بصمم بالدارة لكن الatmega المتوفرة عنا بغزة هي atmega8l-8pu هل لازم اغير شي ولا نفس الشغل لانه نفس الداتا شيت ارجو الرد السريع

    • وعليكم السلام ورحمة الله وبركاته
      بالنسبة للمتحكم atmega8l-8pu فأذكر أن المبرمجة تصبح غير قادرة على رؤيته أو التعرف عليه بعد ضبط إعدادات الفيوزات لذلك يفضل وبشدة استخدام Atmega8-A

      تحياتي لأهل غزة الحبايب

  12. التحية الك اخي ولكل اهل سوريا بس المشكلة المتوفر عنا بس atmega8l مافيه حل

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s