2013-05-27 5 views
1

Я разрабатываю приложение для подсчета шагов пользователя при помещении телефона в карман его штанов. И мне нужно знать, что лучше использовать. Должен ли я использовать датчик акселерометра или датчик GyroScope. Также я пробовал датчик акселерометра, и он работал, но я прошу проверить, является ли GyroScope более точным для этой функции или акселерометра? Заранее благодарим за помощь.Этапы подсчета с использованием акселерометра или гироскопа

+0

Эй приятель вы получили ваша проблема решена? Можете ли вы PLZZ предложить что-нибудь, что могло бы помочь мне, как им пытаются сделать приложение, которое мог счетчик шагов пользователя без использования микросхемы M7. Пожалуйста, помогите !! –

+0

Попытайтесь найти в GitHub библиотеку с открытым исходным кодом под названием «Шагомер», эта библиотека поможет вам понять, как использовать телефонные датчики при подсчете человеческих шагов. –

+0

Не могли бы вы поделиться ссылкой ... как я не нашел любая библиотека на GitHub, которая могла бы считать человеческие шаги. –

ответ

4

Я думаю, что вы, возможно, уже видели мои идеи по этому вопросу, но для полноты, я думаю, это хорошо, чтобы записывать их здесь.

Я думаю, что лучшие результаты будут получены из всех доступных датчиков. Однако я получил разумные результаты только за счет использования данных акселерометра, см. my answer here. То, что я сделал, это заставить многих друзей ходить за мной, и я подсчитал, сколько шагов они предприняли. Когда они шли, мое устройство Android регистрировало весь выход датчика. Затем я разработал программу на C# (потому что это мой любимый язык), который проанализировал все файлы журналов и, следовательно, оптимизировал методологию подсчета шагов, которые я затем портировал на Android java.

Независимо от того, какие датчики вы используете, регистрируя всю нагрузку данных, а затем анализируя, как лучше всего подсчитать шаги, я бы рекомендовал.

1

Акселерометр определяет ускорения вдоль оси, тем временем гироскоп может обнаружить ротацию, так что они имеют разные (и взаимодополняющий) использует

Взгляни на это более подробное объяснение их различий, и значение, которые вы можете выбирать из их исходные данные https://github.com/hadimichael/V-Tracker/wiki/Hardware

+0

@ H2CO3 Может ли u pls предоставить истинный или правый комментарий вместо неправильного? –

+0

@KareemWaheed ничего, пренебрегаем ... –

0

Вы можете попробовать это .. это прекрасно работает для меня ..

 var motionmanager = CMMotionManager() 
     motionManager.deviceMotionUpdateInterval = 0.1 
     motionManager.startDeviceMotionUpdatesToQueue(NSOperationQueue.currentQueue(), withHandler:{ 
      deviceManager, error in 

      var accelerationThreshold:Double = 1; 
      var userAcceleration:CMAcceleration = deviceManager.userAcceleration; 
      if(fabs(userAcceleration.x) > accelerationThreshold) || (fabs(userAcceleration.y) > accelerationThreshold) || (fabs(userAcceleration.z) > accelerationThreshold) 
      { 
       println("LowPassFilterSignal") 
      } 
     }) 
Смежные вопросы