tag 标签: HC-SR04的原理

相关博文
  • 热度 4
    2023-10-6 08:29
    857 次阅读|
    0 个评论
    HC-SR04是一种超声波测距模块,其工作原理如下: 采用IO口TRIG触发测距,给至少10us的高电平信号。 模块自动发送8个40kHz的方波,自动检测是否有信号返回。 有信号返回时,通过IO口ECHO输出一个高电平信号,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340m/s))/2。 HC-SR04的机械结构包括超声波发射器、接收器与控制电路。它采用一体化设计,可以直接连接到单片机或嵌入式系统的IO口上。 以下是使用Arduino驱动HC-SR04的示例代码: arduino 复制代码 // 定义HC-SR04的IO口 # define TRIGGER_PIN 2 # define ECHO_PIN 3 void setup () { // 初始化IO口 pinMode (TRIGGER_PIN, OUTPUT ); pinMode (ECHO_PIN, INPUT ); Serial . begin ( 9600 ); } void loop () { // 发送超声波信号 digitalWrite (TRIGGER_PIN, LOW ); delayMicroseconds ( 2 ); digitalWrite (TRIGGER_PIN, HIGH ); delayMicroseconds ( 10 ); digitalWrite (TRIGGER_PIN, LOW ); // 接收超声波回传信号并计算距离 long duration = pulseIn (ECHO_PIN, HIGH ); float distance = (duration * 0.034 ) / 2 ; // 输出距离信息 Serial . print ( "Distance: " ); Serial . print (distance); Serial . println ( " cm" ); // 延时一段时间再进行下一次测距 delay ( 500 ); } 需要注意的是,在使用HC-SR04时,应尽可能避免超声波发射器与接收器之间的障碍物,以保证测距的准确性。同时,也要注意HC-SR04的测距范围和精度等参数,以选择合适的超声波测距模块。