打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Arduino使用HC-SR04超声波测距

Arduino使用HC-SR04超声波测距

对于距离测试的方法有很多种,而使用超声波来测距是很常见的,下面使用到的超声波模块HC-SR04,可测量范围为2-400cm,下面是其照片如下:


其有4根PIN,分别是VCC、Trig、Echo、GND,将其分别接到Arduino UNO R3板卡的5V、Digital PIN7、Digital PIN8、GND。
下面是相应的源码:

int echoPin = 8;int trigPin = 7;int ledPin = 13;void setup() {    pinMode(ledPin, OUTPUT);    pinMode(trigPin, OUTPUT);    pinMode(echoPin, INPUT);}void loop() {    long duration, cm;    digitalWrite(trigPin, LOW);    delayMicroseconds(2);    digitalWrite(trigPin, HIGH);    delayMicroseconds(10);    digitalWrite(trigPin, LOW);    duration = pulseIn(echoPin, HIGH);    cm = msToCm(duration);    if (cm > 20) {        digitalWrite(ledPin, LOW);    } else {        digitalWrite(ledPin, HIGH);    }    delay(500);}long msToCm(long ms) {    return ms / 29 / 2;}

从源码可以看到,每次都从Trig引脚发送一个高电平方波脉冲,然后使用pluseIn()函数读取Echo引脚检测到高电平需要多久,再将该时间值进行转换,即可得到距离值,声音在空气的传播速度为340m/s,那么相当于1ms传播29cm,而上面测试得到的是来回往返的时间差,故而还要减半处理。当得到的距离值超过20cm时,会将UNO板上的L灯灭掉,如果小于该值则亮灯。
参考网址:
http://tieba.baidu.com/p/2105282413
http://www.instructables.com/id/Simple-Arduino-and-HC-SR04-Example/
http://www.instructables.com/id/Simple-Arduino-and-HC-SR04-Example/
http://blog.oscarliang.net/how-to-use-ultra-sonic-sensor-arduino-hc-sr04/

转载请注明:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Arduino学习笔记A2 
Arduino Uno + HC
arduino的超声波测距和pulseIn()函数的使用说明
智能硬件Arduino 101实践之超声波测距
图形化编程娱乐于教,Kittenblock arduino实例,超声波测距
Arduino制作“小雷达”的详细步骤
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服