91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在樹莓派Pico上使用HC-SR04超聲波測距模塊呢?

jf_zGNBEhbi ? 來源:趣無盡 ? 2023-11-14 15:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

超聲波傳感器使用聲音脈沖和簡單的計算來確定其自身與前方物體之間的距離。它們通常用于機器人中,以確保機器人不會行走或滾入障礙物。樹莓派 Pico 基于 RP2040 芯片的多功能微控制器板,當與超聲波傳感器(例如 HC-SR04)等傳感器結合使用時,Pico 成為測量距離、檢測物體和創建智能自動化應用的理想平臺。下面我們將了解如何在樹莓派 Pico 上使用超聲波傳感器。

材料清單

– 樹莓派 Pico
– HC-SR04 超聲波傳感器
– 跳線若干
– 面包板或 Pico 擴展板

超聲波傳感器的引腳排列如下:

– VCC 引腳用于為傳感器供電。它通常需要 5V 直流電源
– Trig 引腳用于向傳感器發送觸發信號。當高電平信號(通常為 5V)施加到該引腳時,傳感器開始發射超聲波。
– Echo 引腳用于接收來自傳感器的回波信號。當傳感器發出的超聲波擊中物體并反彈回來時,傳感器會在該引腳上產生脈沖。
– VCC 引腳是傳感器的接地連接,應連接到電路的接地 (0V)。

60e44aa6-82bb-11ee-939d-92fbcf53809c.png

HC-SR04 的測距過程

610c5dfc-82bb-11ee-939d-92fbcf53809c.png

1. 樹莓派向 Trig 腳發送一個持續 10us 的脈沖信號。
2. HC-SR04 接收到樹莓派發送的脈沖信號,開始發送超聲波 (start sending ultrasoun),并把 Echo置為高電平。然后準備接收返回的超聲波。
3. 當 HC-SR04 接收到返回的超聲波 (receive returned ultrasound) 時,把 Echo 置為低電平。

611efa48-82bb-11ee-939d-92fbcf53809c.png

從上述過程可以看出,Echo 高電平持續的時間就是超聲波從發射到返回所經過的時間間隔~

請對照下圖接線。

612c8370-82bb-11ee-939d-92fbcf53809c.png

Pico 的 3V3 引腳連接到超聲傳感器的 VCC 引腳。
Pico 的 GND 引腳連接到超聲傳感器的 GND 引腳。
Pico 的 GPIO 引腳 3 連接到超聲傳感器的 Trig 引腳。
Pico 的 GPIO 引腳 2 連接到超聲傳感器的 Echo 引腳。

編程

電路連接好之后,將樹莓派 Pico 連上 PC 并打開 Thonny。

1、從計算機庫導入 Pin 類,然后導入 utime 庫。前者用于控制 GPIO 引腳,后者是基于時間的函數庫。

from machine import Pin
import utime

2、創建兩個新對象,觸發器和回聲。這些對象配置要與超聲傳感器一起使用的 Pico 的 GPIO 引腳。例如,我們的觸發引腳用于發送電流脈沖,因此它是輸出引腳。回波引腳接收反射的脈沖,因此回波是輸入。

trigger = Pin(3, Pin.OUT)
echo = Pin(2, Pin.IN)

3、創建一個函數 ultra(),其中將包含讀取所需的代碼。

def ultra():

4、將觸發引腳拉低,以確保其未激活,然后暫停兩微秒。

   trigger.low()
   utime.sleep_us(2)

5、在將觸發器引腳拉低之前,將觸發器引腳拉高五秒鐘。這將從超聲波傳感器發送一個短脈沖,然后關閉該脈沖。

   trigger.high()
   utime.sleep_us(5)
   trigger.low()

6、創建一個 while 循環以檢查回波引腳。如果沒有收到回波脈沖,則更新變量 signaloff,使其包含以微秒為單位的時間戳。

   while echo.value() == 0:
       signaloff = utime.ticks_us()

7、創建另一個 while 循環,這次檢查是否已收到回聲。這會將當前時間戳(以微秒為單位)存儲到 signalon 變量中。

   while echo.value() == 1:
       signalon = utime.ticks_us()

8、創建一個新的 timepass 變量,該變量將存儲脈沖離開傳感器,撞擊物體并作為回波返回傳感器所花費的總時間值。

   timepassed = signalon - signaloff

9、創建一個新變量,距離。此變量將存儲方程式的答案。我們將行進時間(經過的時間)乘以聲速(343.2m/s,即每微秒 0.0343cm),該方程的乘積除以 2,因為我們不需要總行進距離,而只需從反對傳感器。

distance = (timepassed * 0.0343) / 2

10、打印一條消息到 Python Shell,顯示距離。

print("The distance from object is ",distance,"cm")

11.現在,我們移出該函數,創建一個循環,該循環將每秒運行一次該函數。

while True:
   ultra()
   utime.sleep(1)

下面是完整的代碼:

from machine import Pin
import utime
trigger = Pin(3, Pin.OUT)
echo = Pin(2, Pin.IN)
def ultra():
   trigger.low()
   utime.sleep_us(2)
   trigger.high()
   utime.sleep_us(5)
   trigger.low()
   while echo.value() == 0:
       signaloff = utime.ticks_us()
   while echo.value() == 1:
       signalon = utime.ticks_us()
   timepassed = signalon - signaloff
   distance = (timepassed * 0.0343) / 2
   print("The distance from object is ",distance,"cm")
while True:
   ultra()
   utime.sleep(1)

將代碼作為 code.py 保存到樹莓派 Pico 上,然后單擊 Run 按鈕以運行代碼。在 Python Shell 中,您將看到每秒打印的距離。

6157bb30-82bb-11ee-939d-92fbcf53809c.png







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 直流電源
    +關注

    關注

    9

    文章

    1376

    瀏覽量

    54031
  • 回波信號
    +關注

    關注

    1

    文章

    14

    瀏覽量

    8747
  • 超聲波傳感器

    關注

    18

    文章

    609

    瀏覽量

    36912
  • 樹莓派
    +關注

    關注

    121

    文章

    2001

    瀏覽量

    107432

原文標題:在樹莓派 Pico 上使用 HC-SR04 超聲波測距模塊

文章出處:【微信號:趣無盡,微信公眾號:趣無盡】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    關于HC-SR04超聲波測距模塊

    參考:某寶HC-SR04 超聲波測距模塊商品詳情頁1.關于HC-SR04 超聲波
    發表于 08-10 06:24

    如何利用HC-SR04超聲波測距模塊去實現精確的直線測距

    超聲波測距原理是什么?利用STM32驅動HC-SR04需要做好哪幾個關鍵點?如何利用HC-SR04超聲波
    發表于 10-20 07:28

    如何對超聲波測距HC-SR04進行測試

    超聲波測距HC-SR04的原理是什么?如何對超聲波測距HC-SR04進行測試
    發表于 11-16 09:31

    基于stm32的HC-SR04超聲波測距模塊怎么使用?

    基于stm32的HC-SR04超聲波測距模塊怎么使用?
    發表于 11-25 09:15

    如何利用現成的SysTick去實現HC-sr04超聲波測距

    什么是HC-sr04超聲波測距模塊HC-sr04超聲波
    發表于 12-02 08:10

    HC-SR04超聲波測距模塊原理

    文章目錄前言一、HC-SR04超聲波測距模塊原理1.模塊簡介2.模塊電氣參數3.
    發表于 12-06 07:14

    如何通過HC-SR04超聲波模塊去實現測距功能

    HC-SR04超聲波模塊是什么?如何通過HC-SR04超聲波模塊去實現測距功能
    發表于 12-13 06:00

    如何去編寫HC-SR04超聲波測距模塊的驅動程序

    HC-SR04超聲波測距模塊的基本工作原理是什么?如何去編寫HC-SR04超聲波
    發表于 12-15 07:45

    HC-SR04超聲波測距模塊及程序

    HC-SR04超聲波測距模塊及程序HC-SR04超聲波測距
    發表于 12-08 16:50 ?85次下載

    超聲波測距資料(HC-SR04)

    超聲波測距資料(HC-SR04),感興趣可以看看。
    發表于 07-25 18:52 ?110次下載

    超聲波測距模塊HC-SR04)用戶手冊

    超聲波資料,超聲波測距模塊HC-SR04)用戶手冊。
    發表于 12-19 14:01 ?88次下載

    簡單的超聲波測距模塊制作_HC-SR04超聲波測距模塊及制作圖詳解

    本文主要介紹的是HC-SR04超聲波測距模塊及制作圖詳解,首先介紹了超聲波測距原理及特點,其次闡
    發表于 05-18 09:40 ?5.4w次閱讀
    簡單的<b class='flag-5'>超聲波</b><b class='flag-5'>測距</b><b class='flag-5'>模塊</b>制作_<b class='flag-5'>HC-SR04</b><b class='flag-5'>超聲波</b><b class='flag-5'>測距</b><b class='flag-5'>模塊</b>及制作圖詳解

    使用單片機和HC-SR04設計超聲波測距系統的設計資料合集

    HC-SR04超聲波測距模塊配套資料合集免費下載包括了:STC89C52RC系列手冊,PCB截圖,基于單片機的超聲波
    發表于 11-06 08:00 ?143次下載
    使用單片機和<b class='flag-5'>HC-SR04</b>設計<b class='flag-5'>超聲波</b><b class='flag-5'>測距</b>系統的設計資料合集

    HC-SR04超聲波測距模塊原理及電路圖

    HC-SR04超聲波測距模塊原理及電路圖
    發表于 03-10 10:13 ?69次下載
    <b class='flag-5'>HC-SR04</b><b class='flag-5'>超聲波</b><b class='flag-5'>測距</b><b class='flag-5'>模塊</b>原理及電路圖

    利用HC-SR04和51單片機制造超聲波測距模塊

    利用HC-SR04和51單片機制造超聲波測距模塊~
    發表于 11-22 16:51 ?37次下載
    利用<b class='flag-5'>HC-SR04</b>和51單片機制造<b class='flag-5'>超聲波</b><b class='flag-5'>測距</b><b class='flag-5'>模塊</b>
    主站蜘蛛池模板: 五月婷婷六月丁香在线 | 精品色视频 | v视界影院最新地址 | 久草资源网站 | 性孕妇洗澡video国产 | 亚洲国产成人久久一区www | 欧美高清老少配性啪啪 | 极品国产一区二区三区 | 欧美精彩狠狠色丁香婷婷 | 同性同男小说肉黄 | 一级毛片真人免费观看 | 天天干天天日天天射天天操毛片 | 国产精品三级a三级三级午夜 | 五月婷婷激情 | 上课被同桌摸下面做羞羞 | 看片久久| 亚洲精品电影天堂网 | 久草一区 | 99色视频在线观看 | 国产伦精一区二区三区 | 天堂社区在线视频 | 欧美色图俺去了 | 精品亚洲欧美无人区乱码 | 欧美午夜视频一区二区 | jiucao在线观看精品 | 久久亚洲精品国产亚洲老地址 | 国产高清小视频 | 久久综合精品视频 | 成人国产精品高清在线观看 | 四虎1515hh永久久免费 | 萌白酱香蕉白丝护士服喷浆 | 国产精品二区三区免费播放心 | 亚洲日本一区二区三区在线不卡 | 日本欧美一区二区三区不卡视频 | 1024你懂的国产精品 | 天天干夜夜操美女 | 51精品国产| 亚洲一区在线免费观看 | 麻豆国产三级在线观看 | 毛片色毛片18毛片美女 | 性夜影院午夜看片 |