arduino小车,准备(三):HC-SR04超声波传感器

HC-SR04在小车的各个零件中超声波测距模块在我个人看来功能最神奇,但运行起来也比较复杂。

HC-SR04共有四个接线脚:VCC,GND,trig,echo。其中,VCC接5V电源,GND接地,trig为控制端,echo为接收端。
在这里插入图片描述
VCC和GND给传感器供电。传感器工作时,通过程序控制trig引脚。即给该引脚一个不小于十微秒的高电平,这时超声波模块会自动发出8个40KHz的方波。模块发出方波后echo引脚会自动置高电平直到接收到信号。所以只要源源不断给trig引脚间断且高于十微秒的高电平(程序控制)就可以实时测试距离。
传感器测距
程序实现:

#define Trig 2 //引脚Tring 连接 IO D2
#define Echo 3 //引脚Echo 连接 IO D3 
float cm; //距离变量
float temp;
void setup()
{
	Serial.begin(9600);
	pinMode(Trig,OUTPUT);
	pinMode(Echo,INPUT);
}
void loop()
{
	int distance;
	digitalWrite(Trig,LOW);//先给一段短的低脉冲以确保我们得到干净的高脉冲
	delayMicroseconds(2);
	digitalWrite(Trig,HIGH);
	delayMicroseconds(10);
	digitalWrite(Trig,LOW);
	distance=pulseIn(Echo,HIGH);//读取从发出方波到接收回波的时间间隔
	cm = (duration/2) / 29.1;//根据声速343米每秒计算得出传感器与障碍物之间的距离
	//print是输出你要的内容横排显示
	//println是输出要显示的内容后自动换行
	Serio.print("cm");
	Serio.println(cm);
}

如果HC-SR04没有收到回波,则输出永远不会变低。 如果使用上面的Pulsin然后没有返回echo,程序将挂起1秒,这是Pulsin的默认超时。需要使用timeout参数。HC-SR04测量范围几乎不到10英尺,总路径长度为20英尺,路径时间约为20毫秒,因此将超时设置为大于25英尺或30毫秒的时间。
Pulsin函数说明

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值