欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: Arduino超聲波模塊測試源程序 能測出實時距離 [打印本頁]

作者: Edmundshi    時間: 2018-4-11 15:46
標題: Arduino超聲波模塊測試源程序 能測出實時距離
應用示例
電路連接
超聲波模塊
Arduino UNO
VCC
+5V
Trig
A2
Echo
A3
GND
GND

示例代碼
  1. //HC_SR04 Test

  2. const int TrigPin = A2;
  3. const int EchoPin = A3;
  4. float cm;

  5. void setup()
  6. {
  7.   Serial.begin(9600);
  8.   pinMode(TrigPin, OUTPUT);
  9.   pinMode(EchoPin, INPUT);
  10. }
  11. void loop()
  12. {
  13.   digitalWrite(TrigPin, LOW);
  14.   delayMicroseconds(2);
  15.   digitalWrite(TrigPin, HIGH);
  16.   delayMicroseconds(10);
  17.   digitalWrite(TrigPin, LOW);

  18.   cm = pulseIn(EchoPin, HIGH) / 58.0;   //echo time conversion into a distance
  19.   cm = (int(cm * 100.0)) / 100.0;       //keep two decimal places
  20.   Serial.print(cm);
  21.   Serial.print("cm");
  22.   Serial.println();
  23.   delay(1000);
  24. }
復制代碼


程序運行結果:超聲波對著墻,測出實時距離,結果如圖:
注意:TRIP引腳是內部上拉10K的電阻,用單片機的IO口拉低TRIP引腳,然后給一個10us以上的脈沖信號。
===接線方法===
*uno-SR04
*2-TRIG
*3-ECHO
*5V- VCC
*GND- GND
  1. const int TrigPin = 2;
  2. const int EchoPin = 3;
  3. float distance;
  4. void setup()
  5. {
  6. Serial.begin(9600);
  7. pinMode(TrigPin, OUTPUT);
  8. pinMode(EchoPin, INPUT);
  9. Serial.println("Ultrasonic sensor:");
  10. }
  11. void loop()
  12. {
  13. //發一個10μs的高脈沖去觸發TrigPin
  14. digitalWrite(TrigPin, LOW);
  15. delayMicroseconds(2);
  16. digitalWrite(TrigPin, HIGH);
  17. delayMicroseconds(10);
  18. digitalWrite(TrigPin, LOW);

  19. distance = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米
  20. Serial.print(distance);
  21. Serial.print("cm");
  22. Serial.println();
  23. delay(1000);
  24. }
復制代碼


==程序效果==
打開串口監視器可以觀察到輸出的距離值為當前超聲波距前方障礙物的實際距離。

Arduino測試程序.zip

161.67 KB, 下載次數: 12, 下載積分: 黑幣 -5


作者: rsurb0371    時間: 2021-1-11 13:30
超聲波測距 居然能精確到小數點 后兩位?
作者: zhangleixbyl    時間: 2021-1-16 07:20
比51單片機簡單多了




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