想知道怎么用4個引腳就能測出3厘米到3米的距離,而且精度還控制在±3毫米?聽起來像賣點,其實這就是HC-SR04超聲波傳感器在Arduino圈子里被用到爛大街的原因:夠簡單,也夠靠譜。
HC-SR04靠的是40kHz的超聲波,跟蝙蝠、海豚用的回聲定位一個路子。你給它Trig引腳一個10微秒的脈沖,它就朝外發射超聲波,等聲波撞到東西彈回來,Echo引腳會持續保持高電平,直到接收到回波。剩下的就是一道小學算術題:距離 = (時間 × 聲速) ÷ 2。除以2是因為聲波走了個來回。
![]()
這塊小板子工作電壓5V,電流大概15mA,測量角度小于15度,尺寸也就45mm×20mm×15mm。最讓人舒坦的是引腳只有4個:VCC接5V,Trig發觸發脈沖,Echo讀回波脈寬,GND接地。拆過智能垃圾桶、倒車雷達或者液位檢測小玩意兒的人,打開殼子大概率能見到它的身影。
和光學的紅外測距傳感器不一樣,HC-SR04用超聲波,不挑光線,大太陽底下或者全黑環境里表現一致,所以不光在機器人避障里吃得開,連一些車庫門控制、停車場車位檢測都用它。當然缺點也有——碰到吸音材料或者表面傾斜角度太大的物體,回波就可能收不回來,這時候讀數會飄。
Arduino這邊接起來更是幾分鐘的事:VCC→5V,GND→GND,Trig和Echo各占一個數字口,代碼里發脈沖、算脈寬,幾行就能把測距跑通。很多教程上來就給一堆函數庫,其實不用,直接用pulseIn()讀Echo高電平持續時間,套上上面那個公式,串口監視器里立馬出距離,夠新手上手第一課用了。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.