Air8000+G-sensor:零基础开发者的传感器入门课!

电子说

1.4w人已加入

描述

无需复杂理论,本文专为零基础开发者设计,从Air8000核心板硬件特性入手,一步步演示G-sensor的注册、配置与数据解析。结合趣味实例(如倾斜控制LED),让你30分钟内完成首个传感项目,夯实物联网开发基础,可根据具体需求灵活运用。

最新开发资料详见:www.air8000.cn

一、G-sensor传感器简介 
 

G-sensor重力传感器,又名加速度传感器。

Air8000内部集成了G-sensor传感器DA221,开发者可直接调用传感器数据,无需额外扩展硬件。

物联网


DA221传感器——是一种低功耗、高性能的电容式三轴线性加速度计,采用微机械技术开发。

该器件采用2x2x1.1mm的LGA封装,保证在-40°C至+85°C的宽温度范围内工作。传感器元件采用单晶硅通过DRIE工艺制造,并通过密封的硅帽保护免受环境影响。具有用户可选的±2g/±4g/±8g满量程测量范围,数据输出速率从1Hz到1kHz,并集成了信号调节和主动检测功能。

DA221具有断电模式,独立且灵活的中断大大简化了各种运动状态检测的算法。

二、主要硬件准备
 

2.1 主要硬件

Air8000核心板套件;

支持数据传输的USB数据线;

Win10及其以上PC电脑。

2.2 接线说明

使用USB数据线,连接Air8000核心板与电脑即可。Air8000模块内部DA221传感器的INT引脚,已经连接到处理器的GPIO39引脚。

1)核心板正面:

物联网

2)核心板反面:

物联网

三、最新源码及实操教程 

Air8000应用示例持续更新中,当前示例为G-sensor功能,支持读取传感器的三轴数据和中断输出。

最新源码及实操教程详见:

https://docs.openluat.com/air8000/luatos/app/gsensor/ 

示例代码相关要点解析如下:

3.1 Air8000中断设置

硬件连接:

Air8000模块内部DA221传感器的INT引脚,已经连接到处理器的GPIO39引脚。

中断触发方式:

当传感器检测到运动(根据INT_MAP1等寄存器配置)时,会改变INT引脚电平默认情况下,当引脚电平变化(上升沿或下降沿)时会触发中断。

回调机制:

每次中断触发时,系统会自动调用ind() 函数,可在ind()中可以处理传感器数据(如加速度数据)。

3.2 初始化I2C

1)复用I2C引脚

物联网


2)配置I2C引脚

重新打开I2C,I2C速度设置为低速模式。

物联网

3.3 初始化G-sensor

1)配置DA221的精度、测量范围等。

物联网

2)配置中断

物联网

3)将中断映射到INT引脚 

当XYZ轴合成的加速度超过阈值时,G-sensor传感器就可以产生中断。

当中断产生时,这个状态可以映射到INT引脚,然后模块与INT引脚相连的引脚检测到中断信息后,就可以进行。

物联网

4)配置gsensor模式,使能XYZ轴。

物联网

3.4 中断处理代码

物联网

3.5 读取传感器三轴数据

物联网

3.6 异常处理

读取XYZ轴和计步数据时,如果读取的数据不正确,则会发布一个消息RESTORE_GSENSOR。

可以通过监听到这个消息来判断传感器工作是否正常,以及做一些特殊处理。

物联网

四、实操验证流程

4.1 烧录代码

参考《如何使用LuaTools给Air8000烧录软件》,将准备好的软件烧录进Air8000,详见:

https://docs.openluat.com/air8000/luatos/common/download/

4.2 运行结果

1)传感器初始打印相关信息:

物联网


2)读取三轴数据,解析显示出来:

物联网

3)每4秒钟读取一次传感器数据:

物联网

4)中断输出日志数据:

物联网

今天的内容就分享到这里了~

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分