اختبار spoonBot#
spoonBot روبوت بسيط ذو دفع تفاضلي مع ملعقة متصلة بسيرفو تتيح له التحريك الأفقي والإمالة. انظر صفحة spoonBot-Construction لمعلومات حول بناء spoonBot. يحتوي البرنامج النموذجي الذي يأتي مع أحدث توزيعة cc3 على كود نموذجي يوضح كيفية تحريك spoonBot وكذلك تشغيل وضع العرض التوضيحي لـ spoonBot. وضع العرض التوضيحي لـ spoonBot مشابه لوضع العرض التوضيحي لـ CMUcam2 إلا أنه يستخدم spoonBot للتحريك الأفقي والإمالة.
معايرة spoonBot#
قبل استخدام spoonBot، تحتاج إلى معايرة إعدادات السيرفو الخاصة بك. يتم ذلك بضبط بنية البيانات التالية في أعلى main:
// SpoonBot Calibration Points
// Assume Left = Servo 0
// Assume Right = Servo 1
// Assume Spoon = Servo 2
my_cal.left_mid = 71;
my_cal.right_mid = 77;
my_cal.spoon_down = 100;
my_cal.spoon_mid = 202;
my_cal.spoon_up = 255;
my_cal.left_dir = 1;
my_cal.right_dir = -1;
my_cal.spoon_dir = 1;
// Set the calibration points
spoonBot_calibrate (my_cal);
احرق برنامج محاكاة cmucam2 الثابت على الكاميرا
افتح إما CMUcam3 Frame Grabber أو برنامج طرفية
باستخدام Frame Grabber، انتقل إلى لوحة "Settings" واسحب أشرطة السيرفو لتغيير القيم
في الطرفية، اكتب "sv <servo-id> <servo-value>" لضبط السيرفوات على سبيل المثال:
:sv 0 77 ACK
أوجد الموضع الأوسط للسيرفوين 0 و1 بضبطهما حتى تتوقف العجلات
my_cal.left_mid = <القيمة من السيرفو 0>
my_cal.righ_mid = <القيمة من السيرفو 1>
الآن تحتاج إلى إيجاد إشارة الاتجاهات
بالنظر إلى spoonBot من الخلف (الملعقة نحوك) حاول خفض رقم السيرفو 0 الذي ينبغي أن يكون العجلة اليسرى
إذا دار السيرفو في اتجاه عقارب الساعة / للخلف (نحوك) فينبغي ضبط left_dir على 1
إذا دار السيرفو عكس اتجاه عقارب الساعة، ينبغي ضبط left_dir على -1
كرّر للسيرفو 1 (الذي ينبغي أن يكون العجلة اليمنى من وجهة نظر spoonBot)
إذا دار السيرفو في اتجاه عقارب الساعة / للخلف (نحوك) فينبغي ضبط right_dir على 1
إذا دار السيرفو عكس اتجاه عقارب الساعة، ينبغي ضبط right_dir على -1
عادةً، ينبغي ضبط أحد السيرفوهات على سالب!
الآن أوجد مواضع Min وMiddle وMax للملعقة بضبط Servo 2
Min ينبغي أن يكون أصغر قيمة تدفع الملعقة للأسفل ومن ثم تميل spoonBot للأمام
اضبط spoon_down وفقًا لذلك
Max عادةً ما يكون 255 وينبغي أن يضع spoonBot ناظراً للأعلى قدر الإمكان
اضبط spoon_up وفقًا لذلك
Middle هي القيمة التي تجعل السيرفو مستوياً
اضبط spoon_mid وفقًا لذلك
إذا بدا Min وMax معكوسين، غيّر spoon_dir إلى -1
بمجرد الانتهاء من المعايرة، أعد تصريف المشروع واحرق CMUcam3. سيمر spoonBot أولاً بتسلسل من الحركات المُبرمَجة للتأكد من إعداد السيرفوات بشكل صحيح. ثم سينتظر spoonBot ضغطة زر لبدء تتبع لون. يُعرض نص عبر المنفذ التسلسلي لإعلامك بمراحل التشغيل المختلفة.
ينبغي أن تكون الحركة المبرمجة كالتالي:
اجلس ثابتًا
انظر للأسفل
انظر للأعلى
العودة إلى الموضع الأوسط
الدوران باتجاه عقارب الساعة (بالنظر من الأعلى)
الدوران عكس اتجاه عقارب الساعة
مصباح LED الأحمر مطفأ بينما تستعد الكاميرا
يضيء مصباح LED الأحمر عندما تكون جاهزة للتتبع
إذا بدا هذا صحيحاً، فحاول إمساك جسم ملون زاهٍ على بُعد بضع بوصات أمام الكاميرا ثم اضغط الزر. عندما تسحب الجسم بعيداً، ينبغي أن يدور spoonBot نحوه. استخدم أجساماً ملونة زاهية تكون موحدة اللون قدر الإمكان. جسم مثل قطعة قماش حمراء زاهية سيعمل جيداً لأنه يعكس القليل جداً من الضوء (بخلاف الأحمر النقي). تأكد من وجود إضاءة كافية في الغرفة. جرّب التقاط إطار لترى كيف تبدو الظروف.
ملاحظة: إذا كنت ترغب في تعطيل السيرفوات دون فصلها، افصل وصلة طاقة السيرفو (servo-power-jumper).