JY901B智能9轴加速度计陀螺仪角度传感器

news2025/1/22 8:41:04

今日学习使用JY901B智能9轴加速度计陀螺仪角度传感器

本文会先使用上位机获取数据作演示,后介绍它的数据表发送原理。

文章提供详细的原理讲解,测试工程下载,代码讲解,本人有多注释的习惯,希望对大家有帮助。

我的JY901B智能9轴加速度计陀螺仪角度传感器是买的维特智能的传感器,这么小一片要120多,他们提供了上位机演示软件.

具体的驱动可以在我STM32F103C8T6的专栏中有文章会提到,

官方演示视频地址:

维特智能9轴加速度计陀螺仪角度传感器数据快速上手_哔哩哔哩_bilibili

JY901B介绍与基本参数:

 下图是JY901B,它长这样,下面了解一下它的一些基本我们必须知道的参数

首先看到商家的产品描述,来挖掘重要信息:

1.第1~3条并不重要,主要说明了这个陀螺仪的精度高,稳定

2.第4条告诉我们支持串口和IIC俩种通信方式

3.第6条告诉我们它的数据回传效率是可以改变的,这个可以通过它的上位机软件进行方便修改,或者使用它的通信格式,发送相关协议进行修改

4.水平垂直的安装方式是可以调整的

5.最后的说明很重要:远离磁场干扰的区域与物块!

随后商家介绍了各个三轴角度的精度,以及三轴角度是怎么定义的:

这里有个右手螺旋定则,拇指Z轴发现,四指X轴正方向

 下面是引脚与轴向定义:

 这里我们知道它四周的四个脚D0~D3是可以连接其他GPS模块之类的传感器的

 模组参数:

 电气参数:

 USB驱动,我们今日学习的传感器需要CH340驱动,他们其余一有部分需要CP2102,这个需要注意安装好在连接串口调试

与上位机的连接与演示:

首先正确连接陀螺仪与串口转换器:

 打开一个普通的串口助手查看一下它的数据:

发现传回来一些数据,暂时我们不去理解它,后面介绍:

 随后我们关闭刚才的串口,打开他们提供的上位机软件测试:

 这样可以给我们更直观的三轴坐标的概念:

协议解读:

协议解读官方文档:

WIT私有协议 · 深圳维特智能科技有限公司

此处我们只需找到我们需要的寄存器列表, 从第五列知道他们都是R(只读)的,他们就是可供读取的寄存器,可以从中了解到我们需要的数据:

以下是我们今日需要尝试读取内容的寄存器:

 三轴角度:

三轴加速度:

协议格式:

 上位机数据解析:

经过刚才的协议解读,我们现在再将其连接上上位机,尝试用上位机串口软件接受的数据进行分析运算一遍:

 这一刻接收到的数据应该拆分为三部分来看:

部分一:        55 51   ```````

部分二:        55 52    ```````

部分三:        55 53     ```````

我们需分区处理数据,按照手册说好的,移位处理:

此处必须注意 存储区的溢出与否,适当进行 强制类型转 和 与或置零 操作、先乘再除 等经验手法,否则计算必定会莫名出错!

 部分一是加速度输出(55 51 ):

加速度X=(AxH<<8) | AXL) / 32768*16g
(g为重力加速度,可取9.8m/s2)

加速度Y=(AyH<<8) | AyL)/32768*16g
(g为重力加速度,可取9.8m/s2)

加速度Z=(AZH<<8)|AZL)/32768*16g
(g为重力加速度,可取9.8m/s2)

温度计算公式:
温度=(TH<<8)|TL)/100℃

部分二是角速度输出(55 52 ):

角速度X=(WxH<<8)|WxL)/32768*2000°/s

角速度Y=(WyH<<8)|WyL)/32768*2000°/s

角速度Z=(WzH<<8)|WZL)/32768*2000°/s

(非蓝牙产品,该数据无效)

电压计算公式:电压=(VolH<<8|VolL)/100℃

 部分三是角度输出( 55 53):

滚转角X=(RollH<<8)1 RollL)/32768*180

俯仰角Y=(PitchH<<8|PitchL)/32768*180

偏航角Z=(YawH<<8|YawL)/32768*180

上位机下载:

https://download.csdn.net/download/qq_64257614/88291037?spm=1001.2014.3001.5503

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/966095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2021年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:双端队列 定义一个双端队列,进队操作与普通队列一样,从队尾进入。出队操作既可以从队头,也可以从队尾。编程实现这个数据结构。 时间限制:1000 内存限制:65535 输入 第一行输入一个整数t,代表测试数据的组数。 每组数据的第一…

Java学习之序列化

1、引言 《手册》第 9 页 “OOP 规约” 部分有一段关于序列化的约定 1&#xff1a; 【强制】当序列化类新增属性时&#xff0c;请不要修改 serialVersionUID 字段&#xff0c;以避免反序列失败&#xff1b;如果完全不兼容升级&#xff0c;避免反序列化混乱&#xff0c;那么请…

Sitecore站点更新License

一、简介 Sitecore 是一个基于ASP.NET 技术的 CMS 系统&#xff0c;它不仅具有传统 Web CMS 的所有功能&#xff0c;还集成了 Marketing 营销&#xff08;当然&#xff0c;这个功能价格不菲&#xff09;的功能&#xff0c;可以提供一个一站式的在线营销解决方案。对于 .NET 程…

Google Earth Engine 的缺点和限制

随着 Google Earth Engine 在地球科学和数据计算领域越来越流行&#xff0c;网上有很多介绍Google Earth Engine 的文章及 Google Earth Engine的追随者。Google Earth Engine确实是一款伟大的产品&#xff0c;我们应该为其点赞。但由于已经有太多人在热捧了&#xff0c;我这里…

在termux下安装pip

termux的包安装命令是pkg或者apt&#xff0c;在termux下安装python包&#xff0c;一般直接pip。 (本笔记适合初初接触termux或者太久没碰termux而遗忘的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣…

C++ 浅拷贝和深拷贝

目录 1. 浅拷贝 2. 深拷贝 1. 浅拷贝 浅拷贝只是拷贝一个指针&#xff0c;并没有新开辟一个地址&#xff0c;拷贝的指针和原来的指针指向同一块地址&#xff0c;如果原来的指针所指向的资源释放了&#xff0c;那么再释放浅拷贝的指针的资源就会出现错误 对一个已知对象进行拷贝…

在VSCode上画UML的三个插件

2023年9月2日&#xff0c;周六晚上 因为写代理模式的博客时需要画UML&#xff0c;所以就在网上找了半天&#xff0c; 最后觉得VSCode上的这三个插件比较好用 目录 三个画UML的VSCode插件PlantUMLDraw.io IntegrationUMLet我个人推荐使用PlantUML 三个画UML的VSCode插件 Pla…

实战-支付漏洞

免责声明 本文发布的工具和脚本&#xff0c;仅用作测试和学习研究&#xff0c;禁止用于商业用途&#xff0c;不能保证其合法性&#xff0c;准确性&#xff0c;完整性和有效性&#xff0c;请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0c…

A 股个股资金流 API 数据接口

A 股个股资金流 API 数据接口 全量股票资金流数据&#xff0c;全量A股数据&#xff0c;最长30日历史数据 1. 产品功能 支持所有A股资金流数据查询&#xff1b;每日定时更新数据&#xff1b;支持多达 30 日历史数据查询&#xff1b;超高的查询效率&#xff0c;数据秒级返回&am…

springboot 与 Redis整合

SpringBoot 操作数据&#xff1a;Spring-data jpa jdbc mongodb redis! SpringData 也是和SpringBoot 齐名的项目&#xff01; 说明&#xff1a;在SpringBoot2.X 之后&#xff0c;原来使用的jedis被替换成了lettuce jedis&#xff1a; 采用的直连&#xff0c;多个线程操作的话&…

【Unity3D】UI Toolkit简介

1 前言 UI Toolkit 是一种基于 Web 技术的 GUI 框架&#xff0c;是为了解决 UGUI 效率问题而设计的新一代 UI 系统&#xff08;UGUI 的介绍详见→UGUI概述&#xff09;。与 UGUI 不同&#xff0c;UI Toolkit 没有采用 GameObject 的方式&#xff0c;而是参考了 Web 技术的 XML …

深度学习应用-WeNet语音识别实战01

概括 本文对WeNet声音识别网络的Python API上介绍的Non-Streaming Usage和 Streaming-Usage分别做了测试&#xff0c;两者本质相同。API对应采样的声音帧率、声道都做了限制。效果还可以&#xff0c;但是部分吐字不清晰、有歧义的地方仍然不能识别清晰。 项目地址&#xff1a; …

内部类总结

内部类 1、内部类介绍&#xff1a; 外 2、成员内部类&#xff1a; 3、静态内部类 4、局部内部类&#xff1a; 5、匿名内部类&#xff1a;

说说TIME_WAIT和CLOSE_WAIT区别

分析&回答 TCP协议规定&#xff0c;对于已经建立的连接&#xff0c;网络双方要进行四次握手才能成功断开连接&#xff0c;如果缺少了其中某个步骤&#xff0c;将会使连接处于假死状态&#xff0c;连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接&#xf…

使用 Hue 玩转 Amazon EMR(SparkSQL, Phoenix) 和 Amazon Redshift

现状 Apache Hue 是一个基于 Web 的交互式 SQL 助手&#xff0c;通过它可以帮助大数据从业人员&#xff08;数仓工程师&#xff0c;数据分析师等&#xff09;与数据仓库进行 SQL 交互。在 Amazon EMR 集群启动时&#xff0c;通过勾选 Hue 进行安装。在 Hue 启用以后&#xff0…

Scratch 画画的技巧

前言 美术是一种艺术&#xff0c;且不局限于纸张&#xff0c;就像电脑绘图也属于美术。我至今已有三年多的画龄&#xff0c;经验丰富&#xff0c;尤其擅长在scratch造型编辑器上画矢量图。今天给大家分享一些实用的技巧。 1.讲解 用橡皮工具给一个圆擦出“橡皮洞” 橡皮工具&a…

2511. 最多可以摧毁的敌人城堡数目

文章目录 Tag题目来源题目解读解题思路复杂度分析写在最后 Tag 【数组】 题目来源 2511. 最多可以摧毁的敌人城堡数目 题目解读 在数组 forts 中&#xff0c;forts[i] 有三种数值&#xff1a; -1&#xff1a; 表示第 i 个位置没有城堡&#xff0c;是空地&#xff1b;0&…

【计算机知识】Base64 编码说明

一、理论 Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法&#xff0c;由于 2^664&#xff0c;所以每 6 个比特为一个单元&#xff0c;对应某个可打印字符。 Base64 常用于在通常处理文本数据的场合&#xff0c;表示、传输、存储一些二进制数据&#xff0c;包括…

程序员自由创业周记#2:前期准备

感恩 上次公开了创业的决定后&#xff0c;得到了很多亲朋好友和陌生朋友的鼓励或支持&#xff0c;以不同的形式&#xff0c;感动之情溢于言表。这些都会记在心里&#xff0c;大恩不言谢~ 创业方向 笔者是一名资质平平的iOS开发程序猿&#xff0c;创业项目也就是开发App卖&am…

图的深度优先与广度优先遍历

上篇博客介绍了图的概念与图的存储(邻接矩阵、邻接表)&#xff1a; 接下来就是介绍图的遍历。 图的遍历 给定一个图G和其中任意一个顶点v0&#xff0c;从v0出发&#xff0c;沿着途中各边访问图中的所有顶点&#xff0c;且每个顶点仅被遍历一次。"遍历"即对结点进行…