Arduino中读取陀螺仪MPU6050六轴数据——三个加速度、三个角速度

news2024/11/16 6:47:59

1、工程创建

创建和添加I2C、MPU6050的.CPP、.h文件。

(1)功能和测试

(2)主程序代码


#include "MsTimer2.h"
#include "KalmanFilter.h"
#include "I2Cdev.h"
#include "MPU6050.h"
//#include "MPU6050_6Axis_MotionApps20.h"

MPU6050 mpu; //实例化一个 MPU6050 对象,对象名称为 mpu

int16_t x_Angle,y_Angle,z_Angle;

//前3位分别是x,y,z的加速度,而后3位是x,y,z的角速度
int16_t ax, ay, az;
int16_t gx, gy, gz;

#define LED_PIN 13
bool blinkState = false;

void setup() 
{
  Serial.begin(115200);                    //开启串口,设置波特率为 115200
  Wire.begin();                            //加入 I2C 总线序列
  delay(1500);
  Serial.println("Initializing I2C devices...");
  
  mpu.initialize();                        //初始化MPU6050
  delay(2);
  
  Serial.println("Testing device connections...");
  Serial.println(mpu.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");

  
  //5ms定时中断设置  使用timer2    
  //注意:使用timer2会对pin3 pin11的PWM输出有影响,因为PWM使用的是定时器控制占空比,
  //所以在使用timer的时候要注意查看对应timer的pin口。
  MsTimer2::set(100, Mpu6050_Read);     //100ms任务周期
  MsTimer2::start();
}

void loop() 
{
    //前3位分别是x,y,z的加速度,而后3位是x,y,z的角速度
    mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
    Serial.print("a/g:\t");
    Serial.print(ax); Serial.print("\t");
    Serial.print(ay); Serial.print("\t");
    Serial.print(az); Serial.print("\t");
    Serial.print(gx); Serial.print("\t");
    Serial.print(gy); Serial.print("\t");
    Serial.println(gz);Serial.print("\t");
    Serial.print("\r\n");
    delay(2000);  

    /*
    x_Angle=mpu.getRotationX();                          
    y_Angle=mpu.getRotationY();
    z_Angle=mpu.getRotationZ();
    Serial.print(x_Angle); Serial.print("\t");
    Serial.print(y_Angle); Serial.print("\t");
    Serial.print(z_Angle); Serial.print("\t");
    Serial.print("\r\n");Serial.print("\r\n");
    */
    delay(1000);  
    
}

void Mpu6050_Read()
{
  //Serial.println("MsTimer2 Send");
}

2、工程下载链接

https://download.csdn.net/download/panjinliang066333/89801359

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

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

相关文章

kubernetes K8S 结合 Istio 实现流量治理

目录 1.Istio介绍? 1.1 Istio是什么? 1.2 Istio流量管理 1.2.1 熔断 1.2.2 超时 1.2.3 重试 2.Istio架构 3.istio组件详解 3.1 Pilot 3.2 Envoy 3.3 Citadel 3.4 Galley 3.5 Ingressgateway 3.5 egressgateway 扩展、k8s1.23及1.23以下版…

双卫星终端首发!遨游通讯织密天地一体应急通信网

2024年9月,全球通信行业的目光再次聚焦于北京,2024年中国国际信息通信展览会如期而至。展会次日,遨游通讯展台前热闹非凡,观众们纷纷驻足体验,对5G防爆手机、防爆车载台、PDT多模终端、DMR多模终端、卫星通信终端、单北…

【CAS框架自定义登录异常提示-固定时间内限制登录失败次数提醒】

CAS框架自定义登录异常提示 CAS框架自定义登录异常提示cas自定义异常自定义异常的步骤-三步走1定义自定义异常类2配置文件配置3逻辑代码中抛出自定义异常总结 自定义异常显示失败问题查找 自定义异常带msg参数不显示问题处理最后 CAS框架自定义登录异常提示 本地CAS框架异常提…

MySQL数据库进阶知识(四)《视图、存储过程、触发器》

学习目标: 掌握数据库视图基础知识 掌握数据库存储过程原理 掌握数据库触发器相关知识 学习内容: 一. 视图 介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询…

Acwing 最小生成树

最小生成树 最小生成树:由n个节点,和n-1条边构成的无向图被称为G的一棵生成树,在G的所有生成树中,边的权值之和最小的生成树,被称为G的最小生成树。(换句话说就是用最小的代价把n个点都连起来) Prim 算法…

大疆会搞微单相机吗,直接和索尼、佳能、尼康竞争?

网传信息,不知道大疆后续是否真会考虑这块的业务。 在消费类电子的cmos领域,类似豪威、格科、斯特威等国产公司,已经有了一些突破。不过在高端的单反、微单领域,日本还是处于绝对的垄断地位。 2023年,全球cmos市场占有…

操作系统复习3 malloc如何分配内存

malloc分配内存 malloc是c语言的库函数,不支持重载 malloc的返回值是void*类型需要强制转换 malloc申请完的内存需要用free来进行释放内存 malloc申请空间失败会返回值为空 malloc申请的是虚拟内存地址,只有这块内存被访问时,才能发生映…

基于quill2.0的富文本编辑器,Fluent Editor,支持表格,图片,表情等

官网&#xff1a;Fluent Editor | 基于 Quill 2.0 的富文本编辑器 安装 npm i opentiny/fluent-editor quill 使用案例 <template><div class"publish-form-container"><!-- TODO --><div ref"quillEditorRef" class"quill…

comfyui 工作流生成图片使用history接口获取返回时 outputs为空 问题请教,希望有大佬可以帮忙解答一下

comfyui github地址&#xff1a; GitHub - comfyanonymous/ComfyUI: The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.…

flush cache line dirty bytes

结论&#xff1a; ARM :To mark these lines, each line of the cache has an associated dirty bit (or bits) 所以这个依赖硬件实现&#xff0c;可能只刷出dirty bytes of cache line to memory.有的硬件只有一个dirty bit&#xff0c;所以会刷出整条cache line x86没有找…

1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解

目录 软件开发整体流程 软件开发流程 角色分工 软件环境 苍穹外卖项目介绍 项目介绍 产品原型 技术选型 开发环境搭建 前端环境搭建 后端环境搭建 完善登录功能 导入接口文档 Swagger 介绍 使用方式 常用注解 软件开发整体流程 软件开发流程 需求分析&#x…

Supabase 入门指南

Supabase 是一个开源替代品&#xff0c;用于 Firebase 提供的后端服务。它基于 PostgreSQL&#xff0c;提供实时数据库、身份验证、存储等功能。本文将深入探讨 Supabase 的主要功能&#xff0c;并结合不同场景给出代码实例。 1. 创建 Supabase 项目 首先&#xff0c;访问 S…

Cannon-es物理引擎中物体动力控制的深度探索

本文目录 前言1、cannon-es给物体施加力1.1 前置代码1.2 效果1.3 给小球施加力1. applyForce效果 2. applyImpulse效果 3. applyLocalImpulse效果 4. applyTorque效果 区别总结 前言 在三维物理引擎的世界里&#xff0c;Cannon-ES以其轻量级和高效能著称&#xff0c;为开发者提…

寿司检测系统源码分享

寿司检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

zabbix“专家坐诊”第257期问答

问题一 Q&#xff1a;zabbix5.0监控项里的键值&#xff0c;怎么设置变量值&#xff1f;{#ABC} {$ABC} 都识别不到变量。 A&#xff1a;可以参考一下这个。 问题二 Q&#xff1a;我想问一下用odbc创建监控项&#xff0c;生成了json格式&#xff0c;如何创建一个触发器去判断里面…

精准控制交易亏损:掌握关键止损点设置技巧

前段时间&#xff0c;咱们探讨了开仓的策略&#xff0c;那今天就需要来聊聊止损的技巧了。一个好的开始很重要&#xff0c;但知道何时止损也是同样关键。市场波动大&#xff0c;机会稍纵即逝。当趋势变得不明确时&#xff0c;止损可以帮助我们管理风险&#xff0c;防止损失加剧…

Spring Cloud Gateway 之动态uri 自定义过滤器

背景&#xff1a;第三方公司 请求本公司入参和出参一样的同一个接口&#xff0c;根据业务类型不一样需要不同业务微服务处理 &#xff0c;和第三方公司协商在请求头中加入业务类型方便我公司在网关成分发请求。 1&#xff1a;在spring cloud gateway yml 中加入路由 重点是 -…

STL——map和set【map和set的介绍和使用】【multimap和multiset】

目录 map和set1.关联式容器2.键值对3.树形结构的关联式容器3.1set3.1.1set的介绍3.1.2set的使用3.1.2.1set的模版参数列表3.1.2.2set的构造3.1.2.3set的迭代器3.1.2.4set基本接口的使用3.1.2.5set使用案例 3.2map3.2.1map介绍3.2.2map的使用3.2.2.1map的构造3.2.2.2map的迭代器…

一个必会算法模型,XGBoost !!

大家好&#xff0c;今天咱们来聊聊XGBoost ~ XGBoost&#xff08;Extreme Gradient Boosting&#xff09;是一种集成学习算法&#xff0c;是梯度提升树的一种改进。它通过结合多个弱学习器&#xff08;通常是决策树&#xff09;来构建一个强大的集成模型。 XGBoost 的核心原理…

数据结构练习题————(二叉树)——考前必备合集!

今天在牛客网和力扣上带来了数据结构中二叉树的进阶练习题 1.二叉搜索树与双向链表———二叉搜索树与双向链表_牛客题霸_牛客网 (nowcoder.com) 2.二叉树遍历————二叉树遍历_牛客题霸_牛客网 (nowcoder.com) 3.二叉树的层序遍历————102. 二叉树的层序遍历 - 力扣&am…