المدونة الثانية عشر / إنشاء أمر حركة للتحرك بالملي ميتر / عمليات رياضية

اليوم أعزائي سوف نتحدث عن موضوع شيق وهو عمل أمر حركي لنقوم بتحريك الروبوت بالملي متر ، من المعروف أن أمر الحركة في البرمجة يتيح لك تحريك الروبوت باللفات أو الدرجات أو الثواني أو بشكل مفتوح بناءً على شرط معين ، ولكن ماذا لو أردنا تحريك الروبوت بالسنتي متر أو الملي متر ! وعمل أمر برمجي ثابت لذلك ! ، سيتطلب ذلك برمجة الأمر نفسه ومن ثم الإحتفاظ به في مكتبة الأوامر الخاصة بك (My Block)على مستوى المشروع ومن ثم استخدامها في أي برنامج تقوم بإنشائه.

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

من المعروف أن المتر = 100 سم ، المتر=1000 ملم ، السنتي متر (سم)= 10 ملم .
أيضاً لمعرفة المسافة التي يقطعها الروبوت لابد من معرفة عدد الدورات التي تقطعها عجلة الروبوت ونضربها في محيط العجلة ، أي أن المسافة = عدد الدورات * محيط العجلة
وبالمثل فإن عدد الدورات التي يقطعها الروبوت = المسافة / محيط العجلة
محيط العجلة (الدائرة) = 2*ط*نق
ملاحظة : لمعرفة المسافة بالملي متر لابد من حساب المحيط بالملي متر وإذا كانت بالسنتي فلابد من تحويل محيط العجلة بالسنتي متر.

لمعرفة نصف القطر لعجلة الروبوت نلاحظ أنه مكتوب على العجلة طول نصف القطر والقطر كماهو موضح في الصورة .

نلاحظ أن نصف القطر = 28 ملم

برمجة أمر للتحرك بالملي متر

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

  • نقوم بتعريف متغير عددي Distance ونكتب فيه القيمة 200
  • نقوم بقرائة هذا المتغير
  • نقوم بالتوصيل بين أمر قرائة المتغير وأمر العملية الرياضية وهي القسمة لنقوم بتقسيم تلك القيمة على 176 حيث 176 هي محيط العجلة = 2*3.14*28 = 176 ملم
  • نقوم بتوصيل الناتج في منفذ الدورات في الأمر الحركي وبذلك سوف يتحرك الروبوت بمقدار 1.1 دورة والتي تعطي المسافة 200 ملم أو 20 سم.

 

  • بعد ذلك نقوم بعمل تحديد للبرنامج لعمل أمر حركي خاص My Block كما تعلمنا سابقاً ونقوم بتحديد وتعريف البارميترس أو المعايير الخاصة به وهي عبارة عن القيمة بالملي ميتر والباور الخاص بأمر الحركة.
  • بعد ذلك نقوم بحذف المتغيرات ونقوم بالتوصيل بين البارميترس والعملية الرياضية وأمر الحركة كما هو موضح بالصور في الأسفل.
  • ويكون بذلك قد جهزنا أمر خاص بنا لتحريك الروبوت بالملي ميتر.

 

 

 

 

 

 

 

 

 

 

 

 

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