加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于Arduino的超聲波傳感器HC-SR04

2020/12/11
687
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
方塊圖(3)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

您將學(xué)習(xí)如何將超聲波傳感器HC-SR04與Arduino連接。它可以是超聲波范圍傳感器或任何用途。

超聲波傳感器HC-SR04是可以測(cè)量距離的傳感器。它會(huì)發(fā)出40 000 Hz(40kHz)的超聲波,該超聲波在空中傳播,如果路徑上有物體或障礙物,它將反彈回模塊??紤]到傳播時(shí)間和聲音的速度,您可以計(jì)算出距離。

HC-SR04的配置引腳為VCC(1),TRIG(2),ECHO(3)和GND(4)。VCC的電源電壓為+ 5V ,您可以將TRIG和ECHO引腳連接到Arduino板中的任何數(shù)字I / O。

進(jìn)行此項(xiàng)目所需的材料:

1. Arduino UNO R3 CH340(您可以使用任何Arduino開(kāi)發(fā)板

2.超聲波傳感器HC-SR04

3.公對(duì)公跳線

4.面包板

為了產(chǎn)生超聲波,我們需要將觸發(fā)引腳設(shè)置為高狀態(tài)10 s 。這將發(fā)出一個(gè)8周期的聲音脈沖,將以速度聲音行進(jìn),并且將在回音針中接收?;匾翎槍⑤敵雎暡▊鞑サ臅r(shí)間(以微秒為單位)。

例如,如果物體距傳感器20厘米,并且聲音的速度為340 m / s或0.034 cm / μs,則聲波將需要傳播約588微秒。但是由于聲波需要向前傳播和向后反彈,所以從回聲針?biāo)玫降膶?huì)是這個(gè)數(shù)字的兩倍。因此,為了獲得以厘米為單位的距離,我們需要將從回波引腳接收的行進(jìn)時(shí)間值乘以0.034,然后將其除以2。

對(duì)于編程代碼,首先我們需要定義連接到Arduino板的觸發(fā)引腳和回波引腳。在此項(xiàng)目中,EchoPin附加到D2 ,TrigPin附加到D3。然后定義距離(整數(shù))和持續(xù)時(shí)間(長(zhǎng)整數(shù))的變量。

在循環(huán)中,首先必須確保trigPin是透明的,所以我們必須將該引腳設(shè)置為L(zhǎng)OW狀態(tài)僅2 μs 。現(xiàn)在,用于生成超聲波,我們必須設(shè)置trigPin的高態(tài)為10微秒。使用pulseIn()函數(shù),您必須讀取行程時(shí)間并將該值放入變量“ duration”中。此功能有2個(gè)參數(shù),第一個(gè)是回波引腳的名稱,第二個(gè)可以寫(xiě)入HIGH或LOW。在這種情況下,HIGH表示pulseIn()該功能將等待由反彈的聲波引起的引腳變?yōu)?a class="article-link" target="_blank" href="/tag/%E9%AB%98%E7%94%B5%E5%B9%B3/">高電平并開(kāi)始計(jì)時(shí),然后在聲波結(jié)束時(shí)等待引腳變?yōu)榈碗娖蕉V褂?jì)時(shí)。最后,該函數(shù)將返回脈沖長(zhǎng)度(以微秒為單位)。為了獲得距離,我們將持續(xù)時(shí)間乘以0.034,然后將其除以2,如我們之前解釋此方程式。最后,我們將在串行監(jiān)視器上打印距離的值。

腳步 :

1.首先進(jìn)行如圖所示的接線

2.打開(kāi)Arduino IDE軟件并寫(xiě)下您的代碼,或下載下面的代碼并打開(kāi)它

3.通過(guò)選擇工具>板> Arduino / Geniuno Uno選擇您自己的Arduino板(在本例中為Arduino Uno)

4.選擇“ COM端口”(通常只顯示一個(gè)現(xiàn)有端口),在“工具” >“端口” >“ COM?!敝小#ㄈ绻卸鄠€(gè)端口,請(qǐng)一一嘗試)

5.通過(guò)按Ctrl + U或Sketch > Upload上載代碼

6.要顯示測(cè)量數(shù)據(jù),可以使用串行監(jiān)視器,方法是按Ctrl + Shift + M (確保波特率是9600)

上載代碼后,使用串行監(jiān)視器顯示數(shù)據(jù)。現(xiàn)在,嘗試將一個(gè)物體放在傳感器前面,然后查看測(cè)量結(jié)果。

考慮到這一點(diǎn),您可以使用手動(dòng)卷尺測(cè)量距離并將其與串行監(jiān)視器上的距離進(jìn)行比較。如果要在LCD上顯示,可以按照第二個(gè)接線圖并上傳以下代碼。

  • uploads2ftmp2ff6c8de93-288c-4663-9a29-31c8e61172812fultrasonic5_WCDWvutJmv.jpg
    描述:原理圖
  • ultrasonic_sensor_hc_sr04_with_arduino_and_lcd_code.c
    描述:代碼
  • ultrasonic_sensor_hc_sr04_with_arduino_code_for_ranging_test.c
    描述:代碼

相關(guān)推薦

電子產(chǎn)業(yè)圖譜