資料介紹
描述
當(dāng)您嘗試讓超聲波傳感器工作時(shí),您可能已經(jīng)發(fā)現(xiàn) HCSR04 的精度非常低。這個(gè)項(xiàng)目是關(guān)于將其測(cè)量升級(jí)到穩(wěn)定和準(zhǔn)確的程度。如果您現(xiàn)在認(rèn)為這將是一個(gè)非常艱巨的項(xiàng)目,并且使用了許多復(fù)雜的方法,那么我現(xiàn)在想說(shuō):它不會(huì)。本教程將展示一些每個(gè)人都應(yīng)該使用的簡(jiǎn)單技巧,但不幸的是,沒(méi)有人使用它們。是時(shí)候改變它了!
入門(mén)
如果你知道 hcsr04 是如何工作的并且使用了一些基本的代碼,你可以跳過(guò)這部分。
超聲波傳感器的工作原理。
超聲波傳感器使用聲納來(lái)確定與物體的距離。這是發(fā)生的事情:
- 發(fā)射器(觸發(fā)引腳)發(fā)送信號(hào):高頻聲音。
- 當(dāng)信號(hào)找到一個(gè)物體時(shí),它會(huì)被反射并……
- …發(fā)射器(回聲針)接收它。
信號(hào)傳輸和接收之間的時(shí)間使我們能夠計(jì)算到物體的距離。這是可能的,因?yàn)槲覀冎缆曇粼诳諝庵械乃俣取?/font>
HC-SR04 超聲波傳感器引腳
引腳
- VCC:+5VDC
- 觸發(fā):觸發(fā)(輸入)
- 回聲:回聲(輸出)
- 接地:接地
標(biāo)準(zhǔn)代碼:
代碼的主要部分是一個(gè)函數(shù),它測(cè)量觸發(fā)引腳上的信號(hào)到 Echo 引腳上的信號(hào)變低的那一刻的時(shí)間。
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read the signal from the sensor: a HIGH pulse whose
// duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
//With measured time we calculate the distance in cm:
cm = (duration/2) * 0.034;
一切似乎都很好!但它不起作用。
標(biāo)準(zhǔn)代碼有什么問(wèn)題?
在收集了一些數(shù)據(jù)后,我們用它繪制了一個(gè)圖表。它顯示了聲音從傳感器傳播到 30 厘米距離和向后的障礙物所花費(fèi)的時(shí)間。
如您所見(jiàn),這絕對(duì)是一團(tuán)糟。您可能會(huì)說(shuō)這只是傳感器的不準(zhǔn)確,但我找到了解決方案。問(wèn)題不在于傳感器,而在于 Arduino。當(dāng) Arduino 工作時(shí),它會(huì)執(zhí)行您編寫(xiě)的代碼,但不僅如此。有時(shí)處理器會(huì)收到一個(gè)信號(hào)來(lái)凍結(jié)你的代碼并制作其他東西,然后,他會(huì)恢復(fù)他凍結(jié)的東西。這種情況稱為處理中斷,在 Arduino 上很常見(jiàn)。問(wèn)題是中斷凍結(jié)了我們的計(jì)時(shí)器(PulseIn 函數(shù)),因此我們的讀數(shù)被弄亂了。解決這個(gè)問(wèn)題很容易。標(biāo)準(zhǔn)代碼中只有兩行:
noInterrupts();
duration = pulseIn(echoPin, HIGH);
interrupts();
在沒(méi)有中斷的情況下,我們的讀數(shù)看起來(lái)要好得多,但我們?nèi)匀豢吹揭恍┳x數(shù)比正常值高 25μs,很少甚至比正常讀數(shù)高 50μs。那么為什么會(huì)這樣呢?也許這就是傳感器的精度?仍然沒(méi)有。
25μs 峰值。
傳感器中的聲音頻率為 40 kHz,返回時(shí)的聲波被傳感器記錄下來(lái)。聲波發(fā)射時(shí)間為 200μs,這意味著它包含 8 個(gè)波峰。有時(shí)第一個(gè)返回的峰值不足以觸發(fā)傳感器。
返回聲波,第一個(gè)峰值未記錄。用示波器制作的圖表。
如何解決這個(gè)問(wèn)題?
它不像中斷那么容易,而且我沒(méi)有確切的代碼來(lái)修復(fù)它。只是關(guān)于該校正應(yīng)該如何工作的想法。第一個(gè)想法是對(duì)大量測(cè)量值取平均值,但這意味著我們將始終得到比實(shí)際結(jié)果更高的結(jié)果。第二個(gè)選項(xiàng)是將結(jié)果分成兩組并計(jì)算較低的平均值。因此,首先計(jì)算所有測(cè)量值的平均值,然后取其下結(jié)果的平均值。
HCSR04的真實(shí)精度。
如果是這種情況,HCSR04 會(huì)等待波返回并每 3μs 檢查一次。問(wèn)題是這意味著我們測(cè)量的時(shí)間比實(shí)際時(shí)間高出多達(dá) 3μs。如果不更換傳感器,您將不會(huì)對(duì)此做任何事情。但是,3μs 仍然意味著 1.02mm 的精度。
- Zephyr RTOS和HC-SR04超聲波傳感器開(kāi)源
- HC-SR04超聲波傳感器開(kāi)源分享
- 超聲波傳感器開(kāi)源
- 基于超聲波傳感器的測(cè)距系統(tǒng) 2次下載
- 連接超聲波傳感器的開(kāi)源項(xiàng)目
- 與Arduino Uno接口超聲波傳感器開(kāi)源
- 超聲波傳感器測(cè)量距離開(kāi)源分享
- 超聲波距離傳感器技術(shù)原理與應(yīng)用 24次下載
- 超聲波傳感器使用說(shuō)明書(shū) 22次下載
- 【超聲波傳感器】超聲波傳感器使用問(wèn)題詳解! 23次下載
- 基于FPGA的超聲波傳感器前端電路設(shè)計(jì) 14次下載
- Arduino應(yīng)用_Arduino連接超聲波傳感器測(cè)距 148次下載
- 超聲波傳感器概述 128次下載
- 在線測(cè)量酵母濃度的超聲波傳感器
- 在線測(cè)量酵母濃度的超聲波傳感器
- 超聲波傳感器如何接線_超聲波傳感器測(cè)距 1.6w次閱讀
- 超聲波傳感器構(gòu)成的超聲波加濕器電路 7637次閱讀
- 超聲波傳感器的優(yōu)勢(shì)有哪些 4176次閱讀
- 超聲波傳感器的應(yīng)用 1673次閱讀
- hc-sr04超聲波傳感器的原理和應(yīng)用 3.1w次閱讀
- 超聲波傳感器的使用注意事項(xiàng)說(shuō)明 2904次閱讀
- dfrobotSRF02超聲波傳感器介紹 1593次閱讀
- 邦納T30UX系列溫度補(bǔ)償超聲波傳感器解析 2125次閱讀
- 超聲波傳感器的優(yōu)勢(shì)特點(diǎn)及應(yīng)用介紹 3728次閱讀
- 超聲波液位傳感器安裝及維護(hù)保養(yǎng) 7489次閱讀
- 超聲波傳感器與紅外線傳感器對(duì)比誰(shuí)更好 1.1w次閱讀
- 超聲波傳感器內(nèi)部結(jié)構(gòu)及特點(diǎn) 1.7w次閱讀
- 超聲波傳感器及工作原理解析 9648次閱讀
- 超聲波傳感器有哪些用途_可以應(yīng)用到什么地方 3.6w次閱讀
- 超聲波傳感器的原理及應(yīng)用 1.1w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多