硬件开发_基于STM32单片机的汽车急控系统

一.系统概述

  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

相关推荐
安生生申22 分钟前
uni-app 连接 JDY-31 蓝牙串口模块实践
c语言·前端·javascript·stm32·单片机·嵌入式硬件·uni-app
熙芯XiChip25 分钟前
CPLD核心原理与结构
单片机
番茄灭世神28 分钟前
Vscode开发/调试ARM单片机最新教程
c语言·arm开发·vscode·stm32·嵌入式·gd32
于小猿Sup11 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
chao18984412 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
黎阳之光14 小时前
黎阳之光:以视频孪生重构智慧医院信息化,打造高标项目核心竞争力
大数据·人工智能·物联网·算法·数字孪生
不会武功的火柴14 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
Oflycomm15 小时前
模组开发不迷路:Wi-Fi 7、蓝牙6.0、5G RedCap、PLC双模怎么选?这份选型指南建议收藏
物联网·5g·iot·6g·蓝牙模组·wifi模组·世界电信和信息社会日大会
猫猫的小茶馆15 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12315 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设