99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

樹莓派連接超聲波測(cè)距傳感器

CHANBAEK ? 來(lái)源:和娃一起玩樹莓派 ? 作者:老孟K ? 2023-07-02 15:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天我們來(lái)玩超聲波測(cè)距傳感器。我購(gòu)買的是型號(hào)是US-015,長(zhǎng)得是下面這個(gè)樣子:

可以看到它有四個(gè)引腳,除了電源VCC和地線GND外,主要靠Trig(觸發(fā))引腳和Echo(回波)引腳來(lái)測(cè)距。其工作原理如下圖

圖片

其工作的時(shí)序圖如下:

圖片

由于超聲波電源為5V,在樹莓派的官方文檔中,5V的電壓如果接到GPIO引腳,會(huì)燒壞樹莓派(樹莓派使用3.3V電壓)。所以推薦在連接Echo引腳時(shí)通過(guò)電阻來(lái)做分壓處理,其電路如下圖所示:

圖片

如果我們手邊沒有330歐和470歐的電阻,也可以使用2個(gè)完全相同的電阻來(lái)做分壓,電阻的大小不限,這樣分壓后的GPIO引腳可以得到2.5V的電平,仍然會(huì)讀入為高電位(一般集成電路會(huì)把超過(guò)2伏作為高電位),可以得到同樣的效果。(多說(shuō)一句:我看到網(wǎng)上很多文章提供的電路都是讓5v的Echo直接連接GPIO,也可以成功,我自己也試了一下,從我的經(jīng)歷看,樹莓派沒有被5v的電壓燒毀,其原因應(yīng)該是Echo一直輸出低電位,只有在trig觸發(fā)后的檢測(cè)到回波時(shí)才短暫的輸出5v高電位,所以很幸運(yùn)的沒有對(duì)樹莓派造成影響,但 不建議大家嘗試,否則后果自負(fù)!

最終的電路連接好后如下圖所示:

圖片

然后執(zhí)行下面的程序,這段程序的邏輯就是向Trig引腳發(fā)送10us的高電平,觸發(fā)超聲波模塊發(fā)送8個(gè)40khz的方波,然后讀取Echo的高電位時(shí)間,此時(shí)間就是超聲波從發(fā)送到返回的時(shí)間,也就是2個(gè)從傳感器到阻擋物體的距離。

import RPi.GPIO as GPIO

from time import sleep,time

TRIG = 6      #傳感器tirg引腳接GPIO6
ECHO = 17     #傳感器Echo引腳接GPIO17,大家需要根據(jù)自己電路連接情況修改

GPIO.setmode(GPIO.BCM)    #設(shè)置為BCM模式。
GPIO.setup(TRIG,GPIO.OUT)  #把 GPIO6設(shè)置為輸出
GPIO.setup(ECHO,GPIO.IN)   #把GPIO17設(shè)置為輸入
GPIO.output(TRIG,0)    # 給Trig輸出低電平
i = 1     # 測(cè)距計(jì)數(shù)器  
while True:
    print("-----start----",i)
    sleep(0.00002)    #讓低電平保持20us
    GPIO.output(TRIG,1)   #觸發(fā)trig,設(shè)置為高電位10us
    sleep(0.00001)       # 保持高電位10us
    GPIO.output(TRIG,0)  # 然后把trig設(shè)置為低電位
    while GPIO.input(ECHO) == 0:  # 當(dāng)Echo為低電位時(shí)在此循環(huán)等待
        a = 1
    time1 = time()      # 當(dāng)Echo為高電位時(shí)跳出上面的while循環(huán),讀取此時(shí)時(shí)間
    while GPIO.input(ECHO) == 1:   # 當(dāng)Echo為高電位是循環(huán),直到變?yōu)榈碗娢?span>
        a = 2
    time2 = time()      # 當(dāng)Echo變?yōu)榈碗娢粫r(shí)跳出上面while循環(huán),讀取當(dāng)前時(shí)間   
    #print("time2:",time2)
    during = time2-time1   # 計(jì)算保持高電位的時(shí)間
    #print("during:",during)
    distance = during*340*100/2   # 高電位的時(shí)間 * 340米(聲音速度)/2(往返),乘100轉(zhuǎn)為厘米
    print("time1:",time1)
    print("time2:",time2)
    print("during:",during)
    print("distance:",distance)   # 顯示測(cè)算的距離
    sleep(2)     
    i = i+1

運(yùn)行程序時(shí),在超聲波前面移動(dòng)書本,可以看到輸出如下:

圖片

其實(shí),GPIOZero其實(shí)已經(jīng)實(shí)現(xiàn)了距離傳感器,并且封裝為可以直接使用的類DistanceSensor,用它的話代碼會(huì)非常簡(jiǎn)單,其底層實(shí)現(xiàn)的機(jī)理和我們上面的代碼其實(shí)是一樣的。

from gpiozero import DistanceSensor
from time import sleep


sensor = DistanceSensor(echo=17, trigger=6)
while True:
    print('Distance: ', sensor.distance * 100)
    sleep(1)

運(yùn)行結(jié)果如下:

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2566

    文章

    53008

    瀏覽量

    767552
  • 超聲波
    +關(guān)注

    關(guān)注

    63

    文章

    3140

    瀏覽量

    141434
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1735

    瀏覽量

    52916
  • GND
    GND
    +關(guān)注

    關(guān)注

    2

    文章

    544

    瀏覽量

    39826
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    2009

    瀏覽量

    107483
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    在全志H616核桃開發(fā)板上實(shí)現(xiàn)超聲波傳感器測(cè)距

    實(shí)現(xiàn)超聲波傳感器測(cè)距。 實(shí)驗(yàn)講解? 下圖是一款市面上常用的HCSR04超聲波模塊: 模塊參數(shù) 供電電壓 3.3V~5V (核桃需要使用
    發(fā)表于 05-08 16:21

    超聲波傳感器測(cè)距電路

    超聲波傳感器測(cè)距電路超聲波測(cè)距電路原理圖本系統(tǒng)的特點(diǎn)是利用單片機(jī)控制超聲波的發(fā)射和對(duì)
    發(fā)表于 10-20 08:43

    基于超聲波傳感器測(cè)距系統(tǒng)設(shè)計(jì)

    ;><strong>基于超聲波傳感器測(cè)距系統(tǒng)設(shè)計(jì)<br/></strong><
    發(fā)表于 12-15 10:20

    超聲波測(cè)距原理

    為此,文中嘗試以單片機(jī)AT89S52為核心,利用一對(duì)40 kHz壓電超聲傳感器設(shè)計(jì)一款體積較小、價(jià)格低廉、精度較高、具有溫度補(bǔ)償、實(shí)時(shí)LCD顯示和報(bào)警的超聲波測(cè)距儀。1
    發(fā)表于 04-25 11:32

    超聲波傳感器及應(yīng)用

      一、原理簡(jiǎn)述:  超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是一種振動(dòng)頻 率高于聲波
    發(fā)表于 10-29 14:53

    超聲波傳感器測(cè)距系統(tǒng)如何設(shè)計(jì)

    超聲波測(cè)距主要應(yīng)用于非接觸測(cè)量領(lǐng)域。目前測(cè)距專用超聲波系統(tǒng)由于成本高等的原因,在一些中小規(guī)模的應(yīng)用領(lǐng)域中難以廣泛應(yīng)用。隨著汽車智能化的發(fā)展,需要研制出能夠以更高的精度
    發(fā)表于 04-23 07:34

    超聲波傳感器的優(yōu)勢(shì)及原理

    長(zhǎng)度等一些工業(yè)現(xiàn)場(chǎng),需要自動(dòng)進(jìn)行非接觸測(cè)距的場(chǎng)合經(jīng)常見到其身影。那么,超聲波傳感器有哪些優(yōu)勢(shì),使得其在這些場(chǎng)合大顯身手呢?  概況而言,超聲波傳感器
    發(fā)表于 06-19 11:46

    超聲波測(cè)距原理

    1.超聲波測(cè)距原理超聲波是利用反射的原理測(cè)量距離的,被測(cè)距離一端為超聲波傳感器,另一端必須有能反
    發(fā)表于 07-21 07:01

    如何去實(shí)現(xiàn)一種基于樹莓4B的超聲波測(cè)距和顯示設(shè)計(jì)

    如何去實(shí)現(xiàn)一種基于atmegal16單片機(jī)的超聲波測(cè)距短信上傳設(shè)計(jì)?如何去實(shí)現(xiàn)一種基于樹莓4B的超聲波
    發(fā)表于 09-23 07:29

    超聲波測(cè)距實(shí)驗(yàn)

    超聲波測(cè)距實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?、 了解超聲波的產(chǎn)生及其在介質(zhì)中的傳播特性2、 了解超聲波傳感器基本結(jié)構(gòu)及其工作原理3、 了解
    發(fā)表于 03-07 11:18 ?7595次閱讀
    <b class='flag-5'>超聲波</b><b class='flag-5'>測(cè)距</b>實(shí)驗(yàn)

    Arduino應(yīng)用_Arduino連接超聲波傳感器測(cè)距

    超聲波傳感器適用于對(duì)大幅的平面進(jìn)行靜止測(cè)距。普通的超聲波傳感器測(cè)距范圍大概是 2cm~450cm
    發(fā)表于 09-24 16:00 ?148次下載
    Arduino應(yīng)用_Arduino<b class='flag-5'>連接</b><b class='flag-5'>超聲波</b><b class='flag-5'>傳感器</b><b class='flag-5'>測(cè)距</b>

    超聲波傳感器測(cè)距方法詳解

    在日常生產(chǎn)生活中,超聲波測(cè)距傳感器主要應(yīng)用于汽車的倒車?yán)走_(dá)、及機(jī)器人自動(dòng)避障行走、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng)例如:液位、井深、管道長(zhǎng)度等需要自動(dòng)進(jìn)行非接觸測(cè)距的場(chǎng)合。目前有兩種常用的
    的頭像 發(fā)表于 03-29 08:27 ?3.6w次閱讀
    <b class='flag-5'>超聲波</b><b class='flag-5'>傳感器</b><b class='flag-5'>測(cè)距</b>方法詳解

    超聲波位移傳感器與激光測(cè)距儀/測(cè)距傳感器之間有何區(qū)別

    超聲波位移傳感器和激光測(cè)距儀/測(cè)距位移傳感器是兩個(gè)廣泛用來(lái)測(cè)量距離的工具,兩者之間互有優(yōu)勢(shì),在選擇的時(shí)候要根據(jù)實(shí)際情況具體分析,看哪個(gè)類型的
    的頭像 發(fā)表于 04-21 11:02 ?2699次閱讀

    超聲波傳感器的工作原理 超聲波傳感器的應(yīng)用

    超聲波傳感器是一種基于超聲波的無(wú)接觸式測(cè)距傳感器,可以廣泛應(yīng)用于工業(yè)、醫(yī)療、軍事等領(lǐng)域。本文將詳細(xì)介紹
    的頭像 發(fā)表于 01-18 14:04 ?2602次閱讀

    超聲波測(cè)距原理 超聲波測(cè)距傳感器接線方法

    超聲波測(cè)距是一種常用的測(cè)距方法,通過(guò)發(fā)射超聲波脈沖,利用其在空氣中傳播速度較快的特點(diǎn),測(cè)量出從傳感器到目標(biāo)物體的時(shí)間差,并進(jìn)而計(jì)算出距離。
    的頭像 發(fā)表于 01-22 15:22 ?3963次閱讀