python超聲波傳感_樹莓派超聲波傳感器python - CSDN

2020-11-23 CSDN技術社區

   超聲波測距應用廣泛,本次實戰通過樹莓派B+連接HC-SR04超聲波測距傳感器,用python GPIO控制傳感器完成距離測定,並將距離顯示在屏幕上。

硬體部分:

1,HC-SR04超聲波測距傳感器

       1.1 HC-SR04超聲波測距傳感器硬體如下圖

      

該傳感器有4個引腳:

VCC,超聲波模塊電源腳,接5V電源即可

Trig,超聲波發送腳,高電平時發送出40KHZ出超聲波

Echo,超聲波接收檢測腳,當接收到返回的超聲波時,輸出高電平

GND,超聲波模塊GND

 

 

1.2 HC-SR04超聲波模塊工作原理:

1)採用IO口TRIG觸發測距,給至少10us的高電平信號;
2)模塊自動發送8個40khz的方波,自動檢測是否有信號返回;
3)有信號返回,通過IO口ECHO輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間。測試距離=(高電平時間*聲速(340M/S))/2;

 

 

 

1.3 HC-SR04超聲波模塊使用方法

 

初始化時將trig和echo埠都置低,首先向給 trig 發送至少10 us的高電平脈衝(模塊自動向外發送8個40K的方波),然後等待,捕捉 echo 端輸出上升沿,捕捉到上升沿的同時,打開定時器開始計時,再次等待捕捉echo的下降沿,當捕捉到下降沿,讀出計時器的時間,這就是超聲波在空氣中運行的時間,按照 測試距離=(高電平時間*聲速(340M/S))/2 就可以算出超聲波到障礙物的距離。

 

 

2、樹莓派B+ 引腳

 

3.  樹莓派與超聲波模塊連線圖

 

 

     HC-SR04                     

    Raspberry Pi B+ Physical                 

     說明            

VCC

2

+5V

Trig

38

GPIO.20

Echo

40

GPIO.21

GND

39

GND

 

 

 

軟體部分:

1、確認python,python GPIO庫是否正確安裝

 在Raspbian中已經預裝了Python2.7.9,直接在命令行輸入python即可看到如下信息
pi@raspberrypi:~ $ python
Python 2.7.9 (default, Mar  8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

 

使用Python控制GPIO時,常用的是raspberry-gpio-python模塊,在2016-05-27-raspbian-jessie版本的系統鏡像中,預裝了最新的版本v0.6.2,可以在Python中輸入下列命令查看:
>>> import RPi.GPIO as GPIO
>>> GPIO.VERSION
'0.6.2'
>>>

 

2、創建一個目錄hcsr04

pi@raspberrypi:~ $ cd /home/pi
pi@raspberrypi:~ $ mkdir hcsr04

 

pi@raspberrypi:~ $ cd hcsr04


3、創建python程序

在hcsr04目錄下創建一個名為hcsr04.py 的程序文件:

 

import RPi.GPIO as GPIO
import time

Trig_Pin = 20
Echo_Pin = 21

GPIO.setmode(GPIO.BCM)
GPIO.setup(Trig_Pin, GPIO.OUT, initial = GPIO.LOW)
GPIO.setup(Echo_Pin, GPIO.IN)

time.sleep(2)

def checkdist():
    GPIO.output(Trig_Pin, GPIO.HIGH)
    time.sleep(0.00015)
    GPIO.output(Trig_Pin, GPIO.LOW)
    while not GPIO.input(Echo_Pin):
        pass
    t1 = time.time()
    while GPIO.input(Echo_Pin):
        pass
    t2 = time.time()
    return (t2-t1)*340*100/2

try:
    while True:
        print 'Distance:%0.2f cm' % checkdist()
        time.sleep(1)
except KeyboardInterrupt:
    GPIO.cleanup()

 

然後執行該程序
pi@raspberrypi:~ $  python hcsr04.py

 

驗證測試

如圖在超聲波測距儀前放在障礙物,前後移動超聲波測距儀,電腦屏幕上會顯示測得的距離,與直尺量的距離對比,可發現誤差不大。完全可以勝任小車壁障等用途。

 

 

 

相關焦點

  • 用樹莓派製作一朵預報天氣的雲
    雲朵使用樹莓派Zero W製作,連接到 Yahoo Weather API 獲取天氣信息,通過變化的顏色告訴你天氣情況。將焊條的末端與電線的末端焊接在一起,效果會更好。完成後在啟動目錄中添加兩個文件,以便樹莓派啟用ssh並提供正確的wifi信息。使用文本編輯器打開wpa_supplicant.conf文件,輸入wifi的ssid和密碼。然後將文件添加到sd卡。啟用ssh,我們只需要建立一個名為ssh的文件而不需要擴展名。
  • 超聲波傳感器四大檢測方法詳解
    傳感器隨著電子、微電子技術的發展,傳感器的發展也是日新月異,人們在生產生活中對傳感器的應用較多,類型是越來越多例如:無線傳感器、雷達傳感器、紅外光溫度傳感器、地磁磁性物體檢測傳感器、特殊光源傳感器:專用於測水的傳感器。
  • 基於超聲波傳感器的社交距離解決方案
    企業中感染 COVID-19 的風險 超聲波傳感器與常規距離傳感技術的比較 在測量人/物體的距離和確定其位置時,此外,超聲波傳感器的功耗要遠低於 UWB,電池充電一次就能讓一個小型近距離感應標籤連續工作數天。
  • 超聲波傳感器工作原理及主要性能指標
    超聲波傳感器是利用超聲波的特性,將超聲波信號轉換成電信號的傳感器。在講述超聲波傳感器之前,我們先來了解一下超聲波。能量的衰減決定於超聲波的擴散、散射和吸收。以超聲波作為檢測手段,能產生超聲波和接收超聲波。完成這種功能的裝置就是超聲波傳感器。超聲波傳感器性能指標超聲波傳感器的主要性能指標,包括;(1)工作頻率。工作頻率就是壓電晶片的共振頻率。
  • 超聲波傳感器簡介
    超聲波傳感器是利用超聲波的特性研製而成的傳感器。超聲波距離傳感器技術應用超聲波對液體、固體的穿透本領很大,尤其是在陽光不透明的固體中,它可穿透幾十米的深度。超聲波碰到雜質或分界面會產生顯著反射形成反射成回波,碰到活動物體能產生都卜勒效應。因此超聲波檢測廣泛應用在工業、國防、生物醫學等方面。
  • 超聲波傳感器可即時測量員工之間的距離
    企業中感染 COVID-19 的風險超聲波傳感器與常規距離傳感技術的比較在測量人/物體的距離和確定其位置時此外,超聲波傳感器的功耗要遠低於 UWB,電池充電一次就能讓一個小型近距離感應標籤連續工作數天。
  • 超聲波避障傳感器及超聲波測距傳感器在機器人中的應用
    當然,這就產生了多傳感器信息的融合處理的問題,增大了信息處理的工作量和難度。除了這種傳感器避障方法,還有很多其他方法融合處理多種傳感器信息,讓全自主機器人實現完美避障,比如:超聲波聲波避障控制法能夠實時監測長距離超聲波傳感器,為機器人搜索開闊路徑。當機器人離障礙物還有一定距離時,超聲波傳感器就能夠檢測到相關信息,並據此控制機器人離開。
  • 超聲波測距傳感器在礦用機車上的應用
    而這套系統的關鍵技術在於測距——測量前方障礙物到機車的距離,當今超聲波傳感器久經眾多工業任務的考驗,是距離測量和物體有無檢測的理想解決方案。超聲波測距作為一種典型的非接觸測量方法,在很多場合,諸如工業自動控制,建築工程測量和機器人視覺識別等方面得到廣泛的應用。與其他幾種測距方法相比,不受光照度、煙霧、電磁幹擾等因素的影響,目前已普遍應用於倒車雷達、建築施工工地以及一些工業現場。
  • 超聲波傳感器應用場景案例分析
    超聲波傳感器是發送和接收超聲波的收發器,通過聲速以及回聲從物體反射回來的時間來測量距離。超聲波傳感器不受外界環境的影響,幾乎能檢測出任何材料,且不受材料表面性質的影響。其中美國SENIX 超聲波液位傳感器 - ToughSonic-30是由微處理器控制的數字液位外表。在丈量中超聲波脈衝由傳感器(換能器)發出超聲波,聲波經液體外表反射後被超聲波接收器接收,經過壓電晶體或磁致彈性器材轉換成電信號,並由聲波的發射和接收之間的時刻來核算傳感器到被測液體外表的間隔。
  • 樹莓派怎樣連接多個I2C設備
    打開APP 樹莓派怎樣連接多個I2C設備 網絡整理 發表於 2019-11-13 09:27:14 步驟1:一些Shell命令 在樹莓派使用時連接您的i2c設備之一,啟動樹莓派並運行 sudo
  • 基於MEMS 的「矽晶片聲納」超聲波ToF傳感器擴大了感應範圍
    TDK公司宣布現在可以選擇擴大了感應範圍的基於 Chirp CH-201 MEMS的超聲波飛行時間(ToF)傳感器的原始設備製造商(OEM)。此款ToF傳感器利用微型超聲換能器晶片發射超聲波脈衝,然後收聽從位於傳感器視場中的目標返回的回波。
  • 超聲波傳感器測距方法詳解
    目前有兩種常用的超聲波測距方案。一種是基於單片機或者嵌入式設備的超聲波測距系統,一種是基於CPLD(Complex Programmable Logic Device)的超聲波測距系統。想要了解超聲波測距傳感器的相關應用設計首先我們必須了解超聲波傳感器測距的工作原理。
  • 3D 列印的樹莓派蜘蛛機器人
    這個四足蜘蛛機器人以樹莓派作為「大腦」,身軀和四肢由 3D 列印。無需定製電路板,初學者即可完成組裝。不僅如此,教程還包含一段將近一個小時的組裝視頻。這對於想了解樹莓派、Python 編程的朋友來說是非常不錯的上手項目。
  • 超聲波傳感器基礎知識(5)——超聲波傳感器(結構開放型)的基本電路...
    介紹超聲波傳感器(結構開放型)距離檢測的基本電路。距離檢測電路被稱為脈衝反射方式,用於測量從超聲波的發射脈衝到接收脈衝的反射時間。到物體的距離L與反射時間T之間的關係由下式表示。
  • 超聲波傳感器工作原理簡介
    它具有頻率高、波長短、繞射現象小,特別是方向性好、能夠定向傳播等特點,超聲波碰到雜質或分界面會產生顯著反射形成反射成回波的特點。超聲波傳感器是將超聲波信號轉換成其他能量信號(通常是電信號)的傳感器。 從原理上來講超聲波傳感器可以分為超聲波測傳感器、超聲波接近傳感器、反射板式超聲波傳感器、對射式超聲波傳感器四類。
  • 超聲波傳感器的工作原理及應用
    壓電晶體組成的超聲波傳感器是一種可逆傳感器,它可以將電能轉變成機械振蕩而產生超聲波,同時它接收到超聲波時,也能轉變成電能,所以它可以分成發送器或接收器。有的超聲波傳感器既作發送,也能作接收。這裡僅介紹小型超聲波傳感器,發送與接收略有差別,它適用於在空氣中傳播,工作頻率一般為23-25KHZ及40-45KHZ。這類傳感器適用於測距、遙控、防盜等用途。
  • 用於機器人的超聲波傳感器模塊
    打開APP 用於機器人的超聲波傳感器模塊 佚名 發表於 2018-05-24 09:10:00 隨著傳感器技術的推廣應用,機器人的發展也備受關注
  • 一個Python GUI神器,雙手徹底解放!
    樹莓派由於PySimpleGUI與Python 3.4兼容,因此它能夠為Raspberry Pi項目創建GUI。與觸控螢幕搭配使用時,效果特別好。如果沒有連接監視器,你也可以使用PySimpleGUIWeb來控制你的樹莓派。
  • 全球首款業內最低的功耗MEMS 超聲波傳感器 可提供毫米級精度的距離
    基於 MEMS 的微型「矽晶片聲吶」裝置提供了毫米級精度的距離傳感功能,並具有業內最低的功耗。這種 MEMS 超聲波傳感器可用於距離測量、位置追蹤、人員存在檢測以及消費電子、機器人、無人機等領域的避障應用。 超聲波飛行時間 (ToF) 傳感器通常被認為是適用於汽車、工業以及無人機和機器人應用的最佳距離傳感器。
  • 超聲波液位傳感器的原理和組成
    超聲波液位傳感器是一種常用的測量儀器,被廣泛的應用於多個行業當中。超聲波傳感器是一種利用超聲波的特性研製而成的傳感器,具有測量精準、檢測範圍廣、使用靈活、維護簡便等優點。今天小編主要來為大家介紹一下超聲波液位傳感器的原理和組成吧,希望可以幫助到大家。