Arduino超声波传感器测量距离
生活随笔
收集整理的這篇文章主要介紹了
Arduino超声波传感器测量距离
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
超聲波傳感器的原理
聲波在空氣中的速度是340m/s,當(dāng)聲波發(fā)生之后,碰到障礙物后聲波被反射,這時(shí)我們只要測(cè)量聲波發(fā)出到返回的時(shí)間就可以計(jì)算出距離了。
假設(shè)測(cè)量時(shí)間是t(微妙) 則距離l(cm) = 340m/st1000000*(1/100)(1/2) 化簡(jiǎn)之后 l(厘米) = t17/1000
其中1/2指的是測(cè)的聲波返回時(shí)間是一個(gè)來回,所以需要除以2。
接線方式
VCC ---- 5v
GND ---- GND
Trig — 2
Echo — 3
程序
float l; //測(cè)量距離 float t; //測(cè)量時(shí)間 void setup(){Serial.begin(9600); // 串口波特率pinMode(2,OUTPUT); //定義2號(hào)針腳是輸出模式pinMode(3,INPUT); //定義3號(hào)針腳是輸入模式 }void loop(){digitalWrite(2,LOW); //給2號(hào)針腳發(fā)送一個(gè)低電平delayMicroseconds(2); //延時(shí)2微妙digitalWrite(2,HIGH); //給2號(hào)針腳一個(gè)一個(gè)高電平delayMicroseconds(10); //延時(shí)10微妙digitalWrite(2,LOW); //給2號(hào)針腳一個(gè)低電平t = float(pulseIn(3,HIGH)); //儲(chǔ)存回波時(shí)間l = (t * 17)/1000; //計(jì)算距離Serial.println("時(shí)間:"+String(t)); //輸出回波時(shí)間Serial.println("距離:"+String(l)+"cm"); //輸出測(cè)量距離delay(100); //延時(shí)100毫秒 }總結(jié)
以上是生活随笔為你收集整理的Arduino超声波传感器测量距离的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word文档怎么找回误删的文件_Word
- 下一篇: [AE] ArcGIS Engine -