说明
当到达距离时,灯亮起。
使用材料:
- Arduino UNO*1
- 超声波模块*1
- 面包板*1
- LED*1
- 220Ω电阻*1
- 杜邦线若干
原理图:
实物图:
代码:
int Echo = A5;
int Trig = A4;
int ledPin = 12;
int Distance = 0;
void setup()
{
Serial.begin(9600); // 初始化串口
pinMode(ledPin, OUTPUT); // 定义LED
//初始化超声波引脚
pinMode(Echo, INPUT); // 定义超声波输入脚
pinMode(Trig, OUTPUT); // 定义超声波输出脚
}
void Distance_test() // 量出前方距离
{
digitalWrite(Trig, LOW); // 给触发脚低电平2μs
delayMicroseconds(2);
digitalWrite(Trig, HIGH); // 给触发脚高电平10μs
delayMicroseconds(10);
digitalWrite(Trig, LOW); // 持续给触发脚低电
float Fdistance = pulseIn(Echo, HIGH); // 读取高电平时间(单位:微秒)
Fdistance= Fdistance/58; //为什么除以58等于厘米, Y米=(X秒*344)/2
// X秒=( 2*Y米)/344 ==》X秒=0.0058*Y米 ==》厘米=微秒/58
Distance = Fdistance;
}
void loop()
{
Distance_test(); // 读取Distance_test()函数
if((2<Distance)&(Distance<30)) // 当大于2cm小于30cm的时候执行以下命令
{
digitalWrite(ledPin, HIGH); // LED灯亮起
Serial.println("欢迎回来QuKin");
}
else if(Distance>=30) // 当大于等于30cm的时候执行以下命令
{
digitalWrite(ledPin, LOW); // LED灯熄灭
Serial.println("您已离开");
}
}
PS:可能有一些代码与大神,如果侵犯,请联系我。
上一章(Arduino 超声波控制风扇(一))
下一章(Arduino 超声波控制风扇(三))