超音波距離感測器,我買的是兩顆眼睛、四隻腳的HC-SRO4(正面如下圖)
HC-SRO4正面看由左至右的腳分別是
- Vcc
- Trig
- Echo
- Gnd
眼前程度體會的重點有兩個,一個是自己透過Trig, Echo完成一個Ping完成一次發送/接收超音波測距的動作,針對Trig送10 microsecond的HIGH訊號出去,然後SRO4就會送出8個40kHz的square wave出去,當訊號回來的時候,我們透過
pulseIn()
取得Echo pin HIGH pulse的時間;另一個是距離的計算根據datasheet說明的Echo back pulse width(這裡是Echo Pin由LOW -> HIGH -> LOW的時間) microseconds除上58就是距離(cm),除上148就是inch的距離。Lab 1 - 結果送出Serial Port
/** * Ultrasonic 1: 超音波測距 秀在Serial Port 9600 */ #define TrigPin 10 #define EchoPin 13 long ping() { // PING digitalWrite( TrigPin, LOW ); delayMicroseconds( 2 ); digitalWrite( TrigPin, HIGH ); delayMicroseconds( 10 ); digitalWrite( TrigPin, LOW ); return pulseIn( EchoPin, HIGH ); } void setup() { pinMode( TrigPin, OUTPUT ); pinMode( EchoPin, INPUT ); Serial.begin( 9600 ); } void loop() { long duration, cm; String result = "Distance: "; duration = ping(); cm = duration / 58; result += cm; result += " (cm)."; Serial.println( result ); delay( 1500 ); }
終於買了其他顏色的單芯線,那就紅色是高電位、黑色接Gnd、其他顏色就接訊號,還沒想說input/output用啥顏色來區分。
換個角度再照一張
沒有留言:
張貼留言