怎样用单片机做呼吸灯

1.查看说明 2.流程 1)Aduino单片机给呼吸传感器传感器发送0xFF,0xCC,0x03 CKSUM 0xA0启动呼吸传感器 CKSUM(第四位):是一个校验的数值,这里就是0x03 + 0xA0 = 0xA3 ,所以CKSUM=0xA3 1.

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);
      }
 
}

装换成方波,测方波的频率,间接测出呼吸的频率

知秋君
上一篇 2024-08-13 11:12
下一篇 2024-08-13 10:48

相关推荐