arduino与hcsr04_HC-SR04超声波模块的Arduino代码

这篇博客介绍了如何利用Arduino和HC-SR04超声波模块进行高精度距离测量。文章详细阐述了模块的技术参数、接线方式和工作原理,并提供了完整的Arduino代码示例,实现当检测距离超过50厘米时点亮LED灯的功能。
摘要由CSDN通过智能技术生成

今天入手了HC-SR04超声波模块、飞思卡尔三轴加速器、人体红外热释传感器。

先来介绍HC-SR04超声波模块:

1、本模块性能稳定,测度距离精确:

能和国外的SRF05,SRF02等超声波测距模块相媲美。模块高精度,盲区(2cm)超近,稳定的测距是此产品成功走向市场的有力根据!

2、主要技术参数:

1)使用电压:DC5V

2)静态电流:小于2mA

3)电平输出:高5V

4)电平输出:底0V

5)感应角度:不大于15度

6)探测距离:2cm-450cm

7)高精度:可达0.3cm

3.接线方式:

VCC、trig(控制端)、 echo(接收端)、 GND

4.使用方法:

一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了~~

5.模块工作原理:

(1)采用IO触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是

超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;

Arduino代码:

// Trig接Arduino板的Digital 5口,触发测距;Echo接Digital 4口,接收距离信号。

int inputPin=4; // 定义超声波信号接收接口

int outputPin=5; // 定义超声波信号发出接口

int ledpin=13;

void setup()

{

Serial.begin(9600);

pinMode(ledpin,OUTPUT);

pinMode(inputPin, INPUT);

pinMode(outputPin, OUTPUT);

}

void loop()

{

digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平2μs

delayMicroseconds(2);

digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs

delayMicroseconds(10);

digitalWrite(outputPin, LOW); // 保持发出超声波信号接口低电平

int distance = pulseIn(inputPin, HIGH); // 读出脉冲时间

distance= distance/58; // 将脉冲时间转化为距离(单位:厘米)

Serial.println(distance); //输出距离值

delay(50);

if (distance >=50)

{//如果距离大于50厘米小灯亮起

digitalWrite(ledpin,HIGH);

}//如果距离小于50厘米小灯熄灭

else

digitalWrite(ledpin,LOW);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值