1.查看说明
2.流程
1)Aduino单片机给呼吸传感器传感器发送0xFF,0xCC,0x03 CKSUM 0xA0启动呼吸传感器
CKSUM(第四位):是一个校验的数值,这里就是0x03 + 0xA0 = 0xA3 ,所以CKSUM=0xA3
1.
传感器给arduino返回应答数据:0xFF,0xCC,0x05,CKSUM,0xA0,MBH,MBL
CKSUM(第四位):与上面同,也是一个校验的数值,这里就是0x05 + 0xA0 = 0xA5 ,所以CKSUM=0xA5,在程序中可以加一个判断。如果第四位等于0xA5说明程序没问题。
MBH,MBL:是呼吸的数据,分为低八位和高八位,最后要合成一个数据即为呼吸的数据
1.
引脚连接
单片机 呼吸传感器
2------->TX
3------->RX
GND ------> GND
5V -------> 5V
1. arduino单片机程序编写
#include<SoftwareSerial.h>
SoftwareSerial softSerial(3, 2);
int H=0;
int L=0;
int data;
int pin=4;//方波输出引脚
void setup() {
//初始化serial,该串口用于与计算机连接通信:
Serial.begin(9600);
//初始化serial1,该串口用于与设备B连接通信;
softSerial.begin(115200);
softSerial.listen();
//注意write!!!
softSerial.write(0xFF);
softSerial.write(0xCC);
softSerial.write(0x03);
softSerial.write(0xA3);
softSerial.write(0xA0);
pinMode(pin, OUTPUT); // 将4脚设置为输出
}
void loop() {
delay(100);
//Serial.println(softSerial.read());
for(int i=0;i<7;i++){
//Serial.println(softSerial.read()); //0 ,255
if(i==5){
//Serial.println("hhhh"); //hhh
H=softSerial.read();
//Serial.println(H); //0
}
else if(i==6){
//Serial.println("LLLL");// ,lll
L=softSerial.read();
//Serial.println(L);
}
else
{
//Serial.println(softSerial.read());
softSerial.read();
}
}
//Serial.println("____");
data=(H << 8) | L;
if(-1<data && data<1050){
Serial.println(data);
}
//Serial.println("______________________");
/*
H = 1;
L = 1;
data = (short) (H << 8) | L;
Serial.println(data);
*/
if(data > 500){
digitalWrite(pin, 1);
}else{
digitalWrite(pin, 0);
}
}
装换成方波,测方波的频率,间接测出呼吸的频率