超聲波測(cè)距原理:通過(guò)超聲波發(fā)射裝置發(fā)出超聲波不铆,根據(jù)接收器接到超聲波時(shí)的時(shí)間差就可以知道距離蝌焚。
模塊特征
HC-SR04超聲波測(cè)距模塊具有測(cè)距距離精確,能和SRF05,SRF02等超聲波測(cè)距相媲美誓斥,測(cè)量距離 ** 2cm~450cm (小編實(shí)測(cè):10cm~300cm)只洒。
工作原理
1.采用IO觸發(fā)測(cè)距,給至少10us的高電平信號(hào)劳坑。
2.模塊自動(dòng)發(fā)送8個(gè)40KHz的方波毕谴,自動(dòng)檢測(cè)是否有信號(hào)返回。
3.有信號(hào)返回泡垃,通過(guò)IO輸出一高電平析珊,高電平持續(xù)時(shí)間就是超聲波從發(fā)射到返回的時(shí)間
測(cè)試距離=(高電平時(shí)間*聲速(340m/s)/2)
準(zhǔn)備材料
- Arduino Uno *1
- HC-SR04超聲波測(cè)距模塊 *1
- 面包板 *1
- 跳線 *4
模塊接線
HC-SR04 | Arduino | |
---|---|---|
TRIG | -> | 12 |
ECHO | -> | 11 |
VCC | -> | 5V |
GND | -> | GND |
加載庫(kù)文件
到這里https://bitbucket.org/teckel12/arduino-new-ping/downloads下載NewPing_v1.7.zip
,在Arduino IDE中蔑穴,選擇項(xiàng)目
->加載庫(kù)
->添加一個(gè).zip庫(kù)
忠寻,選擇下載好的NewPing_v1.7.zip
文件即可添加成功。
示例程序
#include<NewPing.h>
#define TRIGGER_PIN 12//12端口
#define ECHO_PIN 11//11端口
#define MAX_DISTANCE 200//最大距離是400-500cm存和,我們需要可以設(shè)定200cm
NewPing sonar(TRIGGER_PIN,ECHO_PIN,MAX_DISTANCE);//設(shè)置端口和最大距離
void setup(){
Serial.begin(9600);
}
void loop(){
delay(100);//間隔50ms掃描一次(大約20次/秒).29ms是掃描最短的時(shí)間間隔
unsigned int uS=sonar.ping();//把掃描時(shí)間轉(zhuǎn)化成us
int dis=uS/US_ROUNDTRIP_CM;//轉(zhuǎn)成距離
Serial.print(">>>>>>>>>>>");
Serial.print(uS);
Serial.println("cm")
}
參考文獻(xiàn)
- http://www.voidcn.com/blog/qq5132834/article/p-3347951.html
- http://blog.xuite.net/lwchafter30/blog/328792563-Arduino+%E8%B6%85%E9%9F%B3%E6%B3%A2+%E8%B6%85%E8%81%B2%E6%B3%A2%E6%84%9F%E6%B8%AC%E5%99%A8%E7%9A%84%E5%AF%A6%E4%BD%9C%EF%BC%8C%E4%B8%8D%E8%A6%81%E5%86%8D%E7%94%A8%E5%88%B0%E9%81%8E%E6%99%82%E7%9A%84%E7%AF%84%E4%BE%8B