اكتشاف التسارع إلى جانب الحركات الجانبية - الكشف الفوري للتغيير في الاتجاه

StackOverflow https://stackoverflow.com/questions/2079732

سؤال

معرف يحتوي على تطبيق يقوم بشيء واحد إذا هزته بطريقة واحدة ، وآخر إذا هزته الآخر.

أجهزة الصراف الآلي رمز بلدي.

if (acceleration.x > 1.5) {

// ذراع إلى اليمين عند مواجهتك

    float duration = ([imageArray count]*0.04);

    //HUMAN EYE KEEPS IMAGES IN EYE For 40 MILLISECONDS//
    //NSLog(@"duration:%f", duration);
    [theFlash setAnimationImages:imageArray];
    [theFlash setAnimationRepeatCount:1];
    theFlash.animationDuration = duration;
    [theFlash startAnimating];
    NSLog(@"images flashed forward");   

}

if (acceleration.x < -1)
{
    //arm to the left when facing you

    float duration = ([imageArrayReversed count]*0.04);

    //HUMAN EYE KEEPS IMAGES IN EYE For 40 MILLISECONDS//
    NSLog(@"duration:%f", duration);
    [theFlash setAnimationImages:imageArrayReversed];
    [theFlash setAnimationRepeatCount:1];
    theFlash.animationDuration = duration;
    [theFlash startAnimating];
    NSLog(@"images flashed backward");  

}

القيم 1 و -1 تعمل عليها ليست حساسة للغاية.

ومع ذلك ، فإن هذا الرمز لا يعطيني النتائج المطلوبة. معرّف مثل الصور المراد Flash (انظر الرمز) بمجرد أن يبدأ الشخص في تحريك الجهاز في الاتجاه الآخر.

أي طريقة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

حسنًا ، سيتعين عليك دمج التسارع للحصول على السرعة. لسوء الحظ ، فإن مقياس التسارع صاخب بعض الشيء وسوف ينجرف حتماً قليلاً ، لذلك سيتعين عليك تصفية هذا التكامل. أنا فكر في المرشح الموصوف في http://www.musicdsp.org/showone.php؟id=92 ستفعل ما تحتاجه ، مع تعيين تردد القطع إلى حوالي 1/4 تردد أخذ العينات. أنت بحاجة إلى band الإخراج ، وسيتعين عليك ضبط معلمة الرنين.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top