本站搬迁,新网址https://via-dean.com即将涵盖更多内容,敬请访问

Arduino汽车速度探测器

 二维码 92
发表时间:2019-01-11 05:01

在这个项目中,我将向您展示如何使用Arduino UNO和IR传感器设计和构建简单的车速检测器电路。这款Arduino汽车速度检测器项目可用于检测移动汽车的速度。

Arduino-Car-Speed-Detector-Image-2.jpg

介绍

当局制定了关于在道路上驾驶汽车的明确规定。在任何国家,最常见的规则是在某些道路上限速,即如果您的车速超过此限制,您将违反法律。

为了检测行驶中的汽车的速度,巡逻人员通常依赖于雷达技术或激光雷达技术的手持式喷枪。这是一个繁琐的过程,因为警察必须手动检查每辆车的超速行驶。

如果汽车速度检测是自动进行的,该怎么办?在Arduino汽车速度探测器项目中设计了一种简单的车辆速度自动检测功能,您可以将系统放置在一个位置,无需人工干预即可立即查看结果。


项目原则

红外传感器是检测汽车速度的项目的主要部分。实际上,您可以通过多种方式实现红外传感器的设置,但在本项目中,我使用了两个反射型红外传感器并将它们分开10厘米。

当行驶的汽车到达第一个传感器时,IR传感器被激活。从此刻开始,计时器启动并继续保持时间,直到汽车到达第二个红外传感器。

通过模拟两个传感器之间的距离为5米,您可以计算出汽车从红外传感器1传输到红外传感器2的速度,因为您已经知道行程时间。

所有计算和数据采集均由Arduino完成,最终结果显示在16X2 LCD模块上。


Arduino汽车速度检测器电路图

下图显示了Arduino汽车速度检测器项目的电路图。

Arduino-Car-Speed-Detector-Circuit-Diagram.jpg

需要的组件

Arduino ONE

红外传感器x 2

16X2 LCD显示模块

面包板

连接线

电源


红外传感器简介

首先,我使用了两个数字红外传感器,它由红外发射器(IR LED),红外接收器(光电二极管),比较器IC和一些支持组件组成。红外发射器和接收器对并排放置,以便它们形成反射型红外传感器。


在这种类型中,红外发射器连续发射红外辐射,如果传感器前面没有物体,红外辐射都不会被反射回红外接收器。

Interfacing-IR-Sensor-with-Raspberry-Pi-IR-Sensor.jpg


但是如果传感器前面有物体,一些红外辐射会撞击物体并被反射回来。这种反射辐射落在IR接收器上,这意味着传感器已检测到物体。

一些红外传感器可以选择同时产生模拟和数字输出,但我使用的模块只有数字输出,即检测到物体时输出为高电平,没有物体时输出为低电平。


电路设计

第一个红外传感器的数字输出连接到Arduino的引脚11,第二个红外传感器的数字输出连接到Arduino的第12个引脚。两个IR传感器都配有必要的电源连接。

为了查看车速详情,我使用了16×2 LCD。其数据引脚即D4-D7连接到数字I / O引脚5-2.LCD的RS和E引脚连接到Arduino的引脚7和6。其余的连接在电路图中提到。

Arduino-Car-Speed-Detector-Image-3.jpg


代码

#include <LiquidCrystal.h>

const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

int sen1=11;

int sen2=12;

unsigned long t1=0;

unsigned long t2=0;

float velocity;

void setup()

{

 lcd.begin(16, 2);

 pinMode(sen1,INPUT);

 pinMode(sen2,INPUT);

 Serial.begin(9600);

 lcd.setCursor(0,0);

 lcd.print(" Speed Detector ");

}


void loop()

{

 while(digitalRead(sen1));

 while(digitalRead(sen1)==0);

 t1=millis();

 while(digitalRead(sen2));

 t2=millis();

 velocity=t2-t1;

 velocity=velocity/1000;//convert millisecond to second

 velocity=(5.0/velocity);//v=d/t

 velocity=velocity*3600;//multiply by seconds per hr

 velocity=velocity/1000;//division by meters per Km

 for(int i=5;i>0;i

 {

  lcd.setCursor(3,1);

  lcd.print(velocity);

  lcd.print(" Km/hr   ");

  delay(500);

  lcd.setCursor(3,1);

  lcd.print("            ");

  delay(500);

 }  


}


如何操作Arduino汽车速度探测器

  • 根据电路图进行所有必要的连接,并将代码上传到Arduino。

  • 将两个红外传感器放在面包板的边缘,使它们之间的距离约为10厘米。

  • 通过使用您的手或玩具车模拟传感器前面的汽车运动。

  • Arduino计算速度并在16×2 LCD上显示结果。


应用

有助于在没有任何人为参与的情况下捕获车辆的速度。

该项目还可以用作交通记录器,交通计数器和其他一些与交通相关的应用程序。



文章分类: 平台创客Arduino
分享到:
联系电话:18112932078
微信号:Via_Dean
邮箱:kiyo84001@163.com
会员登录
登录
我的资料
留言
回到顶部