HTML5实现摇一摇的功能(实测后)

利用html5实现类似微信的手机摇一摇功能,并播放音乐。

1、  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度、方位、朝向等。

2、  deviceMotion:封装了运动传感器数据的事件,可以获取手机运动状态下的运动加速度等数据。

不多说直接上代码,

Javascript:

[javascript]  view plain copy
  1. var SHAKE_THRESHOLD = 3000;  
  2.         var last_update = 0;  
  3.         var x = y = z = last_x = last_y = last_z = 0;  
  4.         function init() {  
  5.             if (window.DeviceMotionEvent) {  
  6.                 window.addEventListener('devicemotion', deviceMotionHandler, false);  
  7.             } else {  
  8.                 alert('not support mobile event');  
  9.             }  
  10.         }  
  11.         function deviceMotionHandler(eventData) {  
  12.             var acceleration = eventData.accelerationIncludingGravity;  
  13.             var curTime = new Date().getTime();  
  14.             if ((curTime - last_update) > 100) {  
  15.                 var diffTime = curTime - last_update;  
  16.                 last_update = curTime;  
  17.                 x = acceleration.x;  
  18.                 y = acceleration.y;  
  19.                 z = acceleration.z;  
  20.                 var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;  
  21.   
  22.                 if (speed > SHAKE_THRESHOLD) {  
  23.                     alert("摇动了");  
  24.                     media.setAttribute("src""http://211.148.5.228:8002/Pages/test/Kalimba.mp3");  
  25.                     media.load();  
  26.                     media.play();    
  27.                 }  
  28.                 last_x = x;  
  29.                 last_y = y;  
  30.                 last_z = z;  
  31.             }  
  32.         }  

Html:

[html]  view plain copy
  1. <!DOCTYPE html>  
  2.   
  3. <html lang="en">  
  4. <head>  
  5.     <meta charset="utf-8" />  
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0" />  
  7.     <title>摇一摇功能</title>  
  8.     <script type="text/javascript">  
  9.         //Javascript  
  10.     </script>  
  11. </head>  
  12. <body onload="init()">  
  13. <p>用力摇一摇你手机</p>  
  14. <audio style="display:hiden" id="musicBox" preload="metadata" controls src="http://211.148.5.228:8002/Pages/test/Kalimba.mp3" autoplay="false">  
  15. </audio>  
  16. </body>  
  17. </html>  

IOS 测试:Safari 弹框\不播放音乐, Chroma 弹框\不播放音乐,UC弹框\不播放音乐

Andriod 测试:UC弹框\播放音乐,Chroma 弹框\播放音乐,内置浏览器 弹框\播放音乐

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 通过C语言实现MQ-3传感器实测值和阈值的比较可以按照以下步骤进行: 1. 首先,需要了解MQ-3传感器的工作原理和与单片机的连接方式。MQ-3传感器是一种酒精气体传感器,可以测量环境的酒精浓度。通常,它会与单片机通过模拟输入引脚连接,将传感器输出的模拟电压值输入到单片机进行处理。 2. 在C语言,通过使用单片机的模拟输入功能,可以将MQ-3传感器的模拟输出值读取到单片机。具体可以使用ADC(模拟数字转换器)模块进行模拟量的转换,并将转换后的数字值保存到相应的变量。 3. 接下来,需要设置阈值变量,用于保存阈值数值。阈值可以根据实际需求进行设定,比如设置一个合适的酒精浓度阈值。 4. 在C语言,可以使用条件语句(如if语句)来进行实测值和阈值的比较。将读取到的MQ-3传感器测量值与阈值进行比较,如果超过阈值,则可以执行相应的操作,比如触发报警器或者采取其他措施。 以上就是通过C语言实现MQ-3传感器实测值和阈值的比较的基本步骤。根据具体的开发平台和具体的需求,可能还需要对模拟输入的量进行适当的缩放或者数据处理,以及进一步的代码优化和功能扩展。 ### 回答2: 要通过C语言实现MQ3传感器实测值和阈值的比较,可以按照以下步骤: 1. 首先,需要连接MQ3传感器到单片机(如Arduino)上,并配置相应的引脚。 2. 在C语言,可以使用串口通信来读取MQ3传感器的实测值。通过使用串口库函数(如`SerialRead()`)读取传感器返回的数据,并将其保存到一个变量。 3. 设置阈值,可以通过使用一个变量来存储阈值。可以手动设置阈值,或者通过用户输入的方式设置阈值。 4. 将传感器实测值与阈值进行比较。可以使用条件语句(如`if`语句)来判断当前传感器值是否超过设定的阈值。例如,可以使用如下代码进行比较: ``` float measuredValue = //传感器实测值 float threshold = //设置的阈值 if(measuredValue > threshold) { printf("传感器值超过阈值\n"); } else { printf("传感器值未超过阈值\n"); } ``` 5. 根据比较结果进行相应的操作。根据实际需求,可以根据比较结果来触发一些事件或动作。例如,如果传感器值超过阈值,可以通过控制输出端口,使某个设备启动或者触发警报等。 通过上述步骤,就可以使用C语言来实现MQ3传感器实测值和阈值的比较,并根据比较结果进行相应的操作。需要根据具体的硬件平台和传感器库函数进行相应的代码实现,以实现具体的功能。 ### 回答3: 要通过C语言实现MQ3传感器实测值与阈值的比较,可以按照以下步骤进行: 1. 首先,通过相应的硬件接口将MQ3传感器与单片机连接。这可能需要使用模拟输入口或者I/O口。 2. 在C语言程序,通过相应的库函数或者编写驱动程序来读取MQ3传感器的实测值。这可能涉及到模拟输入口的读取或者I/O口的状态检测。 3. 接下来,需要定义一个阈值,用于与传感器的实测值进行比较。阈值可以是一个固定的值,也可以根据实际需求进行动态调整。 4. 将传感器的实测值与阈值进行比较。可以使用条件判断语句,如if-else语句、switch语句等,来判断实测值是大于、小于还是等于阈值。 5. 根据比较结果进行相应的处理。比如,如果实测值大于阈值,则可以触发某种警报或者执行相应的动作;如果实测值小于阈值,则可以进行其他的处理;如果实测值等于阈值,则也可以进行相应的处理。 6. 在程序不断循环,以使得传感器的实测值与阈值的比较可以持续进行。 需要注意的是,以上仅为一种基本的实现方式,具体的实现方法可能还与你所使用的单片机、传感器类型以及相关硬件环境等有关。因此,在实际操作,可能需要参考相关的文档、手册或者资料来具体实施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值