Arduino之个人健康助理——简易智能药盒系列2

本文介绍了使用Arduino主板、脉搏传感器和OLED模块自制简易智能药盒的过程。通过脉搏传感器原理,计算脉搏数的思路以及绘制心率图的方法,展示了如何在OLED屏幕上实时显示心率折线图和脉搏数(BPM)。文章还包含了硬件连接方式和代码实现,并期待得到技术交流和指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OLED显示

1.所需硬件

脉搏传感器
脉搏传感器
OLDE模块
OLED模块
Arduino主板
Arduino主板

2.连接方式

脉搏传感器与主板连接
s — A0
+— 5V
-— GND

OLED模块与主板连接
GND—GND
VCC—3.3V或5V
SCL—A5
SDA—A4

3.基本思路

脉搏传感器原理

首先,需要简要了解一下脉搏传感器大致原理。
脉搏传感器能把脉搏跳动压力转化为电信号输出(以电压形式)。基于这种原理,就可以利用电压值的变化计算脉搏跳动数。

计算脉搏数的思路

电压随时间变化
如图,跳离直线y=v0的点A1,A2,A3可表示为脉搏跳动的点(脉搏跳动,输出电压增大),而直线y=v0上的其余点则为脉搏平静时的点。如果可以获得每次跳动时的时刻点t1,t2,t3,从而求得Δt,就可利用 跳动次数=总时间/时间间隔 的公式求得每段Δt上的平均脉搏数。

绘制心率图的思路

因为脉搏的跳动导致电压的变化,于是就可以利用电压的变化来绘制折线图(先绘点,再连线)。将某一点的电压值以一定比例缩放为合适的值,作为该点的纵坐标,对应该点的横坐标(横坐标对应时刻点)。随着时间变化,点的横坐标向前推移,纵坐标随之变化。此时再将点与点之间连上直线,即可绘制出心率折线图。

4.代码

声明

#include <Adafruit_SSD1306.h>   //调用一个库文件

#define OLED_Address 0x3C     //用OLED_Address取代0x3C
                             //0x3C——16进制数(通讯地址)
#define UpperThreshold 550   //用UpperThreshold取代550     
#define LowerThreshold 500   //用LowerThreshold取代500
//UpperThreshold,LowerThreshold为引脚输出模拟电压值的阈值
Adafruit_SSD1306 oled;      //定义变量名为oled

定义变量

//定义变量
int x=0;            
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值