当前位置: 首页 > news >正文

手机中常用的传感器

文章目录

  • 重力传感器 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 查看&#xff1a; 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 基本操作 里面基本就分为两部分&#xff1a; 安装 VMware 运行 Ubuntu熟悉 Ubuntu 的各种操作、命令 如果你对 Ubuntu 比较熟悉的话&#xff0c;安装完 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的表逻辑分区是一种数据库设计技术&#xff0c;它允许将一个表的数据分布在多个物理分区中&#xff0c;但在逻辑上仍然表现为一个单一的表。这种方式可以提高查询性能、简化数据管理&#xff0c;并有助于高效地进行大数据量的存储和访问。逻辑分区基于特定的规则&#xff…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...

JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除

目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作&#xf…...