[Arduino] HC-SR04P超聲波模組進行距離測量

閱讀時間約 2 分鐘

在這篇教學中,我們將介紹如何使用Arduino和HC-SR04P超聲波模組進行距離測量。這個專案非常適合初學者,它可以幫助你理解如何使用超聲波傳感器來測量物體的距離。

所需材料

為了完成這個專案,你需要以下材料:

  1. Arduino板(例如Arduino Uno)
  2. HC-SR04P超聲波模組
  3. 杜邦線數條
  4. 麵包板(可選)

接線

首先,讓我們來看一下如何將HC-SR04P超聲波模組連接到Arduino。請按照以下方式連接:

raw-image

確保連接正確無誤,以防止電氣問題。TRIG引腳用來觸發超聲波測距,ECHO引腳用來接收回波信號。

程式碼

現在,讓我們來編寫Arduino程式碼,以測量距離並將其顯示在串口監視器上。

cppCopy code
// 包含必要的庫
#include <Arduino.h>
#include <NewPing.h>

// 定義超聲波模組的引腳
#define TRIGGER_PIN 9
#define ECHO_PIN 10
#define MAX_DISTANCE 200 // 最大測量距離為200厘米

// 建立NewPing物件
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
// 初始化串口通信
Serial.begin(9600);
}

void loop() {
// 進行距離測量
unsigned int distance = sonar.ping_cm();

// 輸出測得的距離
Serial.print("距離(cm):");
Serial.println(distance);

// 延遲一段時間再進行下一次測量
delay(1000);
}

運行程式

現在,將上述程式碼上傳到你的Arduino板上。在上傳之前,確保已經將Arduino連接到電腦,並選擇正確的Arduino板和端口。

當程式碼成功上傳後,打開Arduino的串口監視器。你應該能夠看到每秒顯示一次的距離數據。這是一個簡單的距離測量示例,你可以根據你的需求進一步擴展和改進這個程式碼。

avatar-img
67會員
120內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
程式輕鬆玩 的其他內容
紅外線(IR)接收模組是一種常見的元件,可用於接收來自遙控器等設備的紅外線訊號。在本教學中,我們將使用Arduino來連接和讀取IR Receiver Module V2.0模組,以捕捉紅外線訊號的數值。讓我們開始吧!
Arduino是一個廣泛用於物聯網(IoT)和嵌入式開發的開源平台。在這個教學中,我們將向您展示如何使用Arduino和I2C LCD模組來顯示一條簡單的消息:"Hello World!"。我們將使用LiquidCrystal_I2C庫來簡化LCD的控制。
Arduino是一個開源的電子原型平台,它讓您能夠輕鬆地創建各種互動式電子項目。在開始之前,您需要安裝Arduino的開發環境。本文將詳細說明如何在台灣使用台灣用語來安裝Arduino環境。
有時候,我們需要將公司的系統專案集中管理,可直接在NAS上執行更新。透過使用 BAT 檔案,我們可以自動複製 NAS 上的系統專案至客戶端並執行,省去手動更新的麻煩。
在軟體開發領域,乾淨程式碼是一個極為重要的概念。乾淨程式碼不僅僅是讓代碼運作正確,更是確保代碼易於閱讀、理解和維護的關鍵。本文將深入探討如何撰寫乾淨程式碼,並介紹一些提升代碼可讀性與維護性的最佳實踐方法。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
紅外線(IR)接收模組是一種常見的元件,可用於接收來自遙控器等設備的紅外線訊號。在本教學中,我們將使用Arduino來連接和讀取IR Receiver Module V2.0模組,以捕捉紅外線訊號的數值。讓我們開始吧!
Arduino是一個廣泛用於物聯網(IoT)和嵌入式開發的開源平台。在這個教學中,我們將向您展示如何使用Arduino和I2C LCD模組來顯示一條簡單的消息:"Hello World!"。我們將使用LiquidCrystal_I2C庫來簡化LCD的控制。
Arduino是一個開源的電子原型平台,它讓您能夠輕鬆地創建各種互動式電子項目。在開始之前,您需要安裝Arduino的開發環境。本文將詳細說明如何在台灣使用台灣用語來安裝Arduino環境。
有時候,我們需要將公司的系統專案集中管理,可直接在NAS上執行更新。透過使用 BAT 檔案,我們可以自動複製 NAS 上的系統專案至客戶端並執行,省去手動更新的麻煩。
在軟體開發領域,乾淨程式碼是一個極為重要的概念。乾淨程式碼不僅僅是讓代碼運作正確,更是確保代碼易於閱讀、理解和維護的關鍵。本文將深入探討如何撰寫乾淨程式碼,並介紹一些提升代碼可讀性與維護性的最佳實踐方法。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
你可能也想看
Google News 追蹤
Thumbnail
在科學和工程領域中,「示波器」是一種無可替代的工具。「示波器」是一種電子測量儀器,能夠將電壓變化為數位資訊,使我們能夠觀察到訊號波形。這使得示波器成為了電子工程師的重要工具,因為「示波器」可以用來分析和測試電子系統的性能。此外,示波器的功能並不僅僅限於電子領域,在其他眾多領域中,「示波器」也都有著廣
Thumbnail
這篇介紹如何用加速度取得傾斜角度。 用的是和前篇一樣的<basicMpu6050.h>
Thumbnail
這篇文章介紹瞭如何利用單晶片來控制不同功能模組的應用,並分享了親手體驗的影片和遇到的卡關。文章強調了需要具備基礎程式語言撰寫的邏輯,以及解決卡關時需要個人調整程式碼的順序。
Thumbnail
本文是參考 https://github.com/Tinyu-Zhao/TinyGPSPlus-ESP32 官方資料庫範例
Thumbnail
在這18周的自主學習計畫中,將深入研究Arduino抽水馬達模組的原理,同時學習如何整合濕度感測器以實現一個基本的溼度控制系統。計畫內容包括模組原理的瞭解、安裝、Arduino的安裝、程式碼撰寫,以及最後的實測和反思。
Thumbnail
在科學和工程領域中,「示波器」是一種無可替代的工具。「示波器」是一種電子測量儀器,能夠將電壓變化為數位資訊,使我們能夠觀察到訊號波形。這使得示波器成為了電子工程師的重要工具,因為「示波器」可以用來分析和測試電子系統的性能。此外,示波器的功能並不僅僅限於電子領域,在其他眾多領域中,「示波器」也都有著廣
Thumbnail
這篇介紹如何用加速度取得傾斜角度。 用的是和前篇一樣的<basicMpu6050.h>
Thumbnail
這篇文章介紹瞭如何利用單晶片來控制不同功能模組的應用,並分享了親手體驗的影片和遇到的卡關。文章強調了需要具備基礎程式語言撰寫的邏輯,以及解決卡關時需要個人調整程式碼的順序。
Thumbnail
本文是參考 https://github.com/Tinyu-Zhao/TinyGPSPlus-ESP32 官方資料庫範例
Thumbnail
在這18周的自主學習計畫中,將深入研究Arduino抽水馬達模組的原理,同時學習如何整合濕度感測器以實現一個基本的溼度控制系統。計畫內容包括模組原理的瞭解、安裝、Arduino的安裝、程式碼撰寫,以及最後的實測和反思。