OLED显示
1.所需硬件
脉搏传感器
OLED模块
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;