OrangePi Lite 系列2:使用US-015超聲波模塊測距

先來一張效果圖吧:

提示

用到的工具或軟件有:

  • WiringPi
  • orangepi_PC_gpio_pyH3
  • US-015模塊一個
  • 杜邦線若干

準(zhǔn)備工作

1.安裝WiringPi

安裝方法來自官方用戶手冊:

安裝源碼需要的編譯工具

$ sudo apt-get install gcc g++ make

編譯GPIO 的H3 的驅(qū)動

git clone https://github.com/kazukioishi/WiringOP.git -b h3
cd WiringOP
chmod +x ./build
sudo ./build

GPIO 打印信息

gpio -v
gpio version: 2.20
Copyright (c) 2012-2014 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Banana Pro Details:
Type: Banana Pro, Revision: 1.2, Memory: 1024MB, Maker: LeMaker

顯示

gpio reada

2.安裝 orangepi_PC_gpio_pyH3

在github上下載orangepi_PC_gpio_pyH3或者使用如下命令clone:

git clone https://github.com/duxingkei33/orangepi_PC_gpio_pyH3.git

下載完成后執(zhí)行以下命令安裝:

python setup.py install

若提示 Python.h No such file or directory 請運行以下命令安裝 python-dev

apt install python-dev

再次執(zhí)行安裝命令即可

3.連接US-015模塊至OrangePi Lite

US-015 模塊有一個4Pin接口

從左到右依次編號1,2,3,4。它們的定義如下:

  • 1號Pin:接VCC電源(直流5V)。
  • 2號Pin:接外部電路的Trig端,向此管腳輸入一個10uS以上的高電平,可觸發(fā)模塊測距。
  • 3號Pin:接外部電路的Echo端,當(dāng)測距結(jié)束時,此管腳會輸出一個高電平,電平寬度為超聲波往返時間之和。
  • 4號Pin:接外部電路的地。
    OPI Lite的GPIO圖如下:



    將1號Pin連接至GPIO的2口,2-4分別連至GPIO的35(PA10),37(PA20),39(GND)口。

編寫代碼

vi length.py

from pyA20.gpio import gpio
from pyA20.gpio import port
import time
def checkdist():
    # 設(shè)置PA10為高電平,持續(xù)15微秒(大于10均可)
    gpio.output(port.PA10,1)
    time.sleep(0.000015)
    gpio.output(port.PA10,0)
    # 當(dāng)PA20接收到高電平信號后開始記錄時間,高電平小時候記錄時間
    while not gpio.input(port.PA20):
        pass
    t1=time.time()
    while gpio.input(port.PA20):
        pass
    t2=time.time()
    # 根據(jù)超聲波速度計算距離
    return (t2-t1)*340/2
# 初始化gpio
gpio.init()
# 設(shè)置PA10口為output 
gpio.setcfg(port.PA10,1)
# 設(shè)置PA20口為input
gpio.setcfg(port.PA20,0)
# 等待2秒
time.sleep(2)
while True:
    print 'Distance : %0.2f m' %checkdist()
    # 每隔三秒獲取距離
    time.sleep(0.3)

最后執(zhí)行

python length.py

即可看到運行結(jié)果。

簡書上好像沒有代碼高亮,看起來不是很方便,可以去我的博客閱讀體驗更佳 虛耗的博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容