【Arduino基础】超声波测距实验

实验现象
在串口监视器实时显示超声波模块所测距离。
理论学习
超声波模块控制口发一个 10US 以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了。
实验准备
arduino主板-1
面包板-1
数据线-1
超声波模块-1
跳线若干
连接电路
引脚说明
在这里插入图片描述
接线说明

超声波模块 Arduino主板
Trig 11
Echo 12
VCC 5V
GND GND

实物连接
在这里插入图片描述
实验代码

// 设定SR04连接的Arduino引脚
const int TrigPin = 11;
const int EchoPin = 12;
unsigned long distance;
void setup()
{   // 初始化串口通信及连接SR04的引脚
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
    // 要检测引脚上输入的脉冲宽度,需要先设置为输入状态
pinMode(EchoPin, INPUT);
   Serial.println("Ultrasonic sensor:");
}
void loop()
{
    // 产生一个10us的高脉冲去触发TrigPin
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
    // 检测脉冲宽度,并计算出距离
//delayMicroseconds(2);
distance = pulseIn(EchoPin, HIGH) / 58.00;
Serial.print(distance);
Serial.print("cm");
Serial.println();
delay(1000);
}

实现效果
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章