一:功能介绍

1、实物组成部分:采用stm32f103c8t6核心板+红外传感器+压力传感器+蓝牙HC05模块+ULN2003驱动步进电机+OLED显示屏+独立按键;

2、通过步进电机控制车窗打开(正转)和关闭(反转);

3、可以通过按键手动打开和关闭车窗;

4、当车窗关闭的时候,红外传感器检测到有异物,会自动停止关窗(防夹手功能);

5、当压力传感器检测到车窗压力值大于阈值(此值程序可调),自动关闭窗户(防盗功能);

6、OLED可以显示压力值,并且可以通过蓝牙模块实时上传压力数据;

二:实物演示视频

275-基于stm32单片机汽车门窗防夹系统(程序+原理图+元器件清单)

三:程序代码预览(采用keil5编写,使用的C语言,程序有中文注释,新手容易看懂)

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

图片

图片

    void Moto_Init(void){	 GPIO_InitTypeDef GPIO_InitStructure;	 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);	 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_12 | GPIO_Pin_13 |GPIO_Pin_14 |GPIO_Pin_15 ;//引脚按着INT1顺序接就行了	 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;	 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 GPIO_Init(GPIOB,&GPIO_InitStructure);	 GPIO_ResetBits(GPIOB,GPIO_Pin_12 | GPIO_Pin_13 |GPIO_Pin_14 |GPIO_Pin_15 );}void MotoRcw(void)  //反转{      int  i;      for(i=0;i<4;i++)      {          GPIO_Write(GPIOB,phasecw[i]);          delay_ms(3);      }  }void MotoRccw(void)  //正转{      int i;      for(i=0;i<4;i++)      {          GPIO_Write(GPIOB,phaseccw[i]);          delay_ms(3);      }  }void MotorStop(void) //停止{      GPIO_Write(GPIOB,0x0000);  }//控制电机正转还是反转某个角度//direction方向,1为正转,0为反转//angle角度,可为0-360具有实际意义void Motor_Ctrl_Direction_Angle(int direction, int angle){	u16 j;if(direction == 1)	{for(j=0;j<64*angle/45;j++) 		{if(REN==0) MotorStop();//停止else MotoRccw();//正转					}		 MotorStop();//停止  }else	{for(j=0;j<64*angle/45;j++) 		{if(REN==0) MotorStop();//停止else MotoRcw();//反转		}		 MotorStop();//停止	}}int main(void){	u16 adcx;int temp;Hardware_Init();				//初始化外围硬件OLED_Init();OLED_ColorTurn(0);OLED_DisplayTurn(0);	OLED_ShowString(0,0,"YL:",24); 		OLED_ShowString(90,0,"G",24);  OLED_Refresh();KEY_Init();LED_Init();Adc_Init();Moto_Init();delay_init();	LED=Q1=Q2=1;while(1)	{			adcx=Get_Adc_Average(ADC_Channel_1,10);		temp=3300-(float)adcx/4096*3300;  	if(temp<5) temp=0;OLED_ShowNum(38,0,temp*3,4,24);OLED_Refresh();if(temp*3>1000) Motor_Ctrl_Direction_Angle(0,360);if(KEY0==0){Motor_Ctrl_Direction_Angle(1,360);}if(KEY1==0){Motor_Ctrl_Direction_Angle(0,360);}printf("YL=%d G\r\n",temp*3); delay_ms(100);	}}

    四:原理图展示(源文件采用Altium Designer打开,公众号有安装包)

    图片

    图片

    五:实物图展示

    图片

    图片

    六:元器件清单展示

    图片

    7:资料清单展示(文件中包含的相关资料)

    图片

    配套实物资料下载

    Logo

    智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

    更多推荐