手机中常用的传感器
文章目录
- 重力传感器 Gravity sensor
- 三维坐标
- 加速度传感器 Accelerometer
- 三维坐标
- 陀螺仪 Gyroscope
- 三维坐标
- 磁力传感器 Magnetometer
- 三维坐标
- 光线传感器 Light Sensor
- 接近传感器 Proximity Sensor
- 其他
- 传感器协同工作
- 相机自动调整
传感器有唤醒和非唤醒属性
关于重力传感器和加速度传感器,还需要多查询确认
可以用QSensorTest、SensorBox查看传感器
重力传感器 Gravity sensor
定义:确定设备的竖直方向和位置
应用:
- 屏幕自动旋转:旋转手机时检测设备的旋转方向和速度,从而自动调整屏幕方向
- 晃动检测:检测手机的晃动和振动,摇晃手机来控制游戏、拍照等应用,拍照防抖
三维坐标
XYZ轴是指设备内部加速度计或陀螺仪等传感器用于测量运动和方向的三个虚拟轴。这些轴帮助确定手机在空间中的相对位置和移动。通常,这三个轴的定义如下:
-
X轴:通常沿着手机的宽度方向。如果你将手机水平放置在桌面上,屏幕朝上,那么从左边缘到右边缘的方向被视为X轴的正方向。
-
Y轴:通常沿着手机的高度方向。在同样的情况下,从手机底部到顶部的方向被视为Y轴的正方向。
-
Z轴:垂直于手机屏幕,穿过手机中心。如果手机水平放置,那么从手机背面穿过屏幕到正面的方向被视为Z轴的正方向。
加速度传感器 Accelerometer
定义:检测设备的加速度和变化速率,可用加速度衡量(m/s²)
应用:
- 屏幕自动旋转:旋转手机时检测设备的旋转方向和速度,从而自动调整屏幕方向
- 晃动检测:检测手机的晃动和振动,摇晃手机来控制游戏、拍照等应用,拍照防抖
- 步数计数:计算步数、跑步距离等
- 图像稳定:拍照或录像时,检测设备的晃动和运动,减少抖动和模糊
- (存疑)振动反馈:实现触摸屏幕时的振动反馈,在交互应用中触发设备的振动反馈
三维坐标
手机水平放置在桌面上时X轴默认为0,Y轴默认为0,Z轴默认为9.8m/s²(重力加速度)
- X轴:对应长边,向左倾斜为正值,向右倾斜为负值
- Y轴:对应短边,向下倾斜为正值,向上倾斜为负值
- Z轴:正面朝上为正值,正面朝下为负值
陀螺仪 Gyroscope
定义:测试角速度和角位移,可用角速度衡量(rad/s)
应用:
- 相机参数自动调整:与加速度传感器、光线传感器等协作帮助手机确认设备的方向和角度,从而实现自动调整白平衡、对焦、曝光补偿等参数
三维坐标
- X轴:对应短边,向下倾斜为正值,向上倾斜为负值
- Y轴:对应长边,向右倾斜为正值,向左倾斜为负值
- Z轴:水平放置旋转,向左为正值,向右为负值
磁力传感器 Magnetometer
定义:感知和测量周围磁场强度,检测磁场的大小和方向,并将这些信息转换为电信号输出,磁场强度可用磁感应强度衡量(μT微特斯拉,磁场强弱和方向),由XYZ轴的磁场强度计算得出
应用:
- 指南针:指示磁场方向
- 地图导航:导航的箭头会随着手机转向而转动
三维坐标
磁场是有方向的,其正负是相对于所选择的参考方向
- X轴与东西方向对应,当指向南北方向时,X轴为0
- Y轴与南北方向对应,当指向东西方向时,Y轴为0
- Z轴与垂直地面方向对应,当与地球磁场垂直向上且无磁场干扰时,Z轴为0,实际中通常不会出现
光线传感器 Light Sensor
定义:检测周围的光线强度,可用照度衡量(Lux勒克斯,单位面积入射光的总光通量,是人眼感知的光强)
应用:
- 自动调节屏幕亮度:不同光线环境下自适应调整
- 调整相机曝光等参数
接近传感器 Proximity Sensor
定义:检测设备是否靠近物体,通常只区分有物体靠近和无物体靠近两种状态
应用:
- 自动调节或关闭屏幕:在耳边打电话时自动调节屏幕亮度或关闭屏幕,防止误触屏幕
- 自动解锁:抬手亮屏
其他
还有距离传感器、指纹传感器、霍尔传感器、气压传感器,暂不叙述。
传感器协同工作
实际运用中可能会需要多个传感器协同工作来更好地实现某一功能
相机自动调整
- 光线传感器:环境光线调整曝光
- 陀螺仪:相机倾斜或旋转,保持画面稳定
- 加速度传感器:相机加速度和运动状态,保持画面稳定
- 距离传感器:物像距离,帮助对焦
相关文章:
手机中常用的传感器
文章目录 重力传感器 Gravity sensor三维坐标 加速度传感器 Accelerometer三维坐标 陀螺仪 Gyroscope三维坐标 磁力传感器 Magnetometer三维坐标 光线传感器 Light Sensor接近传感器 Proximity Sensor其他传感器协同工作相机自动调整 传感器有唤醒和非唤醒属性 关于重力传感器和…...
电脑工作电压是多少你要看看光驱电源上面标的输入电压范围
要确定电脑的工作电压,必须查看电源上标注的输入电压范围。 国内法规规定民用220V电压范围为10%-15%,也就是说通信220V电压正常范围为187--242V,供电设备一般为180V。 --250V电压范围,即正常情况下电脑电源电压不低于187V即可工作…...
自动驾驶---Motion Planning之Speed Boundary
1 背景 在上篇博客《自动驾驶---Motion Planning之Path Boundary》中,笔者主要介绍了path boundary的一些内容,通过将道路中感兴趣区域的动静态障碍物投影到车道坐标系中,用于确定L或者S的边界,并利用道路信息再确定Speed的边界,最后结合粗糙的速度曲线和路径曲线,即可使…...
php文件操作
一、文件读取的5种方法 1,file_get_contents: 将整个文件读入一个字符串 file_get_contents( string $filename, bool $use_include_path false, ?resource $context null, int $offset 0, ?int $length null ): string|false 可以读取本地的文件也可以用来打…...
计算机设计大赛 目标检测-行人车辆检测流量计数
文章目录 前言1\. 目标检测概况1.1 什么是目标检测?1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 前言 🔥 优质竞赛项目系列,今天要分享的是 行人车辆目标检测计数系统 …...
Java二叉树 (2)
🐵本篇文章将对二叉树的一些基础操作进行梳理和讲解 一、操作简述 int size(Node root); // 获取树中节点的个数int getLeafNodeCount(Node root); // 获取叶子节点的个数int getKLevelNodeCount(Node root,int k); // 获取第K层节点的个数int getHeight(Node r…...
R语言数学建模(三)—— 模型工作流
R语言数学建模(三)—— 模型工作流 文章目录 R语言数学建模(三)—— 模型工作流前言一、模型工作流1.1 模型的起点和终点在哪里?1.2 Workflow基础1.3 将原始变量添加到workflow()1.4 workflow()如何使用formula基于树的…...
Android谈谈ArrayList和LinkedList的区别?
Android中的ArrayList和LinkedList都是Java集合框架中的List接口的实现,但它们在内部数据结构和性能特性上有所不同: 1. **内部数据结构**: - ArrayList是基于动态数组(可调整大小的数组)实现的。它在内存中是连续…...
Appcms存储型XSS漏洞复现
君衍. 一、环境介绍二、环境部署三、测试回显四、多次注入1、第一条评论2、第二条评论3、管理员登录查看 五、编写脚本获取cookie 一、环境介绍 这里需要注意,我没有找到原有的该环境源码包,因为这个是很久前的漏洞了,在XSS学习中可以查看下…...
springcloud-alibaba Sentinel入门
Releases alibaba/Sentinel GitHubSentinel下载官方 在cmd 里面运行 启动命令 java -jar sentinel-dashboard-1.8.6.jar 启动成功前提 java环境 ,已经注册到服务注册中心,8080端口没有被占用 启动后访问地址为 qhttp://localhost:8080http://lo…...
Linux系统——web服务拓展练习
目录 一、实验环境搭建 1. Centos 7-5——Client 2. Centos 7-1——网关服务器 3. Centos 7-2——Web1 4. Centos 7-3——Web2 5. Centos 7-4——Nginx 二、在Nginx服务器上搭建LNMP服务,并且能够对外提供Discuz论坛服务;在Web1、Web2服务器上搭建…...
SQLite3中的callback回调函数注意的细节
调用 sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)该例程提供了一个执行 SQL 命令的快捷方式, SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。 在这里, 第一个参数 sqlite3 是打开的数据库对…...
2024华北医院信息网络大会最新演讲嘉宾
大会背景 近年来,我国医疗行业信息化取得了飞跃式的发展,医疗信息化对医疗行业有着重要的支撑作用。2021年国家卫健委、中医药管理局联合印发《公立医院高质量发展促进行动(2021-2025年)》,提出重点建设“三位一体…...
指数移动平均(EMA)
文章目录 前言EMA的定义在深度学习中的应用PyTorch代码实现yolov5中模型的EMA实现 参考 前言 在深度学习中,经常会使用EMA(指数移动平均)这个方法对模型的参数做平均,以求提高测试指标并增加模型鲁棒。实际上,_EMA可以…...
无线表格识别模型LORE转换库:ConvertLOREToONNX
引言 总有小伙伴问到阿里的无线表格识别模型是如何转换为ONNX格式的。这个说来有些惭愧,现有的ONNX模型是很久之前转换的了,转换环境已经丢失,且没有做任何笔记。 今天下定决心再次尝试转换,庆幸的是转换成功了。于是有了转换笔…...
C# 视频转图片
在 C# 中将视频转换为图像可以使用 FFmpeg 库。下面是一个示例代码来完成这个任务: using System; using System.Diagnostics;class Program {static void Main(string[] args){string inputFile "input_video.mp4"; // 输入的视频文件路径string outpu…...
LINUX ADC使用
监测 ADC ,使用CAT 查看: LINUX ADC基本使用 &adc {pinctrl-names "default";pinctrl-0 <&adc6>;pinctrl-1 <&adc7>;pinctrl-2 <&adc8>;pinctrl-3 <&adc9>;pinctrl-4 <&adc10>;pinctrl-5 …...
Ubuntu 基本操作-嵌入式 Linux 入门
在 Ubuntu 基本操作 里面基本就分为两部分: 安装 VMware 运行 Ubuntu熟悉 Ubuntu 的各种操作、命令 如果你对 Ubuntu 比较熟悉的话,安装完 VMware 运行 Ubuntu 之后就可以来学习下一章节了。 1. 安装 VMware 运行 Ubuntu 我们首先来看看怎么去安装 V…...
Pytorch可形变卷积分类模型与可视化
E:. │ archs.py │ dataset.py │ deform_conv_v2.py │ train.py │ utils.py │ visual_net.py │ ├─grad_cam │ 2.png │ 3.png │ ├─image │ ├─1 │ │ 154.png │ │ 2.png │ │ │ ├─2 │ │ 143.png │…...
Mysql 表逻辑分区原理和应用
MySQL的表逻辑分区是一种数据库设计技术,它允许将一个表的数据分布在多个物理分区中,但在逻辑上仍然表现为一个单一的表。这种方式可以提高查询性能、简化数据管理,并有助于高效地进行大数据量的存储和访问。逻辑分区基于特定的规则ÿ…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
