接线说明
各传感器的GND接arduino板载的GND
各传感器的VCC接arduino板载的5V
雷达的Echo — arduino的2
雷达的Trig — arduino的3
3色LED的R或G或B — arduino的13
源码
# 接aduino的2号和3号引脚,用于发送和接受倒车雷达的信号
const int TrigPin = 2;
const int EchoPin = 3;
# 计算障碍物的距离
float cm;
# 蜂鸣器发出声音的频率
int inteval;
# 接arduino的11号引脚和有源蜂鸣器的信号针脚
#define Buzzer 11
void setup()
{
# 定义串口通信对象,用于调试
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
#arduino板载led灯的针脚,控制灯的亮和灭
pinMode(13, OUTPUT);
pinMode(Buzzer, OUTPUT);
digitalWrite(Buzzer, LOW);
}
void loop()
{
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58;
Serial.print(cm);
Serial.print("cm");
Serial.println();
# 距离障碍物小于10厘米,频繁蜂鸣和闪灯
if (cm < 10)
{
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
inteval = 100;
BuzzerDi();
}
# 距离障碍物大于20厘米且小于40厘米,缓慢蜂鸣和闪灯
else if (cm > 20 && cm < 40)
{
digitalWrite(13, HIGH);
delay(300);
digitalWrite(13, LOW);
inteval = 300;
BuzzerDi();
}
# 距离障碍物大于40厘米,不蜂鸣,灯常亮
else if (cm > 40)
{
digitalWrite(13, HIGH);
delay(10);
digitalWrite(13, LOW);
inteval = 2000;
digitalWrite(Buzzer, HIGH);
BuzzerDi();
}
}
# 蜂鸣器控制函数
void BuzzerDi()
{
digitalWrite(Buzzer, HIGH);
delay(inteval);
digitalWrite(Buzzer, LOW);
}