標(biāo)題: 37種傳感器(二)之超聲波傳感器模塊+Stduino Nano&UNO [打印本頁]

作者: Stduino    時(shí)間: 2020-6-29 22:56
標(biāo)題: 37種傳感器(二)之超聲波傳感器模塊+Stduino Nano&UNO
37種傳感器(二)之超聲波傳感器模塊+Stduino Nano&UNO

本文轉(zhuǎn)載自:www點(diǎn)stduino點(diǎn)com/forum.php?mod=viewthread&tid=24&extra=

說明:
超聲波測(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ī)。




實(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根

電路連接:



代碼展示:


  1. int trig = 8;//Trig端
  2. int echo = 9;//Echo端
  3. void setup()
  4. {
  5. // put your setup code here, to run once:
  6. pinMode(echo,INPUT);
  7. pinMode(trig,OUTPUT);
  8. Serial.begin(9600);
  9. }
  10. void loop()
  11. {
  12. // put your main code here, to run repeatedly:
  13. unsigned long time = 0;
  14. while(1){
  15. digitalWrite(trig,HIGH);
  16. delayMicroseconds(15);//需要大于10
  17. digitalWrite(trig,LOW);

  18. time = pulseIn(echo,HIGH);//高電平傳回超聲波從發(fā)射到接收所經(jīng)過的時(shí)間。
  19. float S = time/58.00; //使用浮點(diǎn)計(jì)算出距離,單位為cm,time除以58是由速度乘以時(shí)間換算而來
  20. Serial.println(S);
  21. S = 0;
  22. time = 0;
  23. delay(500);

  24. }
  25. }
復(fù)制代碼








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1