如何使用Hexabitz单导联EXG监测模块和Arduino Uno捕获和可视化生物信号

  发布人:amy2025 时间:2025-08-15

使用Arduino接收来自Hexabitz单导联EXG监视器的肌肉信号数据。处理和可视化数据与LED指示灯。

在这个项目中,我们将使用Hexabitz单导联EXG监测模块(H2BR0)捕获肌肉信号数据,并使用Arduino Uno进行处理。目标是创建一个易于使用和视觉上吸引人的生物信号可视化工具。

单引脚,EXG监视器(H2BR0x):

Hexabitz单导联EXG监测模块(H2BR0)是一种可以记录来自心脏(ECG),大脑(EEG),眼睛(EOG)和肌肉(EMG)的出版级生物电位信号的模块之一。

是什么让它与众不同?

记录出版质量的生物电位信号,如ECG, EMG, EOG或EEG。

小尺寸允许易于集成到移动和空间有限的项目。

H2BR0基于STM32G0单片机。

使用我们易于使用的api编写高级C代码。

您可以连接到外部硬件或与其他Hexabitz模块组合!

一步一步的指示:

设置Hexabitz EXG监控模块:

请查看本文,了解如何使用STM32CubeIDE编写代码。

ExG模块主代码:

此代码设计用于与肌电传感器的接口,读取肌肉信号并通过串行通信将其传输到树莓派(它初始化传感器,读取样本并将其发送到端口P3)

UserTask函数是主要的用户定义任务。

它使用‘ EXG_Init(EMG) ’初始化EMG(肌电)传感器。

在无限循环中,我们使用‘ PlotToTerminal ’读取emg样本。

设置硬件:

将Hexabitz EXG监视器模块连接到Arduino Uno上的TX/RX引脚(数字引脚0和1)。

将led连接到Arduino Uno上的数字输出引脚(例如,引脚6)。

使用USB线或外部电源为Arduino Uno供电。

初始化串行通信:

打开Arduino IDE并创建一个新的草图。

在setup()函数中初始化波特率为921600的串行通信。

读取和处理数据:

从Hexabitz EXG监视器模块读取传入数据。

可视化数据:

控制led以显示信号强度。

使用Arduino IDE中的串行绘图仪以图形格式可视化数据

代码

解释:

该代码处理从Hexabitz EXG监控模块传入的串行数据,以控制led的亮度,提供生物信号强度的视觉表示。它首先初始化led作为输出并设置高速串行通信。当数据到达时,它被存储在缓冲区中,直到检测到消息的结尾。消息的最后四个字节被提取为ascii编码的数值,转换为浮点数,并映射以确定应该点亮多少个led。这种映射反映了信号的强度,led作为被监测生物信号的视觉指示器。代码优雅地处理较短或无效的消息,确保其操作的可靠性。

功能概述:

1. 从串口读取数据字节。

2. 缓冲最多63字节的数据。

3. 将最后4字节(60-63)合并为单个值(' sensorValue ')。

4. 使用‘ sensorValue ’来确定应该点亮多少led,将传感器值映射到led的数量。

5. 将组合的传感器值打印到串行监视器。

项目测试

结论:

本项目演示了如何使用Hexabitz单导联EXG监测模块和Arduino Uno捕获和可视化生物信号。通过LED和串行绘图仪将数据可视化,我们可以创建一个有效的生物信号分析工具。

关键词: 单片机 STM32G0 ArduinoUno H2BR0

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路