大家好,今天主要和大家聊一聊,如何使用鸿蒙系统读取三轴加速度的方法。

目录

第一:三轴加速速基本原理

第二:E53_SC2中API分析

第三:硬件设计

第四:软件设计

第五:编译调试

第六:运行结果

第一:三轴加速速基本原理

在加速度传感器中有一种是三轴加速度传感器,同样的它是基于加速度的基本原理去实现工作的,加速度是个空间矢量,一方面,要准确了解物体的运动状态,必须测得其三个坐标轴上的分量;另一方面,在预先不知道物体运动方向的场合下,只有应用三轴加速度传感器来检测加速度信号。由于三轴加速度传感器也是基于重力原理的,因此用三轴加速度传感器可以实现双轴正负90度或双轴0-360度的倾角,通过校正后期精度要高于双轴加速度传感器大于测量角度为60度的情况。

  目前的三轴加速度传感器大多采用压阻式、压电式和电容式工作原理,产生的加速度正比于电阻、电压和电容的变化,通过相应的放大和滤波电路进行采集。这个和普通的加速度传感器是基于同样的原理,所以在一定的技术上三个单轴就可以变成一个三轴。对于多数的传感器应用来看,两轴的加速度传感器已经能满足多数应用。但是有些方面的应用还是集中在三轴加速度传感器中例如在数采设备,贵重资产监测,碰撞监测,测量建筑物振动,风机,风力涡轮机和其他敏感的大型结构振动。

第二:E53_SC2中API分析

使用以下API完成三轴加速度的读取

E53_SC2_Init()

void E53_SC2_Init(void)

功能描述:初始化E53_SC2_Init(void)

E53_SC2_Read_Data()

float E53_SC2_Read_Data(void)

功能描述:读取三轴加速度及温度

第三:硬件设计

本示例使用鸿蒙开发板,其中原理图如下,三轴加速度传感器MPU6050是通过I2C来驱动的。

第四:软件设计

首先调用 E53_SC2_Init() 函数初始化E53_SC2所接的引脚的功能,然后循环调用E53_SC2_Read_Data()函数读取三轴加速度并通过串口打印出来,设置第一次读出的三轴加速度为水平状态,当倾斜开发板后会点亮扩展板上倾斜状态的灯。

static void Example_Task(void)
{E53_SC2_Init();while(1){printf("=======================================\r\n");printf("*************E53_SC2_example***********\r\n");printf("=======================================\r\n");E53_SC2_Read_Data();printf("\r\n******************************Temperature      is  %d\r\n", (int)E53_SC2_Data.Temperature);printf("\r\n******************************Accel[0]         is  %d\r\n", (int)E53_SC2_Data.Accel[0]);printf("\r\n******************************Accel[1]         is  %d\r\n", (int)E53_SC2_Data.Accel[1]);printf("\r\n******************************Accel[2]         is  %d\r\n", (int)E53_SC2_Data.Accel[2]);if( X == 0 && Y == 0 && Z == 0){X = (int)E53_SC2_Data.Accel[0];Y = (int)E53_SC2_Data.Accel[1];Z = (int)E53_SC2_Data.Accel[2];}else{if(X+100<E53_SC2_Data.Accel[0]||X-100>E53_SC2_Data.Accel[0]||Y+100<E53_SC2_Data.Accel[1]||Y-100>E53_SC2_Data.Accel[1]||Z+100<E53_SC2_Data.Accel[2]||Z-100>E53_SC2_Data.Accel[2]){LED_D1_StatusSet(OFF);LED_D2_StatusSet(ON);}else{LED_D1_StatusSet(ON);LED_D2_StatusSet(OFF);}}usleep(1000000);}
}

第五:编译调试

修改BUILD.gn文件

修改applications\BearPi\BearPi-HM_Nano\sample路径下 BUILD.gn 文件,指定 e53_sc2_example 参与编译。

#"C1_e53_sf1_mq2:e53_sf1_example",
#"C2_e53_ia1_temp_humi_pls:e53_ia1_example",
#"C3_e53_sc1_pls:e53_sc1_example",
"C4_e53_sc2_axis:e53_sc2_example",
#"C5_e53_is1_infrared:e53_is1_example",

第六:运行结果

实例代码编译烧录后,按下开发板的RESET按键,通过串口助手查看日志,会打印温度和三轴加速度信息。当倾斜开发板后会点亮扩展板上倾斜的灯。

=======================================
*************E53_SC2_example***********
=======================================******************************Temperature      is  25******************************Accel[0]         is  45******************************Accel[1]         is  3******************************Accel[2]         is  2089
=======================================
*************E53_SC2_example***********
=======================================******************************Temperature      is  25******************************Accel[0]         is  49******************************Accel[1]         is  5******************************Accel[2]         is  2087

HarmonyOS系统中内核实现三轴加速度检测方法相关推荐

  1. HarmonyOS系统中内核实现智慧物流控制的方法

    大家好,今天主要和大家聊一聊,如何使用鸿蒙系统实现智能物流的开发. 目录 第一:智能物流简介 第二:华为IOT平台API分析 数据上传 设备消息上报 设备上报属性数据 网关批量上报属性数据 属性设置的 ...

  2. HarmonyOS系统中内核实现智慧烟感控制的方法

          大家好,今天主要和大家聊一聊,如何利用鸿蒙系统实现智慧烟感方法 目录 第一:鸿蒙系统智慧烟感基本简介 第二:华为IOT平台API 数据上传 设备消息上报 设备上报属性数据 网关批量上报属性 ...

  3. STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  4. HarmonyOS系统中内核实现NFC无线通信的方法

    大家好,今天主要聊一聊,如何使用鸿蒙系统中的NFC视频通信方法. 目录 第一:NFC基本简介 第二:鸿蒙系统中API分析 第三:硬件设计 第四: 软件设计 第五:编译调试 第六:运行结果 第一:NFC ...

  5. HarmonyOS系统中内核实现烟雾检测的方法

    大家好,今天我们主要来聊一聊,如何使用鸿蒙系统来操作烟雾浓度传感器. 目录 第一:烟雾浓度传感器原理 第二: 鸿蒙相关API函数分析 Init_E53_SF1() MQ2_PPM_Calibratio ...

  6. HarmonyOS系统中内核实现MQTT连接华为云的方法

    大家好,今天主要和大家聊一聊,如何使用MQTT连接华为云平台的方法 目录 第一:MQTT通信基本原理 第二:华为IOT平台API 第三:华为IOT平台初始化 第四:设置命令响应函数 第五:数据上传 设 ...

  7. ADI Blackfin DSP处理器-BF533的开发详解58:DSP控制ADXL345三轴加速度传感器的应用(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度 ...

  8. ADI Blackfin DSP处理器-BF533的开发详解59:DSP控制ADXL345三轴加速度传感器的应用2(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度 ...

  9. ADI Blackfin DSP处理器-BF533的开发详解60:DSP控制ADXL345三轴加速度传感器-电子水平仪(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度 ...

最新文章

  1. 2020斐讯k3刷什么固件_斐讯K2/K3/K2P等路由器搭建收费wifi集成教程
  2. python grequests极限_Python使用grequests并发发送请求
  3. java nio 阻塞_Java NIO和传统阻塞IO
  4. 在 SAP Kyma 上使用 Redis 服务
  5. LeetCode MySQL 570. 至少有5名直接下属的经理
  6. 在大公司天天调参数,感觉快废了
  7. 介绍ML.NET——面向.NET开发人员的机器学习库
  8. STM8单片机ADC模拟看门狗功能实现
  9. 一步一步部署GlusterFS
  10. 英特尔固态盘加速云与大数据应用创新
  11. 学习笔记——meta analysis
  12. QT应用编程: Visual Studio里编写activex控件在网页中运行(dll插件形式)
  13. 首先,打破一切常规 学习笔记 之四
  14. SPSS李克特五点计分调查问卷的选项如何设置?【SPSS 066期】
  15. (十三)office2016-excel提取出生年月
  16. Python常用第三方库
  17. 下载的win7虚拟机缺少api-ms-win-core库
  18. cherry-pick多次
  19. matlab绘制蔓叶线,powerdraw
  20. 通过ASM1117实现5V转3.3V电路

热门文章

  1. allegro 增加或删除标注尺寸
  2. 分枝限界法求解任务分配问题
  3. 17984 FFF团的怒火
  4. 计算机游戏比赛,计算机作品大赛优秀作品展示---数字动漫游戏栏目
  5. SparkSteaming程序异常问题排查步骤
  6. 《七周数据分析师》总结
  7. NVIDIA DPU — 安装部署
  8. mac 安装 office步骤
  9. mac上爱思助手连接iphone一闪一闪的
  10. win10如何打开摄像头_网课直播总翻车?电脑摄像头、麦克风问题解决方案大全!...