樹莓派3B使用HC-SR04超聲波測距模塊

2021-01-08 愛玩的小白

超聲波測距很成熟,原理簡單,如下:

測距原理

HC-SR04 模塊可以測量 3cm - 4m 的距離,精確度可以達到 3mm。這個模塊包括 超聲波發射器、超聲波接收器和控制電路三部分。有 4 個引腳,如下圖;

HC-SR04
參數

接線方式:

4 個引腳由 2 個電源引腳(Vcc 、GND)和 2 個控制引腳(Trig、Echo)組成。

Vcc 和 Gnd 接 5v DC 電源,但不推薦用獨立電源給它供電,應使用樹莓派或單片機的 GPIO 口輸出 5v 和 Gnd 給它供電。不然會影響這個模塊的運行。

Trig 引腳用來接收來自樹莓派的控制信號。接任意 GPIO 口。

Echo 引腳用來發送測距結果給樹莓派。接任意 GPIO 口。

PS:Echo 返回的是 5v信號,而樹莓派的 GPIO 接收超過 3.3v 的信號可能會被燒毀,因此需要加一個分壓電路

接線圖

TRIG接的38號引腳,ECHO接1K電阻後接40號引腳。

實物圖

請忽略其它原件。

程序如下:

import RPi.GPIO as GPIO

import time

print('Program starting!')#提示開始

TRIG = 38#輸出使用38號引腳

ECHO = 40#輸入使用40號引腳

#初始化GIPO函數

def init():

GPIO.setmode(GPIO.BOARD)

GPIO.setup(TRIG, GPIO.OUT)

GPIO.setup(ECHO, GPIO.IN)

GPIO.output(TRIG,GPIO.LOW)

#測距函數

def checkdist():

GPIO.output(TRIG,GPIO.HIGH)#輸出引腳高電平

time.sleep(0.00001)#保持100us

GPIO.output(TRIG,GPIO.LOW)#停止發送

while not GPIO.input(ECHO):

pass

#發現高電平開始計時

t1 = time.time()

while GPIO.input(ECHO):

pass

#高電平結束停止計時

t2 = time.time()

#計算結果(單位釐米)

return (t2-t1) * 34000/2

if __name__ == '__main__':

init()

try:

while True:

#輸出結果

print("距離是:{:.2f}cm".format(checkdist()))

time.sleep(1)

except KeyboardInterrupt:

print("停止測距!")

GPIO.cleanup()

排版如下:

程序內容

保存後運行,結果如下:

運行結果

程度輸出的結果還是比較準確的,如果使用樹莓派Zero加個盒子,再加一個顯示屏幕,就可以做為一個手持測距工具,個人感覺還是不錯了。

如果喜歡請關注並轉發,謝謝閱讀

相關焦點

  • 11.樹莓派3B+ HC-SR04超聲波測距
    這個系列的文章也都是使用Node.js操作樹莓派。1.產品特點HC-SR04 超聲波測距模塊可提供 2cm-400cm 的非接觸式距離感測功能, 測距精度可達高到 3mm;模塊包括超聲波發射器、接收器與控制電路。
  • HC-SR04超聲波測距模塊電路設計
    超聲波測距模塊內部電路圖本文引用地址:http://www.eepw.com.cn/article/201611/322501.htm超聲波測距模塊與51單片機連接電路圖0~255#define uintunsigned int//無符號整型 宏定義變量範圍0~65535#include#include "eeprom52.h"sbit c_send= P3^3;//超聲波發射
  • 「每周FPGA案例」基於FPGA的超聲波測距系統設計
    1.1 總體設計1.1.1 概述學習了明德揚至簡設計法和明德揚設計規範,本人用FPGA設計了一個測距系統。該系統採用超聲波進行測量距離再在數碼管上顯示。在本案例的設計過程中包括了超聲波的驅動、三線式數碼管顯示等技術。
  • STM32:用HC-SR04和STM32F103ZET6做超聲波測距
    網站:bbs.21ic.com 背景:最近整理東西,發現了一個藍色的小模塊,上面還有兩個像喇叭的小東西,關鍵上面還有絲印,用藍底白字寫著「HC-SR04」,於是勾起了我的好奇心,動動小手指,百度找到了這個小板子的信息,原來是一個超聲波測距模塊
  • 「科技宅」教你用超聲波實現毫米級測距,附送程序源碼
    初識HC-SR04超聲波測距模塊超聲波測距模塊其實有很多種,其中HC-SR04是我們較為常見的一種型號,在這裡我們使用HC-SR04超聲波測距模塊來實現我們的測距功能。HC-SR04支持2cm-400cm之間的非接觸式距離測量功能,測量精度可以到達3mm!該模塊集成了超聲波發射器、接收器和其他控制電路等。
  • 「樹莓派」超聲波模塊使用教程,手把手教你實現測距操作
    格物創意致力於開源硬體與STEAM教育超聲波模塊教程Step1準備好樹莓派、HC-SR04和供電線Step2連接5V和GND,超聲波模塊的Trig和Echo引腳可以連接至樹莓派的任意GPIO引腳,連線方式和我們的不一樣也沒關係
  • 一款串口輸出超聲波測距模塊使用範例
    一、模塊簡介: 該串口輸出超聲波測距模塊採用STC11F04E單片機作處理器,工作電源:DC5V,工作電流10mA。測量數據輸出方式為TTL串口輸出,數據格式為標準的ASCII碼,數據由:空格位(起始位)+百+十位+個位。
  • 第五課 超聲波測距槍
    情景描述隨著科學技術的飛速發展,超聲波在生產、生活中的應用範圍越來越廣。目前,離生活最近的超聲波應用就是測距。如泊車輔助系統、智能導盲系統、移動機器人等距離測量都會用到超聲波測距。同時,超聲波測距技術還能夠實現對障礙物距離的精確測量。本課我們將利用超聲波傳感器,做一把可以測距的槍。
  • 完美64位系統支持樹莓派3B/3B+
    我們將給你提供三個樹莓派3B/3B+適用的64位系統,分別是Debian,Ubuntu,Centos 系統介紹:Debian 9, Centos 7.5,Ubuntu 1604, Ubuntu1804以上鏡像均為ARM
  • 超聲波傳感器測距方法詳解
    目前有兩種常用的超聲波測距方案。一種是基於單片機或者嵌入式設備的超聲波測距系統,一種是基於CPLD(Complex Programmable Logic Device)的超聲波測距系統。想要了解超聲波測距傳感器的相關應用設計首先我們必須了解超聲波傳感器測距的工作原理。
  • 超聲波傳感器HC-SR04完整應用以及程序講解
    帶有Arduino的超聲波傳感器HC-SR04完整應用指南本文是有關流行的超聲波傳感器HC – SR04的應用指南。我們將解釋其工作原理,向您展示其某些功能,並分享一個您可以遵循的Arduino項目示例,以將其集成到您的項目中。我們提供了有關如何連接超聲波傳感器的示意圖,以及與Arduino一起使用的示例電路。
  • 51單片機加HC—SR04超聲波測距儀用LCD1602顯示
    _1602(5, disdat[3]+0x30); write_1602(6, C); write_1602(7, m);}/********************************************************/void zd0() interrupt 1 //T0中斷用來計數器溢出,超過測距範圍
  • 超聲波測距原理(帶原理圖及源碼)
    02 超聲波測距原理超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。根據時間差和超聲波的速度可以估算出發射位置到障礙物位置的距離。
  • 基於SYN6288的超聲波語音測距拐杖的設計
    利用超聲波檢測距離,設計比較方便,計算處理也較簡單,其測量精度也能達到使用要求。目前國內生產的帶語音功能的超聲波導盲拐杖存在類似的問題:一方面是語音晶片使用前需預先錄製,使用不便。另一方面,因為錄製者的不同而產生語音音質的差別容易導致誤聽,需要有統一的語音音質。
  • 超聲波測距原理
    摘要:超聲波想必大家都很熟悉了,看到超聲波測距肯定會想到蝙蝠吧,蝙蝠就是利用超聲波飛行和捕捉食物。超聲波指向性強,在介質中傳播的距離較遠,因而超聲波經常用於距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現。
  • 超聲波測距原理與高精度液位測量系統解決方案
    在超聲波測距原理基礎上,針對單超聲波換能器溫度或溫、溼度補償方案單一,不能在多變、惡劣環境下實現高精度測距的缺陷,以及雙超聲波換能器標準擋板補償方案成本高,不能廣泛應用在各個領域中的缺陷,設計了藉助舵機控制超聲波換能器方向的單超聲波換能器標準擋板補償方案。並針對無法精確捕捉第一個回波前沿的要求,提出了使用可編程增益放大器捕獲不同距離返回的回波前沿。
  • 基於nRF24L01+與Arduino的超聲波測距系統設計
    隨著科學技術的發展,測距技術和無線傳輸技術日趨成熟,無人距離測量在特殊領域中將得到廣泛應用。利用超聲波測距成本低、精度高、速度快等技術特點,結合單片機、無線通信技術可對建築物內部平面尺寸進行測量,並將數據無線傳至終端設備實時顯示。
  • 用於機器人的超聲波傳感器模塊
    在機器人中使用的超聲波傳感器是一個電子模塊,測量距離在3cm到400cm之間。它可以用於幫助機器人避開障礙物,或用於其他相關項目的距離測量和避障工程。傳感器可謂是用來檢測機器人自身的工作狀態,以及機器人智能探測外部工作環境和對象狀態的核心部件。不僅能感受規定的被測量,還能按照一定的規律轉換成可用輸出信號的器件或裝置。
  • 基於太陽能和超聲波測距技術實現導盲器的設計
    傳統電子導盲裝置存在以下不足:使用普通電池,工作時間短,需要頻繁更換電池;傳感器受外界影響較大,探測精度不高;操作複雜,並且造價昂貴。 超聲波測距是一種非接觸式檢測方式,利用其可測範圍廣,不受光線和被測物體顏色的影響等優勢,可以解決很多問題,在工業控制、勘探測量、精確定位和交通安全等領域都有廣泛的應用。
  • 超聲波測距的原理和超聲波測距系統的電路設計詳細概述
    打開APP 超聲波測距的原理和超聲波測距系統的電路設計詳細概述 佚名 發表於 2019-11-09 10:32:19 由於超聲波指向性強