色另类_婷婷激情四月_亚洲精品无码不卡在线播放he_欧美第七页_精品国产综合区久久久久99_青娱乐极品盛宴在线

產(chǎn)品分類

當(dāng)前位置: 首頁 > 傳感測(cè)量產(chǎn)品 > 工業(yè)傳感器 > 超聲波傳感器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
超聲波傳感器

樹莓派 超聲波傳感器:樹莓派3B–超聲波測(cè)距(HC-SR04)的使用

發(fā)布日期:2022-10-09 點(diǎn)擊率:78


樹莓派 超聲波傳感器:樹莓派3B--超聲波測(cè)距(HC-SR04)的使用  第1張

樹莓派 超聲波傳感器:樹莓派3B--超聲波測(cè)距(HC-SR04)的使用

?

1.組件外觀:

?

HC-SR04 模塊可以測(cè)量 3cm - 4m 的距離,精確度可以達(dá)到 3mm。它包含了超聲波發(fā)射器、接收器和控制電路三部分。

?

2.接線方式

一共兩個(gè)電源引腳和兩個(gè)控制引腳。
Vcc 和 Gnd 接 5v DC 電源,但不推薦用獨(dú)立電源給它供電,應(yīng)使用樹莓派或單片機(jī)的 GPIO 口輸出 5v 和 Gnd 給它供電。不然會(huì)影響這個(gè)模塊的運(yùn)行。
Trig 引腳用來接收樹莓派的控制信號(hào)。接任意 GPIO 口。
Echo 引腳用來向樹莓派返回測(cè)距信息。接任意 GPIO 口。
(注意 Echo 返回的是 5v信號(hào),而樹莓派的 GPIO 接收超過 3.3v 的信號(hào)可能會(huì)被燒毀,因此需要加一個(gè)分壓電路,博主沒有加,直接用杜邦線連的)。

?

3.工作原理

(1)樹莓派向 Trig 腳發(fā)送一個(gè) 10us 的脈沖信號(hào)。
(2) HC-SR04 接收到信號(hào),開始發(fā)送超聲波,并把 Echo置為高電平,然后準(zhǔn)備接收返回的超聲波。
(3) HC-SR04 接收到返回的超聲波,把 Echo 置為低電平。
(4)Echo 高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間間隔。
(5)計(jì)算距離:
? ? 距離(單位:m) ?= ?(start - end) * 聲波速度 / 2?
? ? 聲波速度取 343m/s 。
? ? 然后再把測(cè)得的距離轉(zhuǎn)換為 cm。
? ? 距離(單位:cm) = (start - end) * 聲波速度 / 2 * 100?
? ? ? ? ? ? ? ? ? ? ? ? ? ? = (start - end) *

4、代碼

?

14、新手入手樹莓派教程--DHT11傳感器的使用
5、運(yùn)行結(jié)果

?

?

致謝:

1、樹莓派-超聲波測(cè)距(HC-SR04)的使用(Python)

2、樹莓派控制超聲波傳感器(C++)

3、基于樹莓派平臺(tái)的超聲波測(cè)距編程實(shí)現(xiàn)(C實(shí)現(xiàn))

4、樹莓派3 + HC-SR04超聲波測(cè)距模塊(好)
樹莓派 超聲波傳感器:樹莓派3B--超聲波測(cè)距(HC-SR04)的使用  第2張

樹莓派 超聲波傳感器:樹莓派B+實(shí)戰(zhàn)之一 超聲波測(cè)距傳感器HC-SR04

? ?超聲波測(cè)距應(yīng)用廣泛,本次實(shí)戰(zhàn)通過樹莓派B+連接HC-SR04超聲波測(cè)距傳感器,用python GPIO控制傳感器完成距離測(cè)定,并將距離顯示在屏幕上。

硬件部分:
1,HC-SR04超聲波測(cè)距傳感器
? ? ? ?1.1 HC-SR04超聲波測(cè)距傳感器硬件如下圖
? ?

該傳感器有4個(gè)引腳:

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

Trig,超聲波發(fā)送腳,高電平時(shí)發(fā)送出40KHZ出超聲波

Echo,超聲波接收檢測(cè)腳,當(dāng)接收到返回的超聲波時(shí),輸出高電平

GND,超聲波模塊GND

?

?

1.2 HC-SR04超聲波模塊工作原理:
1)采用IO口TRIG觸發(fā)測(cè)距,給至少10us的高電平信號(hào);
2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;
3)有信號(hào)返回,通過IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2;

?

?

?

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

初始化時(shí)將trig和echo端口都置低,首先向給 trig 發(fā)送至少10 us的高電平脈沖(模塊自動(dòng)向外發(fā)送8個(gè)40K的方波),然后等待,捕捉 echo 端輸出上升沿,捕捉到上升沿的同時(shí),打開定時(shí)器開始計(jì)時(shí),再次等待捕捉echo的下降沿,當(dāng)捕捉到下降沿,讀出計(jì)時(shí)器的時(shí)間,這就是超聲波在空氣中運(yùn)行的時(shí)間,按照 測(cè)試距離=(高電平時(shí)間*聲速(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、確認(rèn)python,python GPIO庫是否正確安裝
?在Raspbian中已經(jīng)預(yù)裝了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時(shí),常用的是raspberry-gpio-python模塊,在2016-05-27-raspbian-jessie版本的系統(tǒng)鏡像中,預(yù)裝了最新的版本v0.6.2,可以在Python中輸入下列命令查看:
>>> import RPi.GPIO as GPIO
>>> GPIO.VERSION
'0.6.2'
>>>

?

2、創(chuàng)建一個(gè)目錄hcsr04
pi@raspberrypi:~ $ cd /home/pi
pi@raspberrypi:~ $ mkdir hcsr04

?

pi@raspberrypi:~ $ cd hcsr04

3、創(chuàng)建python程序
在hcsr04目錄下創(chuàng)建一個(gè)名為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.)
? ? 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()

?

然后執(zhí)行該程序
pi@raspberrypi:~ $ ?python hcsr04.py

?

驗(yàn)證測(cè)試
如圖在超聲波測(cè)距儀前放在障礙物,前后移動(dòng)超聲波測(cè)距儀,電腦屏幕上會(huì)顯示測(cè)得的距離,與直尺量的距離對(duì)比,可發(fā)現(xiàn)誤差不大。完全可以勝任小車壁障等用途。

?

?

?

樹莓派 超聲波傳感器:樹莓派控制HC-SR04超聲波模塊測(cè)距(新手向+C語言向)

  因?yàn)樽鳂I(yè)要求使用c語言代碼,這里先附上一段摘自網(wǎng)上的代碼
  感謝KalaerSun的c語言代碼,摘自
1 #include

  既然我們已經(jīng)讀懂了代碼,接下來我們就是硬件方面的鏈接:
  我們先來了解一下各個(gè)硬件分別開來的屬性。
  1.樹莓派:
    樹莓派的歷史我們?cè)诖瞬蛔鲞^多的講解,其他硬件也暫且不講,我們先來看一下樹莓派上的引腳。
    拿起樹莓派,將USB接口向下,面向你那起來,你會(huì)發(fā)現(xiàn)樹莓派右邊有兩列一共40個(gè)引腳,下邊這部分告訴了我們這些引腳各自的功能。
+-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
|     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
|   2 |   8 |   SDA.1 | ALT0 | 1 |  3 || 4  |   |      | 5V      |     |     |
|   3 |   9 |   SCL.1 | ALT0 | 1 |  5 || 6  |   |      | 0v      |     |     |
|   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT5 | TxD     | 15  | 14  |
|     |     |      0v |      |   |  9 || 10 | 1 | ALT5 | RxD     | 16  | 15  |
|  17 |   0 | GPIO. 0 |  OUT | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
|  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
|  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
|     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
|  10 |  12 |    MOSI | ALT0 | 0 | 19 || 20 |   |      | 0v      |     |     |
|   9 |  13 |    MISO | ALT0 | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
|  11 |  14 |    SCLK | ALT0 | 0 | 23 || 24 | 1 | OUT  | CE0     | 10  | 8   |
|     |     |      0v |      |   | 25 || 26 | 1 | OUT  | CE1     | 11  | 7   |
|   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
|   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
|   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
|  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
|  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
|  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
|     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
    我們重點(diǎn)來介紹這次試驗(yàn)用到的兩種引腳:
      ①.電源引腳:分為3.3V / 5V / 0V三種,其中0V代表接地
      ②.GPIO輸入輸出接口:這是非常重要的一類引腳,上圖中標(biāo)明了GPIO的就是這類接口,樹莓派GPIO接口只能輸入輸出數(shù)字信號(hào)(0&1等)
  2.超聲波模塊
    超聲波模塊的種類有很多,我們此處選擇的模塊型號(hào)為HC-SR04,本模塊的優(yōu)點(diǎn)為性能穩(wěn)定,測(cè)度距離精確,模塊高精度,盲區(qū)小。探測(cè)距離為2cm-450cm。
    
    我們可以看到它一共有四個(gè)引腳:
      Vcc:接5V電源(接1號(hào)引腳)
      Trig:輸出端口(接16號(hào)引腳)
      Echo:輸入端口(接18號(hào)端口)
      Gnd:接地端(接6號(hào)端口)
  3.杜邦線
     杜邦線有三種類型,分別為公對(duì)母,母對(duì)母,公對(duì)公。我們這里需要的是四條母對(duì)母的杜邦線。
  
    接下來我們就用杜邦線將超聲波模塊與樹莓派連接,連接時(shí)一定要注意引腳之間的對(duì)應(yīng)關(guān)系。連接成功后如下
    

    連接成功后我們就開始測(cè)試程序了,先將程序編譯成可執(zhí)行的二進(jìn)制文件
    
    之后輸入ls 查看,我們發(fā)現(xiàn)有編譯成功后的disMeasure文件
    
    之后我們輸入sudo    開始執(zhí)行程序,程序運(yùn)行效果如下。
    
    到此,我們的超聲波模塊測(cè)距部分就算完美收工了。

以上就是超聲波模塊測(cè)距的c的代碼和解析的部分了,希望能對(duì)大家的樹莓派學(xué)習(xí)有幫助。

樹莓派 超聲波傳感器:樹莓派3B--超聲波測(cè)距(HC-SR04)的使用  第3張

樹莓派 超聲波傳感器:樹莓派控制HC-SR04超聲波測(cè)距傳感

作為最常見的傳感器,本篇實(shí)現(xiàn)超聲波測(cè)距傳感的交互:
1. 首先把樹莓派GPIO結(jié)構(gòu)圖放上來:
圖一 樹莓派GPIO結(jié)構(gòu)圖
2. 接線
VCC,超聲波模塊電源腳,接5V電源即可
Trig,超聲波發(fā)送腳,高電平時(shí)發(fā)送出40KHZ出超聲波,接GPIO
Echo,超聲波接收檢測(cè)腳,當(dāng)接收到返回的超聲波時(shí),輸出高電平,接GPIO
GND,超聲波模塊GND
圖二 樹莓派和超聲測(cè)距傳感器的接線圖
網(wǎng)上教程指出5V的GPIO可能會(huì)燒掉板子,建議加電阻,這里沒有加也能運(yùn)行,自己有材料最好接上電阻。
3. 程序
#!?/usr/bin/python
#?-*-?coding:utf-8?-*-
import?RPi.GPIO as GPIO
import?time
def?checkdist():
GPIO.setmode(GPIO.BCM)
#發(fā)出觸發(fā)信號(hào)
GPIO.output(2,GPIO.HIGH)
#保持10us以上(我選擇15us)
time.sleep(0.)
GPIO.output(2,GPIO.LOW)
while?not?GPIO.input(3):
pass
#發(fā)現(xiàn)高電平時(shí)開時(shí)計(jì)時(shí)
t1?=?time.time()
while?GPIO.input(3):
pass
#高電平結(jié)束停止計(jì)時(shí)
t2?=?time.time()
#返回距離,單位為米
return?(t2-t1)*340/2
#第3號(hào)針,GPIO2
GPIO.setup(2,GPIO.OUT,initial=GPIO.LOW)
#第5號(hào)針,GPIO3
GPIO.setup(3,GPIO.IN)
time.sleep(2)
try:
while?True:
print?'Distance: %0.2f m'?%checkdist()
time.sleep(0.5)
except?KeyboardInterrupt:
GPIO.cleanup()
值得學(xué)習(xí)的模塊,而且很實(shí)用,測(cè)量精度也高,便宜好用。

下一篇: PLC、DCS、FCS三大控

上一篇: 電氣控制線路圖控制原

推薦產(chǎn)品

更多
主站蜘蛛池模板: 亚洲国产精品综合久久 | 在线看一级片 | www国产| 色久在线 | 日本黄色网址大全 | 精品天堂 | 久草欧美| 欧美jizzjizz在线播放 | av不卡免费在线 | 欧洲一级鲁丝片免费 | 22eee在线播放成人免费视频 | 激情综合网婷婷 | 亚洲视频在线观看网站 | 亚洲一区二区欧美日韩 | 国产高清区 | 欧美一级α片 | 日日干夜夜操 | 99久久久久国产精品免费 | 欧美三级三级三级爽爽爽 | 亚洲国产欧美在线 | 毛片在线免费 | 国产女主播喷出白浆视频 | 亚洲一级在线观看 | 免费观看欧美一级高清 | 久久色亚洲 | 欧美日韩精品久久久免费观看 | 天天躁日日躁aaaa视频 | 亚洲视频aaa | 色妇影院 | 欧美永久免费 | 国产麻豆传媒视频 | 久草在线资源福利站 | 奇米视频在线观看 | 久久夜色精品国产亚洲噜噜 | 精品国产三级a | 日本三级一区 | 91国内外精品自在线播放 | 夜精品一区二区无码A片 | 五月综合激情婷婷六月 | 狠狠综合久久av一区二区小说 | 午夜手机福利 |