风轻云淡愿君赏,消尽烦忧心亮敞。夏去秋来添衣裳,一声问候祝安康!

Wemos D1 超声测距

HC-SRO4超声波模块

 

 

 

 

 

四个引脚:VCC(正极),Trig(触发),Echo(回应),GDN(接地)

#define Echo D2
#define Trig D8
long GetTime()
{   
     digitalWrite(Trig,HIGH);
     delayMicroseconds(10);
     digitalWrite(Trig,LOW);
     return pulseIn(Echo,HIGH);
}
/*
 //pulseIn函数会等待引脚变为HIGH,开始计算时间,再等待变为LOW并停止计时
  //返回脉冲的长度
  
  //声速是:340m/1s 换算成 34000cm / 1000000μs => 34 / 1000
  //因为发送到接收,实际是相同距离走了2回,所以要除以2
  //距离(厘米)  =  (回波时间 * (34 / 1000)) / 2
  //简化后的计算公式为 (回波时间 * 17)/ 1000
*/
void setup() {
    pinMode(Echo,INPUT);  
    pinMode(Trig,OUTPUT);
    Serial.begin(115200);
}
void loop() {
  float ECHO_temp=GetTime();
  float distance =ECHO_temp*17/1000; //回波时间换算成cm /58.8235;
          if(distance <10)
          {  
             Serial.print("Near...");
             Serial.println(ECHO_temp);
             Serial.print(" )(...)(");
             Serial.print(distance);
            // Serial.println(ds);
             Serial.println("CM");
             delay(1000);
           }
           else
           {
             Serial.println("Far...");
             Serial.print(distance);
             Serial.println("CM");
             delay(1000);
           }
}

 

实际测量效果不是很准,可能是我模块的问题。 

 

posted on 2021-08-13 20:01  荣林  阅读(205)  评论(0编辑  收藏  举报

导航