int trig = 4;//Trig端
int echo = 5;//Echo端
float cm;

void setup()
{

pinMode(echo,INPUT);
pinMode(trig,OUTPUT);
Serial.begin(9600);
}

void loop ()
{
  chaoshengbo(2.1);//2.1为chaoshengbo函数中的dis参数
  delay(1000);
}

void chaoshengbo(float dis)
{

unsigned long time = 0;
while(1){
digitalWrite(trig,HIGH);
delayMicroseconds(15);//需要大于10(微秒)
digitalWrite(trig,LOW);

time = pulseIn(echo,HIGH);//高电平传回超声波从发射到接收所经过的时间。
float S = time/58.00; //使用浮点计算出距离,单位为cm,time除以58是由速度乘以时间换算而来
Serial.print( S - dis); //滤波
Serial.print("cm");
Serial.println();
S = 0;
time = 0;
delay(500);

}
}