日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

树莓派和HC-SR04模块实现超声波测距

發布時間:2024/1/18 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树莓派和HC-SR04模块实现超声波测距 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 一、HC-SR04簡介
    • 二、樹莓派遠程連接
        • 1.系統準備
        • 2.軟件準備
        • 3. 燒錄系統
        • 4. 使用ssh連接電腦熱點
        • 5.VNC遠程控制連接樹莓派桌面
    • 三、樹莓派操作
    • 四、總結

一、HC-SR04簡介

HC-SR04有4 個引腳, 2 個電源引腳(Vcc 、GND)和 2 個控制引腳(Trig、Echo)

Vcc 和 Gnd 接 3.3v DC 電源,但不推薦用獨立電源給它供電,可以接樹莓派的引腳給它供電。
Trig 引腳用來接收來自樹莓派的控制信號。接任意 GPIO 口。
Echo 引腳用來發送測距結果給樹莓派。接任意 GPIO 口。

HC-SR04 的測距過程

  • 樹莓派向 Trig 腳發送一個持續 10us 的脈沖信號。
  • HC-SR04 接收到樹莓派發送的脈沖信號,開始發送超聲波 ,并把 Echo置為高電平。
  • 當 HC-SR04 接收到返回的超聲波時,把 Echo 置為低電平。
  • 可見, 超聲波從發射到返回經過的時間,就是Echo高電平持續的時間

    二、樹莓派遠程連接

    1.系統準備

    • 下載樹莓派系統鏡像(兩種渠道)
      樹莓派官方的下載燒錄整合工具Raspberry Pi Imager
      https://www.raspberrypi.com/software/
      2020年前的舊版系統鏡像Index of /raspbian_full/images
      https://downloads.raspberrypi.org/raspbian_full/images/

    2.軟件準備

    • Putty (SSH通過WIFI建立遠程連接)
    • VNC-Viewer(遠程桌面軟件)

    3. 燒錄系統

    將SD卡插入讀卡器,再插入電腦,首先格式化盤符

    打開Raspberry Pi Imager選擇稍舊的系統進行燒錄(筆者使用最新鏡像系統燒錄完的時候無法通過ssh連接熱點)

    或者下載上面提供的舊版系統鏡像的zip文件,解壓后選擇.img鏡像文件,通過Imager燒錄到SD卡中

    燒錄完成后,SD卡將會變成一個只有256MB的命名為boot的盤符。

    4. 使用ssh連接電腦熱點

    在電腦文件開啟后綴的情況下在boot盤中創建這樣兩個文件:

    ssh空白文件和wpa_supplicant.conf文件(在進入樹莓派系統設置ssh自動開啟之前,樹莓派每次開機后都會自動刪除這兩個文件,所以可以在電腦上保存這兩個文件備用)

    打開并編寫wpa_supplicant.conf文件

    country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1network={ssid="xxxxx"psk="xxxxx"key_mgmt=WPA-PSKpriority=1 }

    其中ssid填入需要連接網絡名稱,在psk后的雙引號中輸入網絡密碼。連接的網絡不要使用中文名。為便于操作可以使用電腦熱點,但需要在設置中調整網絡頻帶為2.4GHz。如果使用手機熱點,也需調整網絡頻帶為2.4GHz,且電腦要同時連接手機熱點才能在電腦上遠程登入樹莓派。
    取下SD卡,將SD卡插入樹莓派,接電啟動,等待樹莓派開機并連接熱點,1/8表示成功連接上

    右鍵打開設置,將設備名稱為raspberry的IP地址復制下來

    打開 Putty,在Host Name中粘貼復制下來的IP地址,點擊open

    在彈出來的界面輸入用戶名和密碼
    輸入sudo raspi-config進入樹莓派的系統設置,將VNC的服務開啟,這樣就可以遠程鏈接樹莓派的桌面。

    5.VNC遠程控制連接樹莓派桌面

    打開VNC Viewer,輸入之前復制的樹莓派IP地址

    輸入用戶名pi和樹莓派初始密碼raspberry,即可遠程控制樹莓派的桌面。

    三、樹莓派操作

    在桌面建立兩個文件

    main.py

    import RPi.GPIO as GPIO from pin_dic import pin_dic import timeclass HC_SR04(object):def __init__(self, pin_trig, pin_echo):self.pin_trig = pin_trigself.pin_echo = pin_echoGPIO.setup(self.pin_trig, GPIO.OUT)GPIO.setup(self.pin_echo, GPIO.IN)self.time_tol = 3 # 設置時間間隔確保正常工作范圍在3s內def get_distance(self):s_time = time.time() # 當前時刻起開始時間# 在TRIG引腳上輸出一個正向脈沖GPIO.output(self.pin_trig, 0) # 開始為低電平time.sleep(0.000002)GPIO.output(self.pin_trig, 1) # trig引腳改為高電平time.sleep(0.00001)GPIO.output(self.pin_trig, 0) # 有設置為低電平# 次階段可以視為通知模塊----我開始工作了!!!!準備接收# 等待ECHO引腳上高電平出現while GPIO.input(pin_echo) == 0:if time.time() - s_time > self.time_tol:return False# 跳出循環就是有高電平# 記錄此時高電平出現時間time1 = time.time() # 時間間隔time1# 等待ECHO引腳上高電平結束while GPIO.input(pin_echo) == 1:if time.time() - s_time > self.time_tol:return False# 跳出高低ping# 記錄高電平結束時間time2 = time.time()# 計算ECHO引腳上高電平持續時間during = time2 - time1# 計算距離 單位cmdis = during * 344 / 2 * 100return dis # 整個函數方法就是用來測距def destory(self):GPIO.cleanup()if __name__ == "__main__":pin_trig = pin_dic['G20'] # 板子就是3840pin_echo = pin_dic['G21']GPIO.setmode(GPIO.BOARD)m_HC_SR04 = HC_SR04(pin_trig, pin_echo) # 一個對象及其屬性try:# 主循環while True:dis = m_HC_SR04.get_distance()if dis:print('distance: %.2f cm' % (dis))print(' ')else:print("Error")time.sleep(1)except KeyboardInterrupt:print('\n Ctrl + C QUIT')finally:m_HC_SR04.destory()

    引腳文件pin_dic.py

    pin_dic = {'SDA':3,'SLC':5,'G4' :7,'G17':11,'G27':13,'G22':15,'MOSI':19,'MISO':21,'SCL':23,'IDSD':27,'G5':29,'G6':31,'G13':33,'G19':35,'G26':37,'TXD':8,'RXD':10,'G18':12,'G23':16,'G24':18,'G25':32,'CE0':24,'CE1':26,'IDSC':28,'G12':32,'G16':36,'G20':38,'G21':40}

    編寫完并保存后打開終端輸入以下命令:
    python main.py (編譯并運行該文件)
    在電腦上即可看見運行效果。

    四、總結

    本次實踐項目我負責用樹莓派來完成HC-SR04模塊的測距部分,此部分較為簡單,相當于驗證性實驗,主要在環境的配置上需要注意,在實驗過程中,用Raspberry Pi Imager燒錄自帶的新版本鏡像后,SSH連接始終連接不上,后面到官網下載了舊版本鏡像后便解決了問題。

    總結

    以上是生活随笔為你收集整理的树莓派和HC-SR04模块实现超声波测距的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。