脉搏传感器
一、功能以及原理
PulseSensor 传感器是一种基于光学原理的心率传感器,可以通过测量心脏跳动时的血液流动情况来检测心率。它由一个 LED 和一个光敏元件组成,LED 发出的光线透过皮肤照射到血液中,光敏元件接收反射回来的光线,然后将光信号转换为电信号,从而测量出心率。
光电容积法的基本原理是利用人体组织在血管搏动时造成透光率不同来进行脉搏测量的。光源一般采用对动脉血有选择性的特定波长的发光二极管(515nm 的绿光)。当光束透过人体外周血管,由于动脉搏动充血容积变化导致这束光的透过光率发生改变,此时由光电变换器接收人体组织反射的光线,转变为电信号并将其放大和输出。由于脉搏是随心脏的搏动而周期性变化的信号,动脉血管容积也周期性变化,因此光电变换器的电信号变化周期就是脉搏率。

二、引脚介绍以及对应开发板可用引脚

针脚 | 可连接引脚 | 功能 |
VCC | 5V | 提供工作电压 |
OUT | 模拟引脚 | 脉搏信号输出,输出电压模拟值,需要进行转换 |
GND | GND | GND |
三、代码控制(如何使用文本代码或图形化代码控制)
在 Arduino 开发板中控制脉搏传感器,存在专门的库函数,下面是代码示例
3.1 文本代码
volatile float my_float_variable;
#define TRIG_PIN 3
#define ECHO_PIN 2
float readDistanceCM(){
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration * 0.034 / 2;
}
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(13, OUTPUT);
}
void loop() {
my_float_variable = readDistanceCM();
if (my_float_variable < 100) {
digitalWrite(13,HIGH);
}
else {
digitalWrite(13,LOW);
}Serial.print("Measured distance:");
Serial.println(readDistanceCM());
delay(0.1 * 1000);
}
3.2 图形化代码
图形化代码不需要额外编写函数,在传感器模块中,已经封装测距函数。

3.3 结果
编写完控制程序,模拟运行后,单击元器件能够修改传感器感知数值
四、相关案例演示
精选项目请关注 https://www.funcode.cc/simulate/?project_id=9&type=3&share_source=0
同时精选项目提供了结合超声波传感器、语音播报器搭建安全报警器的案例 https://www.funcode.cc/simulate?project_id=65&type=3&share_source=0
五、相关课程链接
B 站视频链接 https://www.bilibili.com/video/BV1XD48eeEXS/?spm_id_from=333.1387.upload.video_card.click