Windows phone中的传感器主要包括加速计传感器、罗盘传感器、陀螺仪传感器等

加速计传感器

  Accelerometer类是加速传感器的接口,Accelerometer类位于Windows.Devices.Sensors命名空间下。 要使用系统加速计的功能,需要创建一个Accelerometer类的对象,然后用这个对象来捕获手机当前的加速状态。 Accelerometer类提供了ReadingChanged事件用于检测加速计的状态,并返回X、Y、Z轴信息。

  使用Accelerometer类之前要引用Microsoft.Devices.Sensors命名空间。

  主要代码如下:

 using Microsoft.Devices.Sensors;

 namespace accelerometer
{
public partial class MainPage : PhoneApplicationPage
{
Accelerometer acc = new Accelerometer(); public MainPage()
{
InitializeComponent();
acc.ReadingChanged += acc_ReadingChanged;
acc.Start();
} void acc_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
{
Deployment.Current.Dispatcher.BeginInvoke(() => ThreadStaticAccelerometerChanged(e));
}
void ThreadStaticAccelerometerChanged(AccelerometerReadingEventArgs e)
{
Xtext.Text = e.X.ToString();
Ytext.Text = e.Y.ToString();
Ztext.Text = e.Z.ToString();
}
}
}

罗盘传感器

  用罗盘传感器来确定手机相对于地球北极磁场旋转的角度。 Compass类为Windows phone应用程序提供对设备罗盘传感器的访问。 首先调用罗盘类Compass的GetDefault()获取到罗盘对象,然后通过属性ReportInterval设置当前报告罗盘读书时间间隔。通过GetCurrentReading方法获取当前的属性值以及通过ReadingChanged事件获取方向的变化。

使用Compass类之前要引用Microsoft.Devices.Sensors命名空间。

  主要代码如下:

 public myCompass()
{
InitializeComponent();
if (Compass.IsSupported)
{
compass = new Compass();
compass.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<CompassReading>>(compass_CurrentValueChanged);
compass.TimeBetweenUpdates = TimeSpan.FromMilliseconds();
compass.Start();
}
else
MessageBox.Show("设备不支持电子罗盘");
} void compass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e)
{
if (compass.IsDataValid)
{ Deployment.Current.Dispatcher.BeginInvoke(() =>
{ HeadingAccuracy = e.SensorReading.HeadingAccuracy; if (!Calibrating)
{
TrueHeading = e.SensorReading.TrueHeading;
if (( <= TrueHeading) && (TrueHeading <= ))
ReciprocalHeading = TrueHeading - ;
else
ReciprocalHeading = TrueHeading + ;
CompassFace1.RenderTransformOrigin = new Point(0.5, 0.5);
transform.Angle = - TrueHeading;
CompassFace1.RenderTransform = transform; } });
}
}
}
}

陀螺仪传感器

  陀螺仪传感器测量手机沿着其三个主轴的旋转速度 Gyrometer类表示陀螺仪传感器,为Windows phone应用程序提供对设备陀螺仪传感器的访问,返回有关X、Y、Z轴的角速度值。

windows phone传感器的更多相关文章

  1. WinPhone学习笔记(一)——页面导航与页面相关

    最近学一下Windows Phone(接下来简称“WinPhone”)的开发,在很久很久前稍探究一下WinPhone中对一些传感器的开发,那么现在就从头来学学WinPhone的开发.先从WinPhon ...

  2. Snort企业部署实战

    Snort企业部署实战 1 背景       我们知道企业网络目前威胁来自两个位置:一个是内部,一个是外部.来自外部的威胁都能被防火墙所阻止,但内部攻击都不好防范.因为公司内部人员对系统了解很深且有合 ...

  3. 与众不同 windows phone (18) - Device(设备)之加速度传感器, 数字罗盘传感器

    原文:与众不同 windows phone (18) - Device(设备)之加速度传感器, 数字罗盘传感器 [索引页][源码下载] 与众不同 windows phone (18) - Device ...

  4. 与众不同 windows phone (19) - Device(设备)之陀螺仪传感器, Motion API

    原文:与众不同 windows phone (19) - Device(设备)之陀螺仪传感器, Motion API [索引页][源码下载] 与众不同 windows phone (19) - Dev ...

  5. 张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器

    BH1750FVI 是一款 IIC 接口的数字型光强度传感器集成电路.下面介绍一下其在 Windows 10 IoT Core 环境下的用法. 项目运行在 Raspberry Pi 2/3 上,使用 ...

  6. 使用 Windows 10 中的加速度计(Accelerometer,重力传感器)

    在做 UWP 应用开发的时候还有什么理由可以用到加速度计呢?场景很多啦,比如做游戏,做类似 Surface Hub 那种一边旋转,一边所有内容跟着一起转的效果. Windows 10 UWP 中的加速 ...

  7. 张高兴的 Windows 10 IoT 开发笔记:DHT11 温湿度传感器

    GitHub : https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/DHT11Demo

  8. 张高兴的 Windows 10 IoT 开发笔记:ADXL345 加速度传感器

    GitHub : https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/ADXL345Demo

  9. 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

随机推荐

  1. WebService附加到IIS调试,未命中断点

    写好了一个WebService,部署到IIS上,用浏览器访问发现并不能命中断点. 经过多次的查找发现是由于附加的代码类型选择错误. 下图由于错误的选择了托管代码,导致调试时不命中断点,勾选自动解决.

  2. Python----递归------Eight Queens 八皇后问题

    递归思想是算法编程中的重要思想. 作为初学者,对递归编程表示很蒙逼,每次遇到需要递归的问题,心里就有一万头草泥马飞过~~~~~~(此处略去一万头草泥马) 在B站看数据结构与算法的视频时,视频中给了两个 ...

  3. SQL上门2

    SQL高级教程学习 MySQL的字符匹配和其他数据库不同,一下语句查找(第一个字符不是h,第三个字符是m)不能用“!” select * from country where countryname ...

  4. 【IntelliJ IDEA】idea上安装Translation插件后,需要AppKey才能生效的解决方案

    使用idea安装的翻译插件translation,但是使用的时候并不友好 无奈,如果想使用翻译软件并且更方便的话,可以如下: 可以选择将translation进行卸载 清除缓存并进行重启 然后再启动之 ...

  5. nagios新增监控集群、卸载监控集群批量操作

    1.一定要找应用侧确认每台节点上需要监控的进程,不要盲目以为所有hadoop集群的zk.journal啥的都一样,切记! 2.被监控节点只需要安装nagios-plugin和nrpe,依赖需要安装xi ...

  6. JavaScript初步学习----基本使用,简单事件,修改样式,数据类型

    JavaScript基本使用 JavaScript原名叫livescript,是一门动态类型,弱类型基于原型的脚本语言   用于页面特效,前后交替,后台开发(node)   JavaScript写在s ...

  7. 20180620关于使用xtrabackup热还原数据库

    参看:http://www.cnblogs.com/waynechou/p/xtrabackup_backup.html http://www.cnblogs.com/waynechou/p/xtra ...

  8. R语言为数据框添加列名或行名

    1.添加列名 wts=c(1,1,1) names(wts)=c("setosa","versicolor","virginica") 2. ...

  9. 子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)

    子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 给定一个序列,请你求出该序列的一个连续的子序列,使原串中出现的所有元素皆在该子序列中出现过至少1次. 如2 8 ...

  10. [bzoj2654]tree_二分_kruskal

    tree bzoj-2654 题目大意:给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树.题目保证有解. 注释:$1\le V\le 5\cdot 10^4 ...