超聲波測(cè)距原理簡析:
超聲波傳感器能夠發(fā)射超聲波并接收反射回的超聲波信號(hào)。利用發(fā)射與接收的時(shí)間差以及傳播速度(即聲速,聲音在空氣中傳播的速度約為340m/s)即可計(jì)算傳感器到障礙物體的距離。單片機(jī)向超聲波傳感器發(fā)送脈沖,超聲波傳感器被此脈沖觸發(fā)后會(huì)產(chǎn)生一個(gè)40 kHz的脈沖電信號(hào),通過激勵(lì)換能器處理以后,轉(zhuǎn)換成機(jī)械振動(dòng),頻率約在20 kHz以上,由此形成了超聲波。
該信號(hào)經(jīng)錐形“輻射口”處將超聲波信號(hào)發(fā)射出去。接收器接收到反射回來的超聲波信號(hào)后,將超聲波變成微弱的電振蕩,并將信號(hào)進(jìn)行放大,就可得到所需的脈沖信號(hào),此脈沖信號(hào)再返回給單片機(jī)。
超聲波傳感器.jpg (2.6 MB, 下載次數(shù): 79)
下載附件
2020-6-29 21:50 上傳
實(shí)驗(yàn)?zāi)康模?br />
利用HC-SR04超聲波傳感器測(cè)量到目標(biāo)物體的距離,并利用串口通信窗口顯示。
具體而言,在模塊trig端輸出一個(gè)至少10us的高電平信號(hào),則該模塊內(nèi)部將循環(huán)發(fā)射8個(gè)40KHz頻率的脈沖;若檢測(cè)由回波信號(hào),則會(huì)在echo端產(chǎn)生高電平信號(hào)。
器材:
Stduino Uno/Nano、超聲波傳感器HC-SR04、杜邦線4根
電路連接:
電路連接.jpg (207.5 KB, 下載次數(shù): 71)
下載附件
2020-6-29 22:55 上傳
代碼展示:
- int trig = 8;//Trig端
- int echo = 9;//Echo端
- void setup()
- {
- // put your setup code here, to run once:
- pinMode(echo,INPUT);
- pinMode(trig,OUTPUT);
- Serial.begin(9600);
- }
- void loop()
- {
- // put your main code here, to run repeatedly:
- unsigned long time = 0;
- while(1){
- digitalWrite(trig,HIGH);
- delayMicroseconds(15);//需要大于10
- digitalWrite(trig,LOW);
- time = pulseIn(echo,HIGH);//高電平傳回超聲波從發(fā)射到接收所經(jīng)過的時(shí)間。
- float S = time/58.00; //使用浮點(diǎn)計(jì)算出距離,單位為cm,time除以58是由速度乘以時(shí)間換算而來
- Serial.println(S);
- S = 0;
- time = 0;
- delay(500);
- }
- }
復(fù)制代碼