第十课--Microduino 超声波测距/zh
Language | English |
---|
目的本教程将和大家分享下使用Microduino超声波测距模块控制蜂鸣器,通过简单的程序来作为超声波控制的一个教学例程,希望大家多多批评。 测试对象是SRF-04超声波传感器,有四个脚:5v电源脚(Vcc),触发控制端(Trig),接收端(Echo),地端(GND) 对于超声波的相关技术文件大家了在网上搜,资源很多,只要多花几分钟看看,都可以掌握的,这里就不多说了。 设备
超声波传感器 基本介绍: 超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面。 组成部分: 超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。 原理图程序const int TrigPin = 3;
const int EchoPin = 2;
float cm;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
pinMode(8,OUTPUT);
}
void loop()
{
digitalWrite(8, LOW);
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
cm = (int(cm * 100.0)) / 100.0; //保留两位小数
if (cm>=2 && cm<=10)
digitalWrite(8, HIGH);
}
调试步骤一:代码复制到IDE中编译 步骤二:编译不出错的话开始连接电路,如下图: 步骤三:连接好后,运行代码。 第四部:把手置于超声波前边,听蜂鸣器的声音 结果超声波传感器的前方如果有物体,并且物体的距离在大于2厘米,小于10厘米的范围内的情况下,测试蜂鸣器会响起,快自己用手试试。大家可基于这个做个超声波防盗器。 视频 |