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

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

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

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

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

虛擬商品不可退

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

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

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

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

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

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

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

2.超聲波傳感器HC-SR04

3.公對公跳線

4.面包板

為了產(chǎn)生超聲波,我們需要將觸發(fā)引腳設(shè)置為高狀態(tài)10 s 。這將發(fā)出一個8周期的聲音脈沖,將以速度聲音行進(jìn),并且將在回音針中接收。回音針將輸出聲波傳播的時間(以微秒為單位)。

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

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

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

腳步 :

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

2.打開Arduino IDE軟件并寫下您的代碼,或下載下面的代碼并打開它

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

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

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

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

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

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

  • 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è)圖譜