#define Echo D2
#define Trig D8
#define BEEP D5
long getTime()
{
digitalWrite(Trig,HIGH);//*******************
delayMicroseconds(10); //发送一个10微秒的脉冲
digitalWrite(Trig,LOW);//************
return pulseIn(Echo,HIGH); //波传输过程echo高电平,计算高电平时间就获取波传输的时间,单位是微秒
}
void initChaoShengBo()
{
pinMode(Echo, INPUT);
pinMode(Trig, OUTPUT);
}
void setup() {
// put your setup code here, to run once:
initChaoShengBo();
pinMode(BEEP, OUTPUT);
digitalWrite(BEEP,HIGH);
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
//获取距离
long dis;
dis = getTime()/58;
Serial.print(dis);
Serial.println("cm");
if(dis < 10){
digitalWrite(BEEP,LOW);
}else{
digitalWrite(BEEP,HIGH);
}
delay(500);
}
超声波测距实现测距预警
最新推荐文章于 2022-07-19 17:14:02 发布