超音波感測器(HCS-SR04)



超音波感測器(HCS-SR04)可用來測量物體的距離,電路板上有四個接腳,分別是VCC(正電源)、Trig(觸發)、Echo(回應)、Gnd(接地)。
當超音波模組的Trig(觸發)腳位輸入10微秒以上的高電位,即可發射超音波。當超音波發射後,在接收到傳回的超音波前,Echo(回應)腳位會呈現高電位狀態,透過取得Echo腳位的高電位時間,便可換算被測物體的距離。


換算聲波傳遞 1 cm 所需的時間
在室溫環境中,聲波的速度約為 344 m/s。那一公分聲波傳遞的時間約為

時間 = 距離 / 速度
時間 = 0.01 * 2 / 344 0.0000581 58.1 微秒

🔧接線方式:
  1. 超音波    Arduino
  2. VCC        5V
  3. Trig         pin 10
  4. Echo        pin 9
  5. Gnd         Gnd

const byte  trigPin = 10 ; //超音波 觸發腳Trig
const byte  echoPin = 9 ;  //超音波 接收腳 Echo
unsigned long distance ; // 距離 cm

unsigned long ping() {

    digitalWrite(trigPin,HIGH) ; //觸發腳位設定為高電位
    delayMicroseconds(10);   //持續5微秒
    digitalWrite(trigPin,LOW) ;
    return  ( pulseIn(echoPin,HIGH)/58)  ;  // 換算成 cm 並傳回
 
  }
void setup() {
  // put your setup code here, to run once:
  pinMode(trigPin,OUTPUT) ;
  pinMode(echoPin , INPUT) ;
  Serial.begin(9600) ;
}
void loop() {
  // put your main code here, to run repeatedly:
  distance  = ping()  ;

  Serial.print(distance) ;
  Serial.println(" cm");
  delay(100) ;
}