STM32 Proteus仿真汽车紧急刹车自动双闪装置车速检测-0005

STM32 Proteus仿真汽车紧急刹车自动双闪装置车速检测-0005

Proteus仿真小实验:

STM32 Proteus仿真汽车紧急刹车自动双闪装置车速检测-0005

功能:

硬件组成:STM32F103R6单片机 +LCD1602显示器+1个红灯(刹车灯)+1个黄灯(双闪灯)+1个按键(模拟刹车)

自动双闪的意义:急刹车时车速迅速从很高的速度下降至很低的速度。如果车后面有其他车辆没有来的急反应就有追尾的风险。所以自动刹车就是在车辆速度快速降低后,自动开启黄色双闪灯以此提醒后车避让。

1.仿真中使用信号发生器模拟车速,单片机测量的脉冲信号频率即为车辆速度。

2.使用一个按键模拟刹车踏板,点击按键后开始刹车。此后如果刹车一直按下并且车速降低至刹车前70%则认为紧急刹车然后黄色LED灯闪烁。

3.不满足紧急刹车情况则不双闪。

4.任何时候只要刹车则红色LED灯(刹车灯)亮。

有功能视频哦:

可以哔哩哔哩B站搜索UP主“单片机仿真汇”。在其空间中搜索关键词“自动双闪”即可找到对应详细功能视频和介绍。

电路图:

部分源代码:

//按键扫描和处理

K1 = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11);

//刹车

if(K1==0)//满足说明 此时正在刹车

{

if(diyici==1)//第一次为1说明之前没有进入刹车(意味着要保存刹车前的速度) 0 所以已经进入刹车

{

//保存一下刹车速度

shachesudu = dangqiansudu;

//

diyici=0;//0 已经进入刹车

}

else

{

//这里开始检测

//如果当前速度小于 刹车速度的0.7,则黄灯亮,否则黄灯关闭

if(dangqiansudu<(shachesudu*0.7))

{

jjj++;

if(jjj==1)

{

//打开黄灯

GPIO_ResetBits(GPIOB, GPIO_Pin_13);

}

else

{

jjj = 0;

//关闭黄灯

GPIO_SetBits(GPIOB, GPIO_Pin_13);

}

}

}

//打开红灯

GPIO_ResetBits(GPIOB, GPIO_Pin_12);

}

else

{

diyici=1;//第一次为1说明之前没有进入刹车(意味着要保存刹车前的速度) 0 所以已经进入刹车

shachesudu = 0;//退出刹车状态,刹车速度要 //报警判断

//如果当前速度 超过设定转速,则报警

if(dangqiansudu>shedingudu)

{

//打开

FMQ = 0;

}

else

{

//关闭

FMQ = 1; }

}

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值