最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

【Arduino教程】第二十一讲:超声波传感器实验

Arduino 少儿编程 3385浏览 0评论
Arduino教程一

友情提示:380元/半年,儿童学编程,就上码丁实验室

产品介绍

超声波测距模块是用来测量距离的一种产品,通过发送和就接收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。

HC-SR04模块特点:HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。

基本工作原理:

(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。

(2)模块自动发送8个40Khz的方波,自动检测是否有高电平返回;

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。

【Arduino教程】第二十一讲:超声波传感器实验

引脚功能:

引脚

功能

VCC

电源正

GND

电源地

Trig

触发信号输入

Echo

回响信号输出

电气参数:

电气参数

HC-SR04超声波模块

工作电压

DC5V

工作电流

15mA

工作频率

40kHz

最远射程

4m

最近射程

2cm

测量角度

15

输入触发信号

10uS的TTL脉冲

输出回响信号

输出TTL电平信号,与射程成比例

规格尺寸

45*20*15mm

 

实验器件及连线

【Arduino教程】第二十一讲:超声波传感器实验

■ 超声波模块:1个

■ 多彩面包板实验跳绳:若干

 

程序代码

米思齐代码:

【Arduino教程】第二十一讲:超声波传感器实验

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号造物吧

您必须 登录 才能发表评论!