本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于超声波传感器的碰撞检测预警系统

发布时间:2022-08-23
分享到:

基于超声波传感器的碰撞检测预警系统

发布时间:2022-08-23
分享到:

这是一个基于超声波传感器的碰撞检测警告系统。这种系统是汽车行业中发展最快的安全功能。这样的系统使车辆能够识别碰撞的机会,并向驾驶员发出视觉和听觉警告,以便驾驶员采取必要的行动来避免碰撞。该项目理念基于 Arduino 控制器,整个项目将使您很好地了解该系统的工作原理。解释了分步方法,以便您可以制作此系统。硬件连接、管脚信息和Arduino程序都有在本文解释清楚。

第 1 步:所需物品

  • 计算机:这是向控制器写入程序和闪存程序所必需的。此外,您需要安装可在 Arduino 网站下载部分免费获得的 Arduino IDE。
  • 控制器:我使用了 Arduino 微控制器。
  • 传感器:我使用了 HR SC-04 超声波传感器。
  • 压电蜂鸣器:我使用压电蜂鸣器发出声音警告。
  • LED:我使用了两种颜色的 LED - 红色和蓝色。
  • 电线:需要跳线来进行硬件连接。您需要使用所有类型的跳线,例如公对公、母对母和母对公。

第 2 步:连接所有硬件
在第 1 步中收集的硬件,现在通过电线将它们全部连接到控制器。

传感器到控制器引脚信息

该传感器有四个引脚:VCC、Trig、Echo 和 GND。连接:

  • 控制器上的 VCC 引脚到 5V
  • 控制器上的 GND 引脚到 GND
  • 触发引脚到控制器上的引脚 7
  • 回显针到控制器上的针 4

压电蜂鸣器到控制器引脚信息

压电蜂鸣器有两个引脚:

  • 将一个引脚连接到控制器上的引脚 10
  • 将另一个引脚连接到控制器上的 GND

红色 LED 到控制器引脚信息

红色 LED 有两个引脚:

  • 将一个引脚连接到控制器上的引脚 2
  • 将另一个引脚连接到控制器上的 GND

蓝色 LED 到控制器引脚信息

蓝色 LED 有两个引脚:

  • 将一个针脚连接到控制器上的针脚 13
  • 将另一个引脚连接到控制器上的 GND

控制器到计算机的连接信息

你还需要拥有一个 Arduino 的 USB 数据线。使用此数据线,您可以将计算机连接到 Arduino 板。现在启动 Arduino IDE。连接计算机后,需要从菜单中选择板卡和端口。

第 3 步:编写程序
在上一步中,我们为硬件定义了引脚信息。现在,我们将使用该信息来编写程序指令。启动 Arduino IDE 并尝试编写程序。或者您可以直接使用我的程序。

复制此代码时,您必须小心,因为在特定介质上写入时无法粘贴程序中使用的某些字符。

////Collision Warning System////
//// Year 2017 ////
//// Vijendra Kumar////
const int trigPin = 7;
const int echoPin = 4;
int buzz = 10;
long duration;
int distance;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(13, OUTPUT);
pinMode(2, OUTPUT);
Serial.begin(9600);
}
// the loop function runs over and over again forever
void loop()
{
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
if(distance <= 50 && distance >= 20)
{
digitalWrite(13, HIGH);
// digitalWrite(13, LOW);
// turn the LED on (HIGH is the voltage level)
}
else
{
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
// wait for a second
}
if(distance <= 20)
{
digitalWrite(2, HIGH);
tone(buzz, 2000);
delay(100);
noTone(buzz);
delay(100);
tone(buzz, 2000);
delay(100);
noTone(buzz);
delay(100);
tone(buzz, 2000);
delay(100);
noTone(buzz);
tone(buzz, 2000);
delay(100);
noTone(buzz);
delay(100);
}
else
{
digitalWrite(2, LOW); // turn the LED off by making the voltage LOW
// wait for a second
}
}

第 4 步:刷新 Arduino 板
完成所有连接后,我们就可以将程序上传到 Arduino 板上了。请参阅附图以供参考:

第 5 步:系统如何工作
关于这个系统是如何工作的。我定义了三个不同的区域:

  • 区域 1:无警告
  • 区域 2:只有视觉警告(在这个区域,司机必须注意)
  • 区域 3:视觉和听觉警告(驾驶员必须采取必要措施避免碰撞)

第 6 步:测试您的设置
现在整个系统已准备好进行测试,测试完成后就能够尝试使用。

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:vijendra kumar,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论