硬件编写_基于STM32单片机的汽车急控优秀的系统

news/2025/10/23 13:38:29/文章来源:https://www.cnblogs.com/lxjshuju/p/19160315

一.框架概述

  1. 控制核心:采用STM32单片机作为主控制核心,负责系统的逻辑控制与数据处理。
  2. 距离检测模块:集成HCSR04超声波模块,经过STM32实时监测车辆间的距离。
  3. 电机驱动模块:通过STM32控制电机的转速和方向,自动调节电机运行状态以保持安全距离。
  4. 警报模块:体系配备警报模块,能根据检测到的数据触发安全报警,保障行车安全。
  5. 显示模块:配备显示屏,实时展示超声波模块采集的车辆间距离和框架状态信息。
  6. 安全距离设定按键:提供按键接口,用户可设定安全距离,系统将根据设定自动调整电机转速。
  7. 自动避障特性:基于超声波模块的数据和电机驱动,搭建车辆自动避障,提升驾驶安全性。
  8. 软件设计:应用Keil uVision进行程序编写,涵盖主程序、超声波数据采集、电机控制、按键扫描、显示和报警等模块的设计与实现。
  9. 硬件设计:基于Altium Designer设计电路原理图,确保硬件与软件的有效配合和系统稳定性。
  10. 系统调试:测试和调试各部分程序功能,包括硬件焊接、电路板通电测试和按键功能测试,以确保平台各项功能正常运行。在这里插入图片描述

二.电路设计

电路图使用Altium Designer进行设计,首要组成如下:

  1. 主控单元:采用STM32F103C8T6单片机作为系统的主控制核心,最小系统电路是整个电路的基础。
  2. 障碍物检测:使用HC-SR04超声波测距模块进行障碍物检测,通过Echo(接收脚)和Trig(发射脚)与单片机的GPIO脚连接。
  3. 电机驱动:使用L298N直流电机驱动模块进行电机驱动,模块的IN1、IN2、IN3、IN4以及ENA、ENB连接至单片机的GPIO口,OUT脚则连接电机的两个极。
  4. 数据显示:通过0.96寸OLED12864显示屏进行素材显示,采用IIC总线形式与单片机通信。
  5. 阈值设定:使用独立按键进行阈值设定,按键一端接地,另一端连接至单片机的GPIO口。
  6. 报警模块:配置有源蜂鸣器用于报警,采用NPN三极管进行驱动。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#include "sys.h"
#include "delay.h"
#include "math.h"
#include "ultrasonsic.h"
#include "key.h"
#include "pid_pwm.h"
#include "OLED_I2C.h"
#include "Control_Report_To_Police.h"
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init();	    	 //延时函数初始化
Usart1_Init(9600);
OLED_Init();
OLED_CLS();
KEY1_Init();
Beep_init();
Servor_GPIO_Config_Time6_Init();
Hcsr04_Timer2_Init();
OLED_ShowCN(32,2,0);
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
OLED_CLS();
OLED_ShowCN(0,0,10);
OLED_ShowCN(0+16,0,11);
OLED_ShowCN(0,2,40);
OLED_ShowCN(16,2,41);
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}

24-32-53

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/944198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

升级windows 11 25h2的步骤(xjl456852原创)

我自己电脑是windows11 的23h2,经过多次尝试,多次修改终于升级成功,遇到很多问题,现在记录一下。 环境准备 首先卸载电脑上的安全软件,如360,火绒,lock my pc之类的. 其他开机启动软件禁用启动项. 环境检查 通过文…

Prompt Optimizer 提示词优化器安装启用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【转载】cap,pcap文件中的ipv4数据包转成ipv6数据包

来源:https://blog.csdn.net/mincheat/article/details/78180656 cap , pcap文件结构(解析),网上多得是,这里就不写了。 写这个,主要是工作中正好需要大量的ipv6数据包,但是ipv6数据包不太好找,干脆就直接写个…

华为FusionCompute超融合上传ISO镜像方法教程

华为FusionCompute超融合上传ISO镜像方法教程 1、登录后点资源池,点存储2、点文件3、点上传文件4、选择镜像,点开始上传。5、等待上传完成,就可以选择华为FusionCompute超融合里面的ISO镜像了

QMPlay 编译

编译环境介绍 win11,msys2,vscode, cmake 首先下载相关依赖; 本文使用的ffmpeg5.1,qt6,libass。 安装libass pacman -S mingw-w64-x86_64-libass # 64位系统安装Ninja pacman -S mingw-w64-x86_64-ninja # 64位系…

2025 氧气/氮气/工业/氩气/高纯/液态/气体公司推荐榜:港骅 5 星领跑,黄骅及周边全品类供应,这些细分领域服务商更懂生产需求

随着工业生产对气体供应的稳定性、品类适配性要求提升,优质工业气体服务商成为保障生产效率的关键。这份结合供应能力、区域覆盖与用户口碑的推荐榜中,黄骅市港骅工业气体销售有限公司以 5 星实力稳居榜首,其余品牌…

Linux 命令 - 教程

Linux 命令 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Co…

详细介绍:如何实现多人协同文档编辑器

详细介绍:如何实现多人协同文档编辑器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

Java基础全面复盘:从入门到进阶的核心要点梳理

引言 Java作为一门经典的面向对象编程语言,自1995年诞生以来,始终保持着旺盛的生命力。无论你是刚刚接触Java的初学者,还是希望巩固基础的开发者,进行一次全面的基础复盘都大有裨益。本文将系统性地梳理Java核心知…

【STM32H743IIT6 系列】通过 LTDC接口驱动的 TFTLCD(RGB屏)显示

前言 SDRAM 配置 在开始此篇文章之前,首先要把 SDRAM 配置好,可以看我的上一篇文章:【STM32H743IIT6 系列】将外部SDRAM作为内部RAM使用的超简单方法没有将 SDRAM 作为内部 RAM 使用的朋友可以选择性看上面这篇文章…

10.22 —— 2024icpc沈阳D,E,B,M

D. Dot Product Game 首先将对两个数组的操作转变为对一个数组的操作:可以发现,对 \(a\) 的某个子数组循环左移 \(r\) 位 与 对 \(b\) 的某个子数组循环右移 \(r\) 位是等价的,因此修改某个情形,只需要对其中一个序…

AGV 系统的内部物流与装配智能化方案设计:应用场景与核心优势详解 - 实践

AGV 系统的内部物流与装配智能化方案设计:应用场景与核心优势详解 - 实践2025-10-23 12:55 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: …

报表过滤框设置默认组织提示死循环

原因:首次赋值当前组织时,BeforeSetItemValueByNumber中过滤范围权限,导致赋值失败,组织字段重新为空,又触发值更新,再次赋值。 解决:实体服务规则中不勾选“值更新”,即值更新时不触发。

第九章-NOP Team dmz-C

第九章-NOP Team dmz-C 1、攻击者通过攻击DMZ-B机器发现有密钥可以免密登录到DMZ-C机器里,,然后攻击者上传了一个挖矿程序,请将该挖矿程序的名称提交, 我们使用DMZ-B下载的私钥进行登录查看当前pytho版本启用交互式…

高级语言设计第二次作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/13570 学号:102500309 姓名:郑睿杰 一、课后练习:(具体思路都在代…

UiPath License

UiPath Lincense: 22年之前,一个独立的OC license官价是2万美金。 22年到25年, UiPath推行了一套Flex的license类型,特点是OC可以免费安装使用,但各个独立的产品license的价格做了上调,比如attened robot, unatte…

一些变换

这篇文章主要是做一个总结和铺垫。 我们做物理题时,常常要解一些复杂的微分方程(便便),但是我们对方程做一些变换往往会使微分方程变成线性方程,这是好的,于是专门研究一些变换是重要的。 一些记号 \[\begin{ali…

ANOMALYCLIP

对象无关的零样本异常检测 创新点有三个:(1)对象不可知文本提示关注图像的异常/正常,而不是对象语义;(2)文本编码器调优来优化原始文本空间;(3)DPAM(V-V)通过增强局部视觉语义来提高分割性能。 论文主要用…

vue项目浏览器内存不断增加

项目中用的jeecg-boot,排除其他内存泄漏的原因,最后发现将右侧点击组件Contextmenu改为v-if显示,内存就降下去了

基于伪距差分定位技术实现方案

基于伪距差分定位技术实现方案,包含原理详解与C++代码实现,结合差分修正与最小二乘解算算法一、定位原理详解 1.1 差分定位基本原理 核心原理:基准站已知精确坐标,计算伪距观测值与真实几何距离的差值(Δρ) 通过…