基于Arduino的碰撞检测预警系统
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 2 |
关于这个项目
这是一个基于 Arduino 的碰撞检测警告系统。这种系统是汽车行业发展最快的安全功能。这样的系统使车辆能够识别碰撞的机会,并向驾驶员发出视觉和音频警告,以便驾驶员采取必要的行动来避免碰撞。这个项目的想法是基于一个 Arduino 控制器,整个项目会让你很好地理解这个系统的工作原理。解释了分步方法,以便您可以制作此系统。硬件连接、管脚信息和Arduino程序讲解清楚。
第 1 步:请收集以下物品
- 计算机:这是将程序和闪存程序写入控制器所必需的。此外,您需要安装 Arduino IDE,可在 Arduino 网站下载部分免费获得。
- 控制器:我使用了 Arduino 微控制器。这可以从亚马逊等在线卖家那里获得。
- 传感器:我使用了 HR SC-04 超声波传感器。
- 压电蜂鸣器:我使用压电蜂鸣器发出声音警告。
- LED:我使用了两种颜色的 LED - 红色和蓝色。
- 电线:需要跳线来进行硬件连接。您需要使用所有类型的跳线,例如公-公、母-母和母-公。
第 2 步:连接所有硬件
第一步收集的硬件,现在通过电线将它们全部连接到控制器。
传感器到控制器引脚信息
传感器有四个引脚:VCC、Trig、Echo 和 GND。连接:
- 控制器上的 VCC 引脚至 5V
- 控制器上的 GND 引脚到 GND
- 将引脚触发到控制器上的引脚 7
- 将引脚回显到控制器上的引脚 4
压电蜂鸣器到控制器引脚信息
压电蜂鸣器有两个引脚:
- 将一个引脚连接到控制器上的引脚 10
- 将另一个引脚连接到控制器上的 GND
红色 LED 显示控制器引脚信息
红色 LED 有两个引脚:
- 将一个引脚连接到控制器上的引脚 2
- 将另一个引脚连接到控制器上的 GND
蓝色 LED 到控制器引脚信息
蓝色 LED 有两个引脚:
- 将一个引脚连接到控制器上的引脚 13
- 将另一个引脚连接到控制器上的 GND
控制器到计算机的连接信息
您有一根 USB 数据线,可以通过购买 Arduino 获得。使用此数据线,您可以将计算机连接到 Arduino 板。现在启动 Arduino IDE。连接电脑后,必须从菜单中选择板卡和端口。请参阅随附的屏幕截图以获得帮助。
第三步:编写程序
在上一步中,我们定义了硬件的引脚信息。现在,我们将使用该信息来编写程序指令。启动Arduino IDE并尝试自己编写程序。否则你可以直接使用我的程序或下载附件中的.ino格式文件。
复制此代码时,您必须小心,因为在特定介质上写入时无法粘贴程序中使用的某些字符。最好下载.ino格式的文件。
////碰撞警告系统//////// 2017年//////// Vijendra Kumar////const int trigPin =7;const int echoPin =4;int buzz =10;long duration;int distance;//当你按下reset或给boardvoid setup() {//将数字引脚13初始化为输出时,设置函数运行一次。pinMode(trigPin, OUTPUT);pinMode(echoPin, INPUT);pinMode(13, OUTPUT);pinMode(2, OUTPUT);Serial.begin(9600);}// 循环函数一遍遍地运行永远void loop(){// 清除trigPindigitalWrite(trigPin, LOW);delayMicroseconds(2);// 将trigPin 设置为HIGH 状态10 微秒digitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);// 读取echoPin,返回以微秒为单位的声波传播时间=pulseIn(echoPin, HIGH);// 计算 distancedistance=duration*0.034/2;// 在串口监视器上打印距离if(distance <=50 &&distance>=20){digitalWrite(13, HIGH);// digitalWrite(13, LOW);// 打开 LED (HIGH 是电压 l evel)}else{digitalWrite(13, LOW); // 通过降低电压来关闭 LED // 等待一秒钟}if(distance <=20){digitalWrite(2, HIGH);tone(buzz, 2000);delay(100);noTone(buzz);延迟(100);音(嗡嗡声,2000);延迟(100);无音(嗡嗡声);延迟(100);音调(嗡嗡声,2000);延迟(100);无音(嗡嗡声);音调(嗡嗡声,2000) ;延迟(100);noTone(嗡嗡声);延迟(100);}其他{digitalWrite(2,低); // 通过降低电压来关闭 LED // 等待一秒钟}}
第 4 步:刷入 Arduino 板
完成所有连接后,我们准备将程序上传到 Arduino 板。请参阅所附图片以供参考。
第 5 步:该系统的工作原理
让我为您解释一下这个系统是如何工作的。我定义了三个不同的区域:
- 区域 1:无警告
- Zone 2:仅视觉警告(在此区域,驾驶员必须注意)
- 区域 3:视觉和听觉警告(驾驶员必须采取必要措施避免碰撞)
第 6 步:测试您的设置
现在整个系统已准备好进行测试。请观看上面的视频以了解如何检查系统是否正常工作。
代码
- 基于Arduino的碰撞检测警告系统
基于Arduino的碰撞检测警告系统Arduino
您可以将此代码用于此系统////碰撞警告系统//// //// 2017 年//// //// Vijendra Kumar//// const int trigPin =7;const int echoPin =4;int buzz =10;long duration;int distance;// 当你按下复位键或给 boardvoid setup() { // 将数字引脚 13 初始化为输出时,设置函数运行一次。 pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(13,输出); pinMode(2,输出); Serial.begin(9600);}// 循环函数一遍遍地运行forevervoid loop() {// 清除trigPindigitalWrite(trigPin, LOW);delayMicroseconds(2);// 将trigPin 设置为HIGH 状态10 微secondsdigitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);//读取echoPin,以微秒为单位返回声波传播时间duration =pulseIn(echoPin, HIGH);//计算距离distance=duration*0.034 /2;// 在串行监视器上打印距离if(distance <=50 &&distance>=20){ digitalWrite(13, HIGH); // 数字写入(13,低); // 打开 LED (HIGH 是电压电平)}else{ digitalWrite(13, LOW); // 通过降低电压来关闭 LED // 等待一秒钟 }if(distance <=20){ digitalWrite(2, HIGH);音调(嗡嗡声,2000);延迟(100); noTone(嗡嗡声);延迟(100);音调(嗡嗡声,2000);延迟(100); noTone(嗡嗡声);延迟(100);音调(嗡嗡声,2000);延迟(100); noTone(嗡嗡声);音调(嗡嗡声,2000);延迟(100); noTone(嗡嗡声);延迟(100);}其他{digitalWrite(2,低); // 通过降低电压来关闭 LED // 等待一秒钟 }}
定制零件和外壳
请使用此引脚信息。您可以根据自己的密码更改密码,但在这种情况下,您也必须更改密码。示意图
请按照此原理图将硬件连接到板和引脚编号。制造工艺