littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于Arduino框架的加速度传感器数据处理系统

项目简介

本项目基于Arduino框架,借助WEMOS LOLIN32 Lite和GY - 291 ADXL345 3 - AXIS ACCELEROMETER设备,实现加速度传感器数据的采集、处理与分析。还利用EdgeImpulse平台对采集数据进行训练,将训练好的模型部署到设备上,通过LED灯不同模式展示处理结果。

项目的主要特性和功能

  1. 传感器数据采集:利用GY - 291 ADXL345加速度传感器实时采集加速度数据。
  2. 数据训练:把采集的数据上传到EdgeImpulse平台进行训练,构建模型。
  3. 模型部署:将训练好的模型部署到WEMOS LOLIN32 Lite设备上。
  4. 结果展示:依据模型处理结果,控制LED灯以不同模式显示。

安装使用步骤

环境准备

  1. 准备WEMOS LOLIN32 Lite和GY - 291 ADXL345 3 - AXIS ACCELEROMETER设备。
  2. 若使用设备收集数据,需在主机安装Node.js v10或更高版本,并在Windows命令行安装CLI工具:npm install -g edge - impulse - cli
  3. 安装Visual Studio Code并添加PlatformIO扩展。

项目创建

  1. 点击VSCode中的PIO图标,进入PIO Home > Open,点击New Project,自定义项目名称,选择Board为WEMOS LOLIN 32,框架选Arduino,使用默认项目保存位置,点击Finish等待完成。
  2. 在PIO Home中,点击Libraries标签,搜索EloquentTinyML(by Simone Salerno)和Adafruit ADXL345 Libraries(by Adafruit),添加到之前创建的项目中。

代码添加与构建

check_sensor.cpp中的代码添加到项目文件夹your - project - name\\src\\下的main.cpp文件中。点击VSCode状态栏左下角的箭头按钮进行构建,可在Arduino IDE中查看结果。

数据收集与训练

  1. 若用设备收集数据到EdgeImpulse平台训练模型,在命令行输入edge - impulse - data - forwarder,输入注册邮箱和密码,按命令行提示操作。
  2. 也可参考文档用手机收集数据。打开EdgeImpulse开始采样添加数据并命名标签。
  3. 点击Impulse Design,选择训练方式,设置各模块参数,运行学习模块得到结果。训练完成后,进入Deployment,选择Arduino Library,禁用EON Compiler,选择Unoptimized (float 32) 进行构建,得到.zip文件并解压。

模型部署

  1. 将解压文件夹中的src\tflite - model\tflite - trained.h文件复制到项目的include文件夹中。
  2. 编辑main.cpp文件,根据model_metadata.h文件修改NUMBER_OF_INPUTSNUMBER_OF_OUTPUTSTENSOR_ARENA_SIZE的值,同时修改引脚号。
  3. 运行文件,查看结果。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】