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); } }
实际测量效果不是很准,可能是我模块的问题。
作者:儒良设计
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!