我正在尝试实现一个Android应用程序,通过使用手机的气压计测量不同楼层的压力来告诉用户他是下楼还是上楼。
我的想法是写一个步骤计数器来扫描用户是否在行走,每n步检查一次,步骤1和步骤n的压力,如果压力变化的阈值为0.3 mbar,我就可以知道地板已经改变了(我做了一些试验来找到0.3的值)。
问题是,如果第一步是在楼梯的开始,最后一步是在另一层,那么这种方法是有效的,否则气压计将无法识别两层之间的压力差。
有人能给我提个解决这个问题的建议吗?
另外,我不得不用气压计,所以我必须用这个传感器。
最佳答案
假设你的0.3 mbar是可靠的(可能不是,见下文),你不能仅仅假设n步,因为有些人会一次跑上两步,有些人会走两步来覆盖每一步,有些疯狂的孩子会一跳跳下一整段楼梯。
所以你可能想把时间和步骤结合起来例如,设置一个计时器,使其每10秒计时一次,然后在该时间检查气压表只需使用步骤来确定手机在这段时间内是否一直在移动。
你可能会发现,你的0.3毫巴充其量只是一个非常粗略的近似。它可能每天都在变化,而且很可能一整天都在变化,这取决于温度和湿度,以及楼梯是在建筑物内部还是在封闭的楼梯间有些封闭式楼梯间与建筑物内部(或与外部)之间有压差,当有人打开通往建筑物或外部的门时,压力变化很快。
还要看地板有多高。