通过加速计和地磁传感器实现方位角
定义6个变量接收加速计的x y z和地磁传感器x y z
var ax = 0;var ay = 0;var az = 0;var mx = 0;var my = 0;var mz = 0;
开发平台用的是Apicloud所以采用平台的方法获取加速计的参数和地磁传感器的参数
地磁传感器
function a() {api.startSensor({type: 'magnetic_field'}, function (ret, err) {if (ret && ret.status) {mx=ret.xmy=ret.y mz=ret.z} else {}});}
加速计传感器
function b() {api.startSensor({type: 'accelerometer'}, function (ret, err) {if (ret && ret.status) {ax = ret.xay = ret.yaz = ret.z} else {}});}
计算方位角
function c() {var accVals = [ax, ay, az];var magVals = [mx, my, mz];ftemp = getYaw(accVals, magVals) * 180.0 / 3.141593;if (ftemp > 0) ftemp = -180.0 + (ftemp - 180.0);ftemp = 0.0 - ftemp;ftemp += 90.0;ftemp += -2.0; //补偿磁偏角,不同地区会不一样if (ftemp > 360.0) { ftemp -= 360.0 };console.log(ftemp);}
function getYaw(accVals, magVals) {roll = Math.atan2(accVals[0], accVals[2]);pitch = -Math.atan(accVals[1] / (accVals[0] * Math.sin(roll) + accVals[2] * Math.sin(roll)));yaw = Math.atan2(magVals[0] * Math.sin(roll) * Math.sin(pitch) + magVals[2] * Math.cos(roll) * Math.sin(pitch) + magVals[1] * Math.cos(pitch),magVals[0] * Math.cos(roll) - magVals[2] * Math.sin(roll));return yaw;}
通过加速计和地磁传感器实现方位角相关推荐
- Android GPS及地磁传感器 API
Android 提供的位置包括经纬度和时间戳,可选地包含高度和方位,高度以WGS84椭球体为参照,方位以真北为参考. 地磁传感器以磁北为北.有2种传感器可提供方位信息:地磁场(Geomagnetic) ...
- 博世传感器调试笔记(三)加速度及地磁传感器BMC156
一. 器件简介: 1. BMC 156是一款整合三轴地磁传感器与三轴(12bit)加速度传感器于一体的传感器,以BMC 150 电子罗盘模块为基础, 并与Bosch Sensortec 2 ...
- Ardunio开发实例-BMM150数字地磁传感器
BMM150数字地磁传感器 BMM150是一款低功耗,低噪声的3轴数字地磁传感器,可用于罗盘应用. 占地面积为1.56 x 1.56mm²和高度为0.60 mm的12引脚晶圆级芯片级封装(WLCSP) ...
- 高通AKM8975地磁传感器分析
1. 概述 地磁使用的是AKM8975地磁传感器,其kernel部分的驱动代码路径是\kernel\drivers\ misc\akm8975.c,android的HAL层的路径是qics1003\h ...
- 传感器系列之4.7地磁传感器
4.7地磁传感实验 一.实验目的 1.掌握LPC2378芯片的编程方法 2. 掌握地磁传感器的工作原理 3. 掌握地磁传感器的使用流程 二.实验材料 1.具有USB 串口通讯的PC 机1 台 2.AD ...
- Android指南针之加速度传感器地磁传感器
由于andorid不推荐用传统的方向传感器,推荐用加速度传感器和地磁传感器来构造得到方向传感器的数据,其实主要是z轴的旋转角度.代码如下: public class MainActivity exte ...
- 传感器之方向:使用加速度传感器和地磁传感器共同实现
布局很简单: activity: /*** 方向加速度:使用加速度传感器和地磁传感器共同实现.* 此模拟简易指南针功能.*/public class ActOrientationSensor exte ...
- 爱盛科技于中国电子展演示穿戴式装置地磁传感器方案
2016年11 月8日,以"信息化带动工业化,电子技术促进产业升级"为主题,由中国电子器材总公司主办,中电会展与信息传播有限公司承办的第88届中国电子展联手IC China 201 ...
- Android指南针之加速度传感器地磁传感器-android学习之旅(67)
由于andorid不推荐用传统的方向传感器,推荐用加速度传感器和地磁传感器来构造得到方向传感器的数据,其实主要是z轴的旋转角度 具体代码示例 代码如下 public class MainActivit ...
最新文章
- 漫话:如何给女朋友解释为什么双11无法修改收货地址?
- Eclipse配置关联Tomcat并运行项目
- 硬件工程师电路设计必须紧记的十大要点
- 百度热力图颜色说明_大数据下的龙港、鳌江人口热力图
- Lost HTML Intellisense within ASP.NET AJAX Controls
- 剑指 Offer 13. 机器人的运动范围 【重刷】
- Cookie投票程序
- Nmap的下载与基本命令运用
- [转]JavaScript和html5 canvas生成圆形印章
- 计算机专业的创意文案,高考借势广告文案又双叒叕来了,这些借势扎心了!
- PTA L1-030 一帮一(详解)
- iOS开发之 简易随机点名册的设计
- ERROR Error: command failed: pnpm install --reporter silent --shamefully-hoist 错误解决办法
- ThreadPoolExecutor参数说明
- 天龙八部网单服务器修改物品,如何用金山游侠V修改单机版天龙八部里面的物品啊?...
- C#正则匹配(提取字符串中的数字)及C#“四舍五入”
- 招教计算机知识,计算机信息技术招教考试基础知识100个选择题
- 尚品宅配牵手创米科技 BIM整装领跑家装数字化空间新革命
- 孩子感冒了该吃什么药?说给程序员朋友的话
- 工作一两年的程序员,有点钱,买房还是买车?