| سطر 27: |
سطر 27: |
| | | | |
| | '''تصميم الدائرة الالكترونية:''' | | '''تصميم الدائرة الالكترونية:''' |
| − | |صورة=ShematicFAD.jpg
| + | |
| − | }}
| + | |
| − | {{خطوة وصفة
| + | [[image:ShematicFAD.jpg]] |
| − | |شرح=(هذه الخريطة الالكترونية رسمت بتطبيق فريتزينغ Fritzing المفتوح المصدر)
| + | |
| | + | |
| | + | (هذه الخريطة الالكترونية رسمت بتطبيق فريتزينغ [fritzing.org/home/ fritzing] المفتوح المصدر) |
| | | | |
| | | | |
| سطر 36: |
سطر 38: |
| | | | |
| | نلحظ أن مفتاح الزناد الكهربائي موصول بال-Arduino في مدخل/دبوس رقم 2, ولكن يمر قبل ذلك بعدد من العناصر الالكترونية (مكثف، مقاوم، ودائرة إلكترونية متكاملة)، هدف العناصر أن تعمل مع بعضها البعض لتنقية الاشارة القادمة من المفتاح، بشكل يمنع صدور أمر تشغيل بالخطأ لل-Arduino (نتيجة تشويش إلكتروني)فمن دون هذه العناصر ستعمل الآلة بمفردها بشكل عشوائي بغير أوامر المستخدم. الجدير بالذكر أنه من الممكن برمجة ال-Arduino بشكل ينقي الاشارة قبل التصرف على اساسها، مما يعفينا من إضافة هذه العناصر ولكنه من ناحية أخرى يعقد قليلاً كود البرنامج. (للمزيد عن هذا الموضوع إتبع [http://arduino.cc/en/Tutorial/Debounce#.UxPYb-NdV8E هذا] الرابط) | | نلحظ أن مفتاح الزناد الكهربائي موصول بال-Arduino في مدخل/دبوس رقم 2, ولكن يمر قبل ذلك بعدد من العناصر الالكترونية (مكثف، مقاوم، ودائرة إلكترونية متكاملة)، هدف العناصر أن تعمل مع بعضها البعض لتنقية الاشارة القادمة من المفتاح، بشكل يمنع صدور أمر تشغيل بالخطأ لل-Arduino (نتيجة تشويش إلكتروني)فمن دون هذه العناصر ستعمل الآلة بمفردها بشكل عشوائي بغير أوامر المستخدم. الجدير بالذكر أنه من الممكن برمجة ال-Arduino بشكل ينقي الاشارة قبل التصرف على اساسها، مما يعفينا من إضافة هذه العناصر ولكنه من ناحية أخرى يعقد قليلاً كود البرنامج. (للمزيد عن هذا الموضوع إتبع [http://arduino.cc/en/Tutorial/Debounce#.UxPYb-NdV8E هذا] الرابط) |
| | + | |
| | | | |
| | أيضاً نرى أن محرك السيرفو خاصة الباب وذلك خاصة الاصبع موصولان في مدخل/دبوس رقم 9 و10 على التوالي. عند تلقي ال-Arduino إشارة من مفتاح الزناد، تقوم ال-Arduino - وحسب برنامجنا المحمل عليها- بإرسال اشارات من نوع مغايرة مده النبض (PWM) وهو النوع المستعمل بشكل عام في التحكم بمحركات السيرفو. | | أيضاً نرى أن محرك السيرفو خاصة الباب وذلك خاصة الاصبع موصولان في مدخل/دبوس رقم 9 و10 على التوالي. عند تلقي ال-Arduino إشارة من مفتاح الزناد، تقوم ال-Arduino - وحسب برنامجنا المحمل عليها- بإرسال اشارات من نوع مغايرة مده النبض (PWM) وهو النوع المستعمل بشكل عام في التحكم بمحركات السيرفو. |
| | + | |
| | | | |
| | من ناحية أخرى وحسب الشرح الآنف في تقديم هذه الوصفة، نلاحظ أن الآلة تعمل بشكل مستمر (حتى عندما تكون في حالة إنتظار تغير حالة المفتاح)، مما يعني أن هناك إستهلاك دائم للطاقة، لذلك لقد أضفت مفتاح كهربائي آخر ولكن مخفي في أسفل الصندوق، يستخدم لإيقاف الآلة تماماً لتوفير الطاقه اثناء التخزين. الآلة تعمل ببطارية 9 فولت متوافرة بسهولة، ولكن يفضل إستعمال بطاريات ذات سعة أعلى (1 أمبير مثلاً) ولكن بجهد يتراوح بين 6 و 12 فولت كحد أقصى. الجدير بالذكر، أن ال-Arduino تدعم خاصية '''وضع السكون''' وكان بإمكاني إستخدام هذا الوضع الموفر للطاقة أثناء عدم عمل الآلة، ولكني فضلت عدم إستخدامه متفادياً تعقيد كود البرنامج. | | من ناحية أخرى وحسب الشرح الآنف في تقديم هذه الوصفة، نلاحظ أن الآلة تعمل بشكل مستمر (حتى عندما تكون في حالة إنتظار تغير حالة المفتاح)، مما يعني أن هناك إستهلاك دائم للطاقة، لذلك لقد أضفت مفتاح كهربائي آخر ولكن مخفي في أسفل الصندوق، يستخدم لإيقاف الآلة تماماً لتوفير الطاقه اثناء التخزين. الآلة تعمل ببطارية 9 فولت متوافرة بسهولة، ولكن يفضل إستعمال بطاريات ذات سعة أعلى (1 أمبير مثلاً) ولكن بجهد يتراوح بين 6 و 12 فولت كحد أقصى. الجدير بالذكر، أن ال-Arduino تدعم خاصية '''وضع السكون''' وكان بإمكاني إستخدام هذا الوضع الموفر للطاقة أثناء عدم عمل الآلة، ولكني فضلت عدم إستخدامه متفادياً تعقيد كود البرنامج. |
| سطر 43: |
سطر 47: |
| | | | |
| | أيضاً ترون أني وضعت مفتاح يعمل بالضغط عليه ، وهو مستخدم فقط لإعادة تشغيل ال-Arduino إذا لزم الأمر من دون الحاجة لفصل الطاقة عنها، وهو موصول في مدخل/دبوس ال-RESET. | | أيضاً ترون أني وضعت مفتاح يعمل بالضغط عليه ، وهو مستخدم فقط لإعادة تشغيل ال-Arduino إذا لزم الأمر من دون الحاجة لفصل الطاقة عنها، وهو موصول في مدخل/دبوس ال-RESET. |
| − |
| |
| | | | |
| | | | |
| سطر 71: |
سطر 74: |
| | |شرح=ممكن إعادة إستخدام أي صندوق موجود لديكم، على أن يستطيع احتواء كل العناصر الالكترونية من ال-Arduino، محركات السيرفو، البطارية والأسلاك، ولكني فضلت بناء الصندوق من الصفر ، ما يعطيني حرية في تحديد حجمه، ومتعة أكبر، كما يترك ذلك '''بصمة شخصية''' على الآلة :) | | |شرح=ممكن إعادة إستخدام أي صندوق موجود لديكم، على أن يستطيع احتواء كل العناصر الالكترونية من ال-Arduino، محركات السيرفو، البطارية والأسلاك، ولكني فضلت بناء الصندوق من الصفر ، ما يعطيني حرية في تحديد حجمه، ومتعة أكبر، كما يترك ذلك '''بصمة شخصية''' على الآلة :) |
| | | | |
| − | * لقد استخدمت لوحين من الخشب '''البلسا''' بسماكة 5mm، هذا الخشاب يستخدم عادةً لبناء نماذج للمباني، أو للطائرات المتحكمة عن بعد، فهو سهل التطويع ، خفيف الوزن، متمسك الحد بعيد، وممكن تقطيعه بسهولة مستخدمين الموس. | + | * لقد استخدمت لوحين من الخشب '''البلسا''' بسماكة 5mm، هذا الخشب يستخدم عادةً لبناء نماذج للمباني، أو للطائرات المتحكمة عن بعد، فهو سهل التطويع ، خفيف الوزن، متماسك الى حد بعيد، وممكن تقطيعه بسهولة مستخدمين الموس المكتبي. |
| | * استهلكت 5 أنابيب من غراء Cyanoacrylat (الملقب باللصق سريع المفعول، والمتوفر بسهولة) | | * استهلكت 5 أنابيب من غراء Cyanoacrylat (الملقب باللصق سريع المفعول، والمتوفر بسهولة) |
| | | | |
| − | هذا هو الصندوق الذي صنعت، وقياساته هي: ط22 ا14 ع14 cm: | + | هذا هو الصندوق الذي صنعت، وقياساته هي: طول 22 ارتفاع 14 عمق 14 سم: |
| | | | |
| | | | |
| سطر 80: |
سطر 83: |
| | | | |
| | | | |
| − | لاحظ أن قد جعلت الجانب الأعلى مقسوم على شكل باب متحرك يفتح من ناحيتين. ناحية المفتاح ، يفتح لصيانة الالكترونيات داخل العلبة، أما الناحية الأخرى ، فهو الباب الذي ستفتحه الآلة عند دفع المفتاح. لقد استعملت برغي (عدد 4) كمفصلات للأبواب. | + | لاحظ أني قد جعلت الجانب الأعلى مقسوم على شكل باب/غطاء متحرك يفتح من ناحيتين. ناحية المفتاح ، يفتح لصيانة الالكترونيات داخل العلبة، أما الناحية الأخرى ، فهو الباب الذي ستفتحه الآلة للسماح بمرور الإصبع لدفع المفتاح. لقد استعملت برغي (عدد 4) كمفصلات للأبواب، مع السماح بدورانها بسهولة من دون جهد كبير على محرك السيرفو. |
| | + | }} |
| | + | {{خطوة وصفة |
| | + | |عنوان الخطوة=تثبيت محركات السيرفو والأذرع |
| | + | |شرح=نريد أولاً تثبيت محركي السيرفو في مكانهما الصحيحين، وذلك يتطلب شيئاً من التجريب والخطأ فالتثبيت ، إلى ان نصل الى الأماكن المناسبة. |
| | + | |
| | + | قبل التثبيت، يجب صنع: |
| | + | # الإصبع الخشبي الذي سيدفع المفتاح |
| | + | # الذراع الخشبي الذي سيرفع باب الصندوق |
| | + | |
| | + | لقد صنعت كلاهما من خشب البلسا، وجعلتهم أكثر سماكةً لتحمل قدر أكبر من الجهد، بمضاعفة الخشب المستعمل. |
| | + | |
| | + | |
| | + | '''إصبع المفتاح''' |
| | + | |
| | + | إنظر الشكل أدناه(إلى اليسار) ، سيرفو الإصبع مثبت مباشرةً تحت حافة الغطاء خاصة المفتاح، '''بشكل أن مركز دوران السيرفو يتعامد مع حرف الغطاء'''. لهذا التثبيت أهمية كبيرة في السماح للإصبع بالحركة من داخل الصندوق إلى خارجه وبل عكس، من دون أن يلمس أو يتوقف عن الحركة، كما يساعد هذا التثبيت على إستخدام إصبع أقل طولا وتعقيداً نسبه لو أننا ثبتنا السيرفو بعيداً عن حافة الغطاء مثلاً! |
| | + | |
| | + | [[image:ServoFinger.jpg]] |
| | + | |
| | + | |
| | + | '''ذراع الباب''' |
| | + | |
| | + | لاحظ في الشكل أدناه (إلى اليمين)، سيرفو ذراع الباب مثبت إلى جانب الصندوق، بشكل أن مركز دوران السيرفو يبتعد قليلاً (2 سم) عن الباب العلوي، أما الذراع فهو مثبت على السيرفو ويتحرك بمعدل أقصاه 90 درجة من داخل الصندوق إلى خارجه ، مؤدياً إلى فتح باب الصندوق ، كي يستطيع الاصبع بالخروج بحرية من '''مخبئه'''! |
| | + | |
| | + | [[image:Servoarm.jpg]] |
| | + | |
| | + | |
| | + | '''ملاحظة مهمة عند صناعة الذراع والإصبع ثم تثبيتهما''' |
| | + | |
| | + | |
| | + | بما أن لكل صندوق تصنعون قياساته الخاصة، واماكن تثبيت السيرفو، فبالتالي إن أطوال الذراع والإصبع يجب أن تحدد بالنظر والتجريب حسب مقاسات الصندوق الذي صنعتم ، ومن '''المهم جداً''' تجريب حركة السيرفو للإثنين خلال مرحلة البناء وقبل التثبيت النهائي. |
| | + | |
| | + | هنا ادعوكم لتوصيل السيرفو بل-Arduino '''بشكل مؤقت''' وإستخدام مثال كود السيرفو خاصة برنامج [http://arduino.cc/en/main/software#.Uxw4BT9dV8E Arduino IDE]، هذا الكود موجود مع أي تنزيله لهذا البرنامج. لمزيد من المعلومات عن إستخدام هذا الكود، إتبع [http://playground.arduino.cc/ComponentLib/Servo#.Uxw4KT9dV8E هذا الرابط] |
| | + | |
| | + | |
| | + | '''إختبرو بهذا الكود ،أدنى واقصى درجة دوران مطلوبة لكلا المحركين، ويجب التجريب مع تركيب الذراع والإصبع. دونو في مكان ما القيمتان المطلوبتان لفتح الباب وأخرى لغلقه، ودونو أيضاً القيمتان المطلوبتان لتحيرك الإصبع كي يدفع المفتاح، وأخرى لإخفاء الاصبع داخل الصندوق.''' |
| | + | |
| | + | القيم المدونة هي عبارة عن زاوية دوران السيرفو وهي لا تتعدى 0 إلى 180 درجة. |
| | + | |
| | + | ستستخدمون هذه القيم الأربعة لاحقاً في تعديل الكود الأساسي لآلتنا الذي سوف نحمله على ال-Arduino في خطوة لاحقة. |
| | + | |
| | + | عند الوصول إلى القيام النهائية، ثبتو محركات السيرفو والأذرع تثبيتاً نهائياً. |
| | + | }} |
| | + | {{خطوة وصفة |
| | + | |عنوان الخطوة=التوصيلات الالكترونية |
| | + | |شرح=بعد تثبيت محركات السيرفو، والذراع والإصبع في أماكنهم الصحيحة، نستطيع الآن القيام بالتوصيلات الالكترونية متبعين التخطيط المرفق في '''الخطوة رقم 1''', محاولين وضع جميع الأسلاك والعناصر داخل الصندوق من دون اعلقه مسار حركه الأذرع. |
| | + | |
| | + | اليكم بعد الصور للتوصيلات النهائية: |
| | + | |
| | + | [[image:Tawseelat.png]] |
| | + | }} |
| | + | {{خطوة وصفة |
| | + | |عنوان الخطوة=فهم و تحميل كود ال-Arduino |
| | + | |شرح=الآن أصبح بالإمكان تحميل الكود النهائي لتشغيل الآلة، واللذي أشجع تعديله والإضافات عليه لإعطاء الآلة شخصية خاصة بكم. |
| | + | |
| | + | مرفق في هذه الخطوة الكود لتحميله على ال-Arduino ولكن قبل تحميل الكود يجب أن نعدله بإدخال القيم الأربع التي حصلتم عليها في إختبارتكم في الخطوة رقم 2. وذلك على الشكل الآتي: |
| | + | |
| | + | [[image:Useless machine Arduino code.zip]] |
| | + | |
| | + | إفتح هذا الكود في برنامج Arduino IDE، ابحث في الكود عن كل اي ورود للقيم التالية وبدلها حسب الجدول أدناه: |
| | + | |
| | + | [[image:Jadwalalkeyam.png]] |
| | + | |
| | + | ستلاحظ أن هناك قيم أخرى غير تلك المذكورة أعلاه ، وهي قيم تقع بين القيم الادنى والاقصى لدوران محركات السيرفو. يجب عليك تعديلها بالتجريب للحصول على الحركه النهائية المطلوبة. |
| | + | |
| | + | '''أقسام الكود''' |
| | + | |
| | + | إن الكود مقسوم الى ثلاث مراحل: |
| | + | # مرحله ابتداء، فيها نحدد القيم الابتدائية للمتغيرات المستعمله في الكود |
| | + | # مرحلة '''اعدد''' (في وظيفة Setup) وهي مرحلة تهيئة لمداخل ومخارج ال-Arduino حسب حاجتنا وتحديد القيم الابتدائية المستعملة لمحركات السيرفو، وسرعة الارسال والإستقبال من/إلى ال-Arduino عبر المنفذ التسلسلي USB. |
| | + | # مرحلة التكرار (في وظيفه loop): وهذا هو صلب الكود الذي وضعت فيه منطق الوظائف التي ستحرك محركي السيرفو واستشعار التغير في قطبيه مفتاح الزناد. كما يشير إسم هذه الوظيفة loop، فإن ال-Arduino وبعد الانتهاء من تنفيذ الأوامر فيها، ستعود من جديد لبداية هذه الوظيفة loop، سيتكرر هذا إلى مالانهاية، أو حتى فصل البطارية عن الآلة. |
| | + | |
| | + | |
| | + | لاحظ أن القسم الأول من كود loop، هو عبارة عن إستدعاء وظيفي للوظائف المتعددة المكتوبة في القسم السفلي للكود، يتم الاستدعاء بشكل تسلسلي وظيفه تلو الأخرى كلما قام المستخدم بدفع المفتاح بإتجاه تشغيل الآلة، مما يعطي حركات جديدة ومتبدلة في كل مرة. |
| | + | |
| | + | |
| | + | كل ما عليكم فعله الآن هو توصيل ال-Arduino بمخرج ال-USB في جهازكم. اختارو المنفذ التسلسلي الصحيح (COM port) من لائحة Tools > Port، ولوحة ال-Arduino خاصتكم من لائحة Tools > board. يمكنكم الآن الضغط على زر رفع (Upload) ، مما سيسب بتأكد تلقائي للكود ومن ثم تحميله على ال-Arduino. |
| | + | |
| | + | |
| | + | إذا اتبعتم التوصيلات الالكترونية بدقة ، وتركيب السيرفو والأذرع كما شرحت آنفاً، أصبح لديكم الآن آلة عديمة الفائدة، جاهزة أن تتحداكم! :) |
| | + | |
| | + | |
| | + | عند الاختبار الأول، لو لاحظتم حركه غير متوقعة للإصبع أو ذراع الباب ، فذلك قد يعود لأسباب عديدة، أهمها إحتمال انكم ثبتم الأذرع على مركز السيرفو بشكل معكوس. في هذه الحال، قوموا بعكس أماكن السيرفو أو الأذرع، وإذا تعذر ذلك، ممكن عكس دوران السيرفو في كود ال-Arduino،بالبحث وتبديل في كل وظيفة، القيم القصوى للسرفو المعني بتلك الدنيى منها، وبعكس إتجاه علامات أكبر > بأصغر <، وبلتالي أيضاً عكس إتجاه علامات أصغر ب أكبر. أيضاً تبديل كل ورود لإشارة + ب -، و - ب +. |
| | + | }} |
| | + | {{خطوة وصفة |
| | + | |عنوان الخطوة=كلمة أخيرة |
| | + | |شرح=اتمنى أن تكونو قد استمتعتم بصناعة هذه الآلة، وبالرغم من اسمها، ''عديمة الفائدة'' أن تكونو قد وجدتم فائدة ومعرفة، ربما لإستخدامها في مشاريع أخرى. |
| | | | |
| − |
| + | |
| − | |صورة=BoxFAD.jpg
| + | على أمل أن اتلقى تعليقاتكم، والإجابة عن أي سؤال إذا وجد. |
| | + | |
| | + | فهد الرياشي - 2014 |
| | + | riachi@gmail.com |
| | }} | | }} |
| − | '''ملاحظة :الوصفة في طور الكتابة...'''
| |