定义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;}

通过加速计和地磁传感器实现方位角相关推荐

  1. Android GPS及地磁传感器 API

    Android 提供的位置包括经纬度和时间戳,可选地包含高度和方位,高度以WGS84椭球体为参照,方位以真北为参考. 地磁传感器以磁北为北.有2种传感器可提供方位信息:地磁场(Geomagnetic) ...

  2. 博世传感器调试笔记(三)加速度及地磁传感器BMC156

    一.    器件简介: 1.    BMC 156是一款整合三轴地磁传感器与三轴(12bit)加速度传感器于一体的传感器,以BMC 150 电子罗盘模块为基础, 并与Bosch Sensortec 2 ...

  3. Ardunio开发实例-BMM150数字地磁传感器

    BMM150数字地磁传感器 BMM150是一款低功耗,低噪声的3轴数字地磁传感器,可用于罗盘应用. 占地面积为1.56 x 1.56mm²和高度为0.60 mm的12引脚晶圆级芯片级封装(WLCSP) ...

  4. 高通AKM8975地磁传感器分析

    1. 概述 地磁使用的是AKM8975地磁传感器,其kernel部分的驱动代码路径是\kernel\drivers\ misc\akm8975.c,android的HAL层的路径是qics1003\h ...

  5. 传感器系列之4.7地磁传感器

    4.7地磁传感实验 一.实验目的 1.掌握LPC2378芯片的编程方法 2. 掌握地磁传感器的工作原理 3. 掌握地磁传感器的使用流程 二.实验材料 1.具有USB 串口通讯的PC 机1 台 2.AD ...

  6. Android指南针之加速度传感器地磁传感器

    由于andorid不推荐用传统的方向传感器,推荐用加速度传感器和地磁传感器来构造得到方向传感器的数据,其实主要是z轴的旋转角度.代码如下: public class MainActivity exte ...

  7. 传感器之方向:使用加速度传感器和地磁传感器共同实现

    布局很简单: activity: /*** 方向加速度:使用加速度传感器和地磁传感器共同实现.* 此模拟简易指南针功能.*/public class ActOrientationSensor exte ...

  8. 爱盛科技于中国电子展演示穿戴式装置地磁传感器方案

    2016年11 月8日,以"信息化带动工业化,电子技术促进产业升级"为主题,由中国电子器材总公司主办,中电会展与信息传播有限公司承办的第88届中国电子展联手IC China 201 ...

  9. Android指南针之加速度传感器地磁传感器-android学习之旅(67)

    由于andorid不推荐用传统的方向传感器,推荐用加速度传感器和地磁传感器来构造得到方向传感器的数据,其实主要是z轴的旋转角度 具体代码示例 代码如下 public class MainActivit ...

最新文章

  1. 漫话:如何给女朋友解释为什么双11无法修改收货地址?
  2. Eclipse配置关联Tomcat并运行项目
  3. 硬件工程师电路设计必须紧记的十大要点
  4. 百度热力图颜色说明_大数据下的龙港、鳌江人口热力图
  5. Lost HTML Intellisense within ASP.NET AJAX Controls
  6. 剑指 Offer 13. 机器人的运动范围 【重刷】
  7. Cookie投票程序
  8. Nmap的下载与基本命令运用
  9. [转]JavaScript和html5 canvas生成圆形印章
  10. 计算机专业的创意文案,高考借势广告文案又双叒叕来了,这些借势扎心了!
  11. PTA L1-030 一帮一(详解)
  12. iOS开发之 简易随机点名册的设计
  13. ERROR Error: command failed: pnpm install --reporter silent --shamefully-hoist 错误解决办法
  14. ThreadPoolExecutor参数说明
  15. 天龙八部网单服务器修改物品,如何用金山游侠V修改单机版天龙八部里面的物品啊?...
  16. C#正则匹配(提取字符串中的数字)及C#“四舍五入”
  17. 招教计算机知识,计算机信息技术招教考试基础知识100个选择题
  18. 尚品宅配牵手创米科技 BIM整装领跑家装数字化空间新革命
  19. 孩子感冒了该吃什么药?说给程序员朋友的话
  20. 工作一两年的程序员,有点钱,买房还是买车?

热门文章

  1. 1.12 W10的CMD常用命令,以及CMD装逼操作
  2. ​做让用户安心合规的智能家居产品——智能家庭用户个人信息保护方案
  3. JBOSS4.0.2 HTTP集群配置详解
  4. grep 与正则表达式
  5. Apache虚拟主机示例
  6. 如何在sqlserver中写存储过程
  7. adobe illustrator如何绘制箭头
  8. Word标题设置快捷键
  9. word 设置标题前分页
  10. mysql报1142错误