# SR-04P超音波

![](https://1275793585-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaZQFBYOS3O0ksiEmR1%2F-LwvqED1bhE4hDfsxMyX%2F-LwvrddHFL_FEHgLUB9E%2F01.png?alt=media\&token=1c566dbe-37a6-477d-afea-8185632d3b40)

## 專案說明

使用「科易KEYES Arduino UNO R3 開發板」連接「SR-04P超音波」,讀取SR-04P超音波感測器所測到的距離。

此**SR-04P超音波**包含於「[洞洞兩教學材料包 Education Kit 002](https://www.robotkingdom.com.tw/product/rk-education-kit-002/)」內。

## KEYES Arduino UNO R3電路圖

* [KEYES Arduino UNO R3&#x20;  ](https://www.robotkingdom.com.tw/product/keyes-uno-r3/)
* 通用型彩色Sensor shield v5.0感測器擴充板
* SR-04P超音波

**SR-04P超音波**是**數位訊號**輸出， 可以接「D0 \~ D13」的KEYES Arduino UNO R3訊號端上。 本範例連接到「**D3**」「**D4**」

{% hint style="info" %}
超音波測距感測器是由發射器、接收器以及控制電路所組成，若待測物體距離太遠，或者發射器、接收器其中一個被遮蔽，皆會導致量測距離結果錯誤 。
{% endhint %}

![](https://1275793585-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaZQFBYOS3O0ksiEmR1%2F-LxJvuHDzyNaIc8iwB6M%2F-LxKSGuXH-xeSduFY-TC%2F02.png?alt=media\&token=5e3f7a74-e301-4952-b9a5-9a3724705d27)

## Arduino 程式

由於超音波測距感測器是函式庫型模組，所以需要先在Arduino上下載函式庫，下載方法如下。

在Arduino上選擇工具，選擇管理程式庫，在管理程式庫搜尋HCSR04選擇HCSR04 ultrasonic sensor by gamegine版本2.02並安裝。

![](https://1275793585-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaZQFBYOS3O0ksiEmR1%2F-Lx00XGnqAn7JxlS80YM%2F-Lx00c10N84p-m6abkS6%2F03.png?alt=media\&token=bd293318-57ad-4f9a-9253-ec1512ace42a)

![](https://1275793585-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaZQFBYOS3O0ksiEmR1%2F-Lx00XGnqAn7JxlS80YM%2F-Lx00edMY8WXfncSUMfD%2F04.png?alt=media\&token=77ce8a97-d215-436e-8893-7b99ac8ca758)

每0.5秒鐘會讀取一次超音波測距感測器所測得的距離 。

![](https://1275793585-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaZQFBYOS3O0ksiEmR1%2F-LwvqED1bhE4hDfsxMyX%2F-LwvsJderuEIVOAs-lYw%2F03.png?alt=media\&token=e0ecc2e0-a32c-49a1-a185-a76677cae276)

產生出的 Arduino 程式如下

```c
#include <HCSR04.h>

HCSR04 hc(3,4);//initialisation class HCSR04 (trig pin , echo pin)

void setup()
{ Serial.begin(9600); }

void loop()
{ Serial.println( hc.dist() ); 
  delay(500);
}//return curent distance in serial

```
