首页 > 其他分享 >基于arduino单片机汽车智能电子防碰撞装置设计

基于arduino单片机汽车智能电子防碰撞装置设计

时间:2024-05-25 12:29:03浏览次数:30  
标签:arduino 碰撞 Arduino 系统 单片机 设计 单元

**单片机设计介绍,基于arduino单片机汽车智能电子防碰撞装置设计

文章目录

一 概要

  基于Arduino单片机汽车智能电子防碰撞装置设计概要如下:

一、引言

随着汽车保有量的不断增加,道路安全成为公众关注的焦点。为减少交通事故,特别是在车辆碰撞方面的事故,开发智能电子防碰撞装置变得尤为重要。本设计采用Arduino单片机作为核心控制器,结合传感技术、单片机技术和其他辅助设备,构建了一个能够自动发现可能与汽车发生碰撞的车辆、行人或其他障碍物体,并发出警报或采取制动等防碰撞措施的智能装置。

二、系统组成

Arduino单片机:作为系统的核心控制单元,负责数据的采集、处理以及控制信号的输出。
测距模块:
激光测距模块:用于汽车前进时工作,精确测量前方一定范围内的障碍物距离。
超声波测距模块:用于汽车倒车时工作,确保在倒车过程中也能有效探测障碍物。
控制计算单元:接收来自测距模块的数据,结合车辆行驶速度等信息,进行综合分析处理,判断是否存在碰撞风险。
显示单元:可选的组成部分,用于实时显示车辆与障碍物的距离、速度等信息。
报警单元:当检测到碰撞风险时,通过声光等方式提醒驾驶员。
执行单元:包括制动系统接口等,当判断即将发生碰撞时,可以主动启动制动系统以避免碰撞。
三、工作原理

数据采集:测距模块实时测量车辆与前方障碍物的距离,并将数据传输给Arduino单片机。
数据分析:Arduino单片机根据接收到的距离数据,结合车辆行驶速度等信息,进行碰撞风险评估。
防碰撞措施:
如果判断存在碰撞风险,但风险较低,则通过报警单元提醒驾驶员。
如果判断即将发生碰撞,则通过执行单元启动制动系统,主动避免碰撞。
四、系统特点

高精度测距:采用激光和超声波测距技术,确保对障碍物距离的精确测量。
实时响应:系统能够实时检测并响应碰撞风险,确保在危险情况下迅速采取措施。
智能化控制:Arduino单片机结合传感技术和控制算法,实现智能化的防碰撞控制。
易于扩展:系统可根据需要增加其他传感器和控制设备,实现更多功能。
五、总结

基于Arduino单片机的汽车智能电子防碰撞装置设计,充分利用了Arduino单片机的强大功能和传感技术的优势,实现了对车辆周围环境的实时监测和碰撞风险的智能评估。该系统具有高精度、实时响应和智能化控制等特点,为提升道路安全提供了有效手段。

二、功能设计

ARDUINO汽车电子防碰撞智能装置设计项目要求:

(1)利用传感技术、单片机技术,防止汽车发生碰撞的一种智能装置。它能够自动发现可能与汽车发生碰撞的车辆、行人、或其他障碍物体,发出警报或同时采取制动或规避等措施,以避免碰撞的发生。

(2)设计出以单片机为控制核心的自动控制系统总电路。编制单片机的应用程序。

(3)该系统由测距模块、控制计算单元、显示单元、报警单元、执行单元等组成。其中测距模块包括汽车前进时工作的激光测距模块和汽车倒车时工作的超声波测距模块。两者分别通过各自的通讯电路与控制单元相连,可在汽车前进后退等多种工况对汽车周边障碍物进行全方位监测,并把汽车与障碍物距离传递至控制单元,控制单元通过连接的执行单元,报警单元等进行声光报警,主动制动等防碰撞功能的执行.

设计思路

设计思路
文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;

比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。

————————————————

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————

原理图

在这里插入图片描述

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
在这里插入图片描述

————————————————

在这里插入图片描述

六、 文章目录

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25

标签:arduino,碰撞,Arduino,系统,单片机,设计,单元
From: https://blog.csdn.net/QQ2193276455/article/details/139195564

相关文章

  • 单片机HC32系列IO模拟I2C 延时调试记录
    一. SysTick_Config和delay冲突因为 SysTick_Config 被用于设置SysTick为操作系统计时,而 delay 函数又使用了SysTick来实现延时,导致两者对SysTick的配置不一致。导致 SysTick_Config无法再次进入SysTick_IRQHandler()函数。 解决方法:将delay改为for循环延时。delay1......
  • 应广单片机应用之--滚码
     在些应用场合,每个单片机需要有不同的地址,比如2.4G通信.应广单片机内部没有EEPROM,那么怎么解决每个单片机有不同的地址/ID呢?滚码就是一个解决方式.先写好代码,然后在烧录的时候可以设置一个初始值和滚动步长.,在初始值的基础上,每烧录一个单片机,码字按步长增加.这样就可以在......
  • 51单片机:PCA模块的PWM模式
    1、PWM功能引脚切换 2、配置PCA控制寄存器 3、配置PCA模式寄存器,选择时钟源 4、计数寄存器清零5、配置PCA模块模式模式控制寄存器6、配置PCA模块PWM模式控制寄存器7、配置比较值8、控制寄存器配置CR开始计数以6位PWM为例计数值CL[5:0]与CCAPnL[5:0]比较,小于输出低......
  • DS1302时钟芯片使用51单片机
    51单片机使用DS1302实现时钟功能调试过程中出现了很多情况,LCD1602显示的数据和写入的数据不一样;秒不是1秒+1,而是过了近2秒才+1,而且是不连续,中家缺少一些数据不显示,用示波器看波形也是正常的,没有显示在LCD1602的波形,在示波器数据中是存在的。后来发现是DS1302_Read_Byte中出现了问......
  • Unity物体之间碰撞检测的方法
    检测碰撞有两种方式,一种是利用碰撞器,另外一种就是触发器。碰撞器的种类:1.StaticCollider静态碰撞器指的是相互碰撞的两个物体没有附加刚体而只附加了Collider的游戏对象。这类对象在碰撞时会保持静止,发生碰撞时不会触发任何的方法函数。 2.RigidbodyCollider刚体碰撞器......
  • 在友晶DE10-Lite开发板实现8051单片机
    在友晶DE10-Lite开发板实现8051单片机1. 移植过程利用FPGA片内资源构建51系统。软核来自https://www.oreganosystems.at/。还需要添加rom、ram和ramx。rom用来放51单片机的程序,即编译后的.hex文件。ram用来运行51单片机程序。时钟由PLLIP生成20MHz的时钟信号。分配管脚,编译配......
  • HTML5画布-小球碰撞
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`HTML5画布-小球碰撞日期:2017-7-18阿珏HTML浏览:2465次评论:2条html5是万维网的核心语言、标准通用标记语言下的一......
  • AT89S52单片机寻址时未用到的地址线同时设置为‘1’或‘0’的原因
    AT89S52单片机寻址时未用到的地址线同时设置为‘1’或‘0’的原因在AT89S52单片机或其他类似微控制器中,未用到的地址线需要设置为同为0或同为1的原因主要与以下几个方面有关:1.确定性和稳定性确保未用到的地址线设置为同一电平(全为0或全为1)可以避免这些未使用的引脚在悬空状态......
  • 51单片机AD转换-PCF8591
    #include<reg52.h>#include<intrins.h>#defineDATAOUTPUTP0unsignedcharcodenum[]="0123456789ABCDEF";sbitSDA=P2^0;sbitSCL=P2^1;sbitLED=P2^2;sbitRS=P2^4;sbitRW=P2^5;sbitEN=P2^6;//unsignedcharcode......
  • mBlock & Arduino(9)舵机(Servo motor)控制
    舵机(Servomotor)英文常简称Servo,中文也有人称伺服机,由控制电路、齿轮、直流马达等组成,可使用〈mBlock&Arduino(4)利用PWM模拟类比讯号〉中谈过的PWM技术来控制舵机转动角度,像Plotclock就应用了三个舵机,以手臂在白板上绘制出目前的时间。舵机控制原理舵机的基本原理是接受......