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

今日学习使用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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MetaAI】2023年MetaAI发布的开源模型和工具

MetaAI开源模型和工具 MetaAILlamaSegment AnythingDINOv2ImageBindMMSLimaVoiceboxMusicGenLlama 2AudioCraftSeamlessM4T MetaAI Meta 首席执行官扎克伯格表示&#xff0c;与其他研究者分享 Meta 公司开发的模型可以帮助该公司促进创新、发现安全漏洞和降低成本。他今年 4 月…

第 361 场 LeetCode 周赛题解

A 统计对称整数的数目 枚举 x x x class Solution { public:int countSymmetricIntegers(int low, int high) {int res 0;for (int i low; i < high; i) {string s to_string(i);if (s.size() & 1)continue;int s1 0, s2 0;for (int k 0; k < s.size(); k)if …

读余华小说《兄弟》

上部读完的一些笔记和思考&#xff0c;下部 TODO 时间&#xff1a;上世纪6、70年代 地点&#xff1a;刘镇 人物&#xff1a;故事中的兄弟指的是&#xff1a;宋钢(兄)&#xff0c;李光头&#xff08;弟&#xff09;&#xff0c;如下为简单的人物和命运图 一些故事&#xff1a;…

Debezium的三种部署方式

Debezium如何部署 debezium 有下面三种部署方式,其中最常用的就是 kafka connect。 kafka connect 一般情况下,我们通过 kafka connect 来部署 debezium,kafka connect 是一个框架和运行时: source connectors:像 debezium 这样将记录发送到 kafka 的source connectors…

centos安装nginx实操记录(加安全配置)

1.下载与安装 yum -y install nginx2.启动命令 /usr/sbin/nginx -c /etc/nginx/nginx.conf3.新建配置文件 cd /etc/nginx/conf.d vim index.conf配了一个负责均衡&#xff0c;如不需要&#xff0c;可将 server localhost: 多余的去掉 upstream web_server{server localhost…

Ansible学习笔记11

Command和Shell模块&#xff1a; 两个模块都是用于执行Linux命令的&#xff0c;这个对于命令熟悉的工程师来说&#xff0c;用起来非常high。 Shell模块跟Command模块差不多&#xff08;Command模块不能执行一类$HOME、> 、<、| 等符号&#xff0c;但是Shell是可以的。&…

【sgTransfer】自定义组件:带有翻页、页码、分页器的穿梭框组件,支持大批量数据的穿梭显示。

特性&#xff1a; 表格宽度可以自定义翻页器显示控件可以自定义列配置项可以设置显示字段列名称、宽度、字段名可以配置搜索框提示文本&#xff0c;支持搜索过滤穿梭框顶部标题可以自定义左右箭头按钮文本可以设置 sgTransfer源码 <template><div :class"$opti…

AMEYA360代理 | 佰维eMMC、LPDDR存储芯片赋能电视终端流畅体验

5G、AI、VR、AR等技术的发展&#xff0c;助推智能电视、机顶盒等电视终端成为智能家居领域不可忽视的重要设备。随着4K超高清(UHD)技术、虚拟现实技术(VR)和增强现实技术(AR)的普及&#xff0c;并向8K超高清技术不断渗透&#xff0c;电视终端将可以为消费者提供更清晰的视觉体验…

mapboxGL3新特性介绍

概述 8月7日&#xff0c;mapboxGL发布了3版本的更新&#xff0c;本文带大家一起来看看mapboxGL3有哪些新的特性。 新特新 如上图所示&#xff0c;是mapboxGL官网关于新版的介绍&#xff0c;大致翻译如下&#xff1a; 增强了web渲染的质量、便捷程度以及开发人员体验&#xff…

前端面试中Vue的有经典面试题一

1. 谈谈你对MVVM开发模式的理解 MVVM分为Model、View、ViewModel三者。 Model&#xff1a;代表数据模型&#xff0c;数据和业务逻辑都在Model层中定义&#xff1b; View&#xff1a;代表UI视图&#xff0c;负责数据的展示&#xff1b; ViewModel&#xff1a;负责监听Model中…

Matlab(画图初阶)

目录 1.plot()函数 2. hold(添加新绘图是否保留旧绘图) 3. Plot Style 3.1 线型 3.2 标记 3.3 颜色 ​编辑 4. legend() 5.X 、Y and Title&#xff1f; 6. Text()和annotation() 7.line(创建基本线条) 7.1 基本语法 7.2 指定线条属性 7.3 更改线条属性 8.图像属性 8.1 …

HttPClient简介及示例:学习如何与Web服务器进行通信

文章目录 前言一、引入依赖二、使用步骤1.创建被调用者2.创建调用者三、结果被调用者服务&#xff1a;调用者服务&#xff1a; 总结 前言 欢迎来到本篇博客&#xff0c;这是一个关于HttPClient的入门案例的指南。&#x1f389; 在今天的网络世界中&#xff0c;与服务器进行数据…

精品基于SpringCloud实现的电影院购票系统设计-微服务-分布式

《[含文档PPT源码等]精品基于SpringCloud实现的电影院购票系统设计的设计与实现-微服务-分布式》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;springcloud JDK版…

JavaScript运行机制与实践应用

一、JavsScript运行机制 1、JavaScript 是一种解释型语言&#xff0c;它的执行机制主要包括以下几个步骤&#xff1a; 2、事件循环 3、JavaScript运行模型 4、JavaScript任务 5、JavaScript宏任务和微任务 6、案例分析 console.log(script start) setTimeout(function () {co…

同步与互斥

硬件指令 实现互斥&#xff1a;硬件指令&#xff0c;硬件实现的原子操作&#xff0c;不会被打断 tsl指令和xchg指令 当前指令执行完&#xff0c;才会检测中断 If the signal comes while an instruction is being executed, it is held until the execution of the instructi…

Mac 多版本jdk安装与切换

macOS上可以安装多个版本的jdk&#xff0c;方法如下&#xff1a; 1.下载jdk 在Oracle官网上下载不同版本的jdk&#xff1a; https://www.oracle.com/java/technologies/downloads/#java17 方案一 1.查看本机所有的jdk /usr/libexec/java_home -V3. 配置环境变量 打开bash_…

面经:安卓学习笔记

文章目录 1. Android系统架构2. Activity2.0 定义2.1 生命周期2.2 生命状态2.3 启动模式 3. Service3.1 定义3.2 两种启动方式3.3 生命周期3.4 跨进程service3.5 IntentService 4. BroadCastReceiver4.1 概念4.2 组成4.3 广播接收器的分类4.4 生命周期4.5 静态注册和动态注册 5…

游戏发行商能够提供什么服务?

游戏发行商可以为游戏开发者提供广泛的服务&#xff0c;以帮助他们将游戏成功地引入市场并取得更好的业绩。以下是游戏发行商可能提供的一些服务&#xff1a; 市场营销和宣传&#xff1a;发行商通常具有丰富的市场营销经验&#xff0c;可以制定并执行有效的宣传和营销策略。他们…

深度学习推荐系统(五)DeepCrossing模型及其在Criteo数据集上的应用

深度学习推荐系统(五)Deep&Crossing模型及其在Criteo数据集上的应用 在2016年&#xff0c; 随着微软的Deep Crossing&#xff0c; 谷歌的Wide&Deep以及FNN、PNN等一大批优秀的深度学习模型被提出&#xff0c; 推荐系统全面进入了深度学习时代&#xff0c; 时至今日&am…

githubPage部署Vue项目

github中新建项目 my-web &#xff08;编写vue项目代码&#xff09; myWebOnline(存放Vue打包后的dist包里面的文件) 发布流程 &#xff08;假设my-web项目已经编写完成&#xff09;Vue-cli my-web vue.config.js文件中 const { defineConfig } require(vue/cli-service)…