79-基于stm32单片机酒精浓度测量疲劳驾驶检测系统源程序、原理图、元件清单实物制作教程

功能介绍:采用stm32单片机作为主控CPU,采用MQ3传感器采集酒精浓度,采用红外接触传感器感应驾驶员上车时间,OLED显示酒精浓度和驾驶时间,当酒精浓度超过阈值(程序可调),蜂鸣器报警,当驾驶时间大于设置值(程序可调),蜂鸣器进行提醒,用来提醒疲劳驾驶,程序中文注释,新手容易看懂,文末有分享链接;

下面是实物演示视频和相关实物图片

79-基于stm32单片机酒精浓度测量疲劳驾驶检测系统(程序+原理图+元件清单全套资料)

下面是程序部分展示(程序有中文注释,新手容易看懂)

程序部分展示:(有中文注释,新手容易看懂)void  GPIOB_init(void) {    GPIO_InitTypeDef GPIO_InitStructure;    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//GPIO B  时钟打开  //==PB5 输出    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//指定管脚    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//  做PWM    //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//做led控制    GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;//指定管脚LED背光    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//  做输出      GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB}int main(){
  TIMER2_init(999,71);    SysTick_Init(72);  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中断优先级分组 分2组  USART1_Init(9600);  LED_Init();  OLED_Init();  OLED_ColorTurn(0);//0正常显示,1 反色显示  OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示  OLED_Clear();  DHT11_Init ();KEY_Init();  beep1=1;    Adc_Init();    while(1)  {
          OLED_Refresh();          adcx=Get_Adc_Average(ADC_Channel_0,10);//读取酒精值        temp=(float)adcx/4096*3.3;    temp=temp*100-100;     if(temp<0) temp=0;    temp1=temp;
    OLED_ShowString(1,20,"MQ3:",8,1);//显示酒精值
OLED_ShowNum(35,20,temp,3,8,1);OLED_ShowString(60,20,"mg/L",8,1);if(DHT11_Data .temp_int>29||DHT11_Data .humi_int>90||temp>20||num>60) beep1=0;//超过阈值蜂鸣器报警else beep1=1;
if(K1==0) num++;//检测驾驶时间OLED_ShowString(0,40,"TIME:",8,1);//显示时间OLED_ShowNum(35,40,num,4,8,1);
  }}

程序打开办法:特别注意:下载资料包以后一定要先解压!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。 

原理图采用【AD】altium designer打开,文件中有安装包

下面是资料包里面包含的相关文件展示

 百度云盘资料下载链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值