友情提示:380元/半年,儿童学编程,就上码丁实验室。
产品介绍
超声波测距模块是用来测量距离的一种产品,通过发送和就接收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。
HC-SR04模块特点:HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。
基本工作原理:
(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送8个40Khz的方波,自动检测是否有高电平返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。
引脚功能:
引脚 |
功能 |
VCC |
电源正 |
GND |
电源地 |
Trig |
触发信号输入 |
Echo |
回响信号输出 |
电气参数:
电气参数 |
HC-SR04超声波模块 |
工作电压 |
DC5V |
工作电流 |
15mA |
工作频率 |
40kHz |
最远射程 |
4m |
最近射程 |
2cm |
测量角度 |
15度 |
输入触发信号 |
10uS的TTL脉冲 |
输出回响信号 |
输出TTL电平信号,与射程成比例 |
规格尺寸 |
45*20*15mm |
实验器件及连线
■ 超声波模块:1个
■ 多彩面包板实验跳绳:若干
程序代码
米思齐代码:
Arduino代码:
const int trig = 8; // 触发信号
const int echo = 9; // 反馈信号
//初始化
void setup() {
pinMode(echo, INPUT);
pinMode(trig, OUTPUT);
//触发端口设置为输出,反馈端口设置为输入
Serial.begin(9600);
}
//主循环
void loop() {
long IntervalTime=0; //定义一个时间变量
while(1){
digitalWrite(trig, 1);//置高电平
delayMicroseconds(15);//延时15us
digitalWrite(trig, 0);//设为低电平
IntervalTime=pulseIn(echo, HIGH);//用自带的函数采样反馈的高电平的宽度,单位us
float S=IntervalTime/58.00; //使用浮点计算出距离,单位cm
Serial.println(S);//通过串口输出距离数值
S=0;IntervalTime=0;//对应的数值清零。
delay(500);//延时间隔决定采样的频率,根据实际需要变换参数
}
}
实验结论
打开串口监视器,能够看出如果超声波测试模块发射口正前方有东西时,将会反射回声波,检测出距离。
转自公众号:
29号造物吧