مقدمة
راشدوينو (وتقرأ راش-دوينو أو 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الذي يفهمه المتحكم الصغري. |
|
||
بطاقة أردوينو 2009 (Arduino Duemilanove) |
|||
صعبة هذه الشريحة – بالنسبة لمبتدئ مثلي على الأقل – هي أنها من نوع الشرائح السطحية SMD (أي Surface Mounting Device) فهي تحتاج إلى دقة وخصوصية من أجل لحمها على اللوحة الإلكترونية. |
|||
مع ذلك، قبلت الأمر وقلت لا بد من أن تحل المشكلة، وأخذت أصمم اللوحة من جديد على برنامج Eagle، لا شك أن التصميم الأصلي موجود ومفتوح المصدر ومتوفر على النت، لكن كنت أحاول أن أتخلص من أكبر قدر من العناصر "الكمالية" إن صح التعبير، مما اضطرني إلى إعادة التصميم من نقطة الصفر.
وإذ بالأخ الفاضل والعزيز عبد الله علي، يقاطع إعادة اختراعي للعجلة، ويذهلني بكتابه الرائع الذي يعد بالنسبة لي انطلاقة أمل جديدة: |
|
||
الجميل بهذا الكتاب أنه يصف مشكلة الـ 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.
وها هي التصميمات الهندسية للبطاقة كاملة لمن أراد صنعها: |
كلمات عن V-USB
هي تقنية برمجية تسمح لأي متحكم أصغري من نوع AVRبالاتصال مع منفذ USBمباشرة دون الحاجة لاستخدام FT232. أي، كأنها تعزل جزءاً من المتحكم وتجعله يعمل عمل FT232، فيصبح المتحكم قادراً على التفاهم مع الحاسوب. أما الطريقة التي ننشئ بها V-USBفي المتحكم، فتتكون من خطوتين:
2- برمجة فيوزات (Fuses) المتحكم الصغري وهي مجموعة من المعايير (أي Parameters) مسؤولة عن ضبط إعدادات دائمة في المتحكم. تبقى هذه الإعدادات على حالها محفوظة في ذاكرة المتحكم حتى لو انقطعت التغذية الكهربائية عنه. من الأمثلة على هذه الإعدادات: المؤقت Watch Dog Timerو تردد العمل إلخ.
وللتوسع في الأمر أنصح بالتالي: |
ننتهي من مشكلة فتأتي أخرى!
إن تصميم بطاقة 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) لأننا سنستخدمها مرة واحدة فقط، وهذا مخططها على اليسار. لن أتكلم عنها كثيراً، بل سأدع المقال التالي من موقع اصنعها يقوم بذلك: |
|
|
اصنعها إلكترونياً - بطاقة مبرمجة بسيطة جداً للمتحكمات ATMega8 كما قلنا سابقاً، لا داعي للحام بل يمكن استخدام لوحة التجارب، خذوا مثلاً مبرمجتي : |
||
عفوا قد تكون مضحكة هذه الفوضى! أحب أن أذكر بنقطة هامة جداً: أترون الملقطين الأحمر والأسود؟ إنهما من أجل تأمين التغذية الخارجية للمبرمجة، نعم فهي تحتاج 5V+ (سأخبركم سراً، حصلت على 5فولط من منفذ USB).
أما الأسلاك الخارجة من المبرمجة نحو الأسفل، فهي خطوط البرمجة MISOو MOSIو SCKالخ. |
|
|
المهم، لا تتجاوز هذه الخطوة حتى تتأكد من عمل المبرمجة 100%، جرب برنامج إضاءة بسيط LED Blinkingباستخدام WinAVRأو MikroC for AVRأو أياً شئت.
أنت المسؤول عن هذه الخطوة ويجب أن تحصل على مبرمجة متتالية صالحة للبرمجة ومجربة. وبالمناسبة، أشكر الأخ الفاضل أيمن شلبي الذي دلني على هذه المبرمجة ولم يقصر في مساعدتي.
وقد يسألني سائل: عندي مبرمجة USBشاملة مثل TOP2009فهل أستطيع تنصيب برنامج الإقلاع عن طريقها؟ |
الخطوة الثانية: تصميم وتركيب البطاقة
لا بد من قراءته
من أجل أن تصنع بطاقة راشدوينو بنجاح فمن فضلك اضطلع على المقالات الثلاث التالية ولو بنظرة خاطفة إذ أنها مهمة في تحويل الدارات الكهربائية إلى بطاقات إليكترونية بمهنية عالية وبصنع يدك فقط:
|
الأجزاء الرئيسية
|
||
العربية إنجليزية فرنسية |
الكمية |
القيمة أو الصيغة |
متحكم صغري 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) |
تصميم البطاقة
ادخل إلى الرابط التالي وحمل الملف:
ستجد بداخله مجلدا اسمه circuit وبداخله تصميما جاهزا للبطاقة يحمل الاسم التالي: metaboard.brd.
حول هذا الملف إلى دارة مطبوعة عند مطبعة متخصصة لتحصل على بطاقة نحاسية بوجه واحد (One Layer). ضع العناصر على البطاقة ولحم بكل دقة وانتبه من وصل نقطتين متجاورتين مع بعضهما البعض، الحم كل شيء إلا المتحكم، فهو غير جاهز بعد. |
|
تركيب البطاقة
يمكنك أن تنفذ الدارة على لوحة مثقبة مباشرة كما هو مشروح في المقال الأول في لا بد من قراءته. وإذا أردت أن تنجزها باحترافية أكبر فاستعن بالمعلومات الواردة في المقال الثالث ثم الأول لتخرجها على شكل لوحة مطبوعة وجميلة. |
|
ملاحظة فنية: قم بتلحيم قاعدة المتحكم IC Holder فارغة على البطاقة كي لا تعرض المتحكم للحرارة. |
الخطوة الثالثة: تحميل برنامج الإقلاع
وهي الخطوة التي خوفني منها الجميع، كانت بمثابة فزاعة، إلى أن جاء الأخ العزيز أيمن شلبي وأرشدني الطريق. ركزوا معي جيداً لأننا بدأنا بالعيار الثقيل. أنا أستخدم ويندوز XPوإن تحميل برنامج الإقلاع عموماً يكون على ثلاث مراحل: 1) وصل المتحكم مع المبرمجة ووصل التغذية. 2) نقل ملف hexمناسب من الحاسوب إلى المتحكم، وذلك عن طريق المبرمجة المتتالية. 3) برمجة الفيوزات.
لنذهب سويةً خطوة خطوة:
أولاً: وصل المتحكم مع المبرمجة ووصل التغذية نصل المتحكم Atmega8Aمع المبرمجة المتتالية مع إزالة أي متذبذب كريستالي سابق وإضافة ما يلي:
ثانياً: برمجة المتحكم قم بتحميل من خلال الضغط على الرابط 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فلا داعي لهذه المتاهة، سأوفر عليك الجهد. كما قلنا سابقاً، إن الفيوزات هي بارامترات إعدادات المتحكم، تخزن هذه البارامترات بداخل المتحكم على هيئة 2Bytesأو 3Bytes، وهذه البايتات هي: Fuse high byte
في حالتنا لن نستخدم إلا: Fuse High Byteو Fuse Low Byte. من بين الطلاسم يمكنك أن تستنتج أن للمتحكم Atmega8: High fuse = 0XC0 |
|||
جميل! تكفينا هاتان القيمتان لحل مشكلة الفيوز، خذ هاتين القيمتين واذهب بهما إلى الموقع التالي الذي يعد بمثابة آلة حاسبة للفيوزات: http://www.engbedded.com/fusecalc/ اختر المتحكم كما في الصورة التالية: |
|||
|
|||
بعد ذلك ستظهر لك صفحة جديدة. تجاهل كل ما كتب فيها وانزل إلى آخرها، لتجد كما في الصورة التالية: |
|||
|
|||
عدل على القيم Lowو Highلتصبح كما يلي: |
|||
|
|||
ثم اضغط Apply Valuesوانتظر حتى ينتهي تحميل الصفحة، وسترى المنظر الرائع: |
|||
|
|||
إن هذه الصورة ذات قيمة باهظة فعلاً !! لماذا؟ لأنها ترجمت قيم الفيوزات على هيئة خيارات، فأراحتنا من فك الطلاسم. |
|||
******************************* كما اتفقنا، لا يزال المتحكم موصولاً مع المبرمجة المتتالية.
الآن، اذهب مباشرة إلى برنامج Ponyprogومن القائمة Commandاختر: Security and Configuration Bits: |
|
||
بعد ذلك، تظهر نافذة اختيارات متعددة، نجعل هذه النافذة بالشكل التالي: |
|
||
حصلنا على الخيارات من ترجمة الفيوزات عن طريق الآلة الحاسبة السابقة. بالنسبة للخيار المشار إليه بخط أحمر، إن كان مفعلاً لديك فضع عليه إشارة Check، وإن لم يكن مفعلاً كما في الصورة فلا بأس بذلك.
مهلاً، لا تضغط على الزر OKبل اضغط Writeوانتظر حتى انتهاء العملية وظهور رسالة النجاح ببرمجة الفيوزات. أغلق النافذة بـ OKوافتحها من جديد ثم اضغط Read، إن بقيت الخيارات كما هي فهنيئاً لك، لقد نجحت بتنصيب Bootloaderعلى Atmega8A. افصل التغذية عن المتحكم وأخرجه من المبرمجة وضعه على بطاقة الراشدوينو. |
الخطوة الرابعة: تعريف الراشدوينو على الحاسوب – USB Driver
بالنسبة لي فإني أستخدم Windows7. وبالتالي، الطريقة التي أشرحها هنا تعتمد على هذا النظام. بالنسبة لك فيمكنك أن تجرب مع نظام تشغيلك أيضا. المهم، بادئ ذي بدء، قم بتحميل الملف التالي: |
|||||
usbasp-windriver.2009-02-28.zip
يحتوي هذا الملف بداخله الملفات اللازمة لتعريف الراشدوينو على الحاسوب. فك ضغطه في مكان مناسب يسهل الوصول إليه. قم بإحضار كابلUSBمن الطراز المستخدم في الطابعات، و صل الراشدونيو مع الحاسوب. كذلك يجب أن تتأكد من وضع الوصلات Jumpersفي الوضع الصحيح على البطاقة، واضغط على زر Resetالموجود على بطاقة الراشدوينو بعد الوصل مع الحاسوب. أما كيفية وضع الـ Jumpersفانظر الصورة التالية: |
|
||||
|
|||||
لاحظ وجود ثلاثة عناصر أساسية:
1- وصلة برنامج الإقلاع Bootloader Jumper: عند وضع هذه الوصلة فإن المتحكم ينتظر أوامر برمجية من الحاسوب وعند إزالتها يدخل في البرنامج مباشرة. لذلك إذا كنا نريد برمجة الراشدوينو وهو موصول مع الحاسوب فإن الـ Jumperيجب أن يكون موضوعاً كما في الصورة. عندها يتلقى الراشدونيو أوامر برمجية من الحاسوب وبعدها يعمل البرنامج دون الحاجة إلى إزالة الـ Jumper. أما إن أردنا أن نجرب البرنامج دون وصل البطاقة مع الحاسوب فلا بد من إزالة هذه الوصلة، وإلا فلن يعمل لأنه ينتظر أوامر برمجية من الحاسوب وهو غير موصول مع الحاسوب أصلاً. المهم، لا بد من وضع هذا الـ Jumperعند وصل الراشدوينو مع الحاسوب وإلا فلن يستطيع الحاسوب التعرف على البطاقة. |
|||||
2- وصلة التغذية Power Jumper: دقق بالصورة وستجد أن هناك ثلاثة دبابيس، يقوم الـ Jumperبوصل الدبوس في المنتصف مع أحد الدبوسين الجانبيين. إن وضعت الوصلة كما في الصورة أي إلى اليمين فهذا يعني أن الدارة ستأخذ الطاقة من منفذ USBنفسه ولا حاجة لمصدر طاقة خارجي. أما إذا وضعت الوصلة إلى اليسار، أي وصلت الدبوسين الأوسط والأيسر مع بعضهما فهذا يعني أن الدارة تستمد الطاقة من منبع خارجي، مثل هذا الذي في الصوة جانبه. طبعاً لا بد أن يكون القطب الداخلي موجباً والخارجي سالباً (لاحظ الإشارة فوق جملة MADE IN CHINA ) ولا بد من أن يتراوح جهد الدخل ما بين 7فولط و 15فولط. |
|
||||
3- الضاغطة 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. افتح البرنامج وحاول استكشافه، إلا أنه غير جاهز للتخاطب مع البطاقة راشدوينو بعد.
هناك شرح واف عن البرنامج في هذا الكتاب الثمين:
هيا بنا نضيف بطاقة راشدوينو إلى البرنامج 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.bootloader.low_fuses=0x9f metaboard.build.f_cpu=16000000L metaboard.upload.disable_flushing=true ############################################################## |
|
إن عشرات التعديلات ورسائل الخطأ في الخطوتين السابقتين كان السبب المباشر الذي دفعني لتسمية البطاقة Rasheduino.
خامساً: أغلق البرنامج Arduino.exeإن كان بحالة عمل، وانزع الوصلة USBمن الحاسوب ثم صلها مرة أخرى، واضغط على الزر Resetالوجود على بطاقة Rasheduino. افتح البرنامج Arduino.exeثانية، من القائمة Toolsذاتها اختر Serial Portوانتق الخيار المناسب. ومن القائمة Toolsأيضاً انتق Boardثم اختر اللوحة المسماة Rashedunio / Syria. |
|
|
|
مبارك، اصبحت بطاقة الراشدوينو جاهزة للعمل. أطلق العنان لنفسك الآن. اكتب الشيفرات البرمجية التي تريد، ابدأ بمثال بسيط كهذا الذي في الصورة جانبه.
حمل البرنامج على المتحكم واستمتع بأبسط وأجمل بطاقة أردوينو. لا يتسع المقام لشرح التعليمات البرمجية وما إلى ذلك. أعود فأقترح عليك وبشدة قراءة هذا الكتاب الرائع للمهندس عبد الله علي:
|
|
ملاحظة: قد تظهر لديك الرسالة التالية. لا مشكلة، تجاهلها فهي ليست رسالة خطأ وإنما تحذير. |
|
واستمتع بقراءة الكلمتين: Done Uploadingفوق على اليسار واسم البطاقة Rasheduino / Syria تحت على اليمين. |
|
مساوئ الراشدوينو
من الإنصاف أن يقول المرء ما له وما عليه، إن بطاقة الراشدونيو لا تدعم التخاطب التسلسلي في الزمن الحقيقي مع الحاسوب، أي لا يمكن – لحد الآن – استخدام التوابع Serial.Printو Serial.Read، هذا يعود إلى طريقة عمل V-USB. |
الرخصة
في النهاية، أقول الحمد لله الذي قواني على كل ما سبق ووفقني إليه، ثم أشكر كلاً من الأخوين الكبيرين عبد الله علي وأيمن شلبي اللذين لم يقصرا في مساعدتي، وأرجو أن يكون هذا الإنجاز البسيط خطوة إيجابية تدفع عجلة التطور إلى الأمام، وتساهم في نشر العلم والثقافة الإلكترونية بين الناس. |
|
هذا العمل تم نشره تبعا لبنوذ النشر التالية: Creative Commons Attribution-NonCommercial 3.0 Unported License |
|
تأليف
تأليف: راشد القطيني (دمشق – الشام)
البريد الإليكتروني:عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.
صفحة الفايسبوك: http://www.facebook.com/rashed.koutayni
{jumi [*3]}
المراجع