当前位置: 首页 > news >正文

基于stm32汽车雨刮器控制系统设计

  一.硬件方案


本设计主要由STM32F103C8T6单片机最小系统板+LCD1602液晶显示模块+水流量传感器+雨滴传感器模块+光强检测电路+压力传感器模块+舵机驱动电路+蓝牙模块+电源开关构成;

二.设计功能

  • 采用LCD1602液晶显示屏显示当雨水量、是否有雨、舵机转速、压力值;
  • 通过雨水传感器实时监测是否有雨,自动/手动启动雨刮器(舵机);
  • 水流量传感器检测雨水量大小,自动模式下:根据雨水量大小自动调节雨刮器(舵机)三档转速;采集雨刮器作用于汽车玻璃的压力值,触发阈值进行报警;
  • 按键可手动控制雨刮器三档转速;按键1:模式切换;按键2:设置键;按键3:数值加1/加档;按键4:数值减1/减档;
  • 无线通信连接手机APP,显示信息,手动控制雨刮器开关与三档转速。
  • APP控制指令:“A”:获取传感器数据;“M”:切换控制模式;“B”:切换雨刮器档位;

三.软件设计

        主程序源码

/****************主函数***************/
int main(void){ delay_init();	    	 //延时函数初始化	  uart_init(9600);	 	//串口初始化为9600TIM3_Int_Init(499,7199);//50ms NVIC_Configuration();	  LED_Init();		  		//初始化与LED连接的硬件接口KEY_Init();EXTIX_Init();		//外部中断初始化Adc_Init();motor_Init();Lcd_GPIO_init();  //初始化lcd引脚Lcd_Init();		  //初始化lcd屏幕Lcd_Puts(0,0, "    WELCOME    ");HX711_GPIO_Init();To_Zero(); buzzer = 0; //硬件动作下delay_ms(1000);buzzer = 1; //关闭while(1){		key_handle(key);APP_handle();if(disFlag==1)					//显示{disFlag = 0;	get_weight();  //获取压力数据rain=Get_Adc_Average(9,10); //获取雨滴量if(set==0)display();  //更新显示屏数据t_1s++;if(level>0){if(speed>0)    //计算舵机档位{speed--;}else {if(window_flag==0)motor_open();    //舵机正转else if(window_flag==1)motor_close(); //舵机反转if(level==1)  //档位计算{speed=15;}else if(level==2){speed=7;}else if(level==3){speed=0;}}}if(t_1s>10){t_1s=0;APP_Update();if(weight>setweight){if(buzzer_state==0)buzzer=1;elsebuzzer=0;}else{buzzer=1;}}if(mode==AUTO){calculate_level();  //计算舵机档位}dealLiuliang();//处理数据		}	}											    
}	

链接:https://pan.baidu.com/s/1cEhnSmCRhxPY0NZejNvxLQ 提取码: d9fm

http://www.xdnf.cn/news/1357723.html

相关文章:

  • 普元低代码开发平台:开启企业高效创新新征程
  • SQL Server从入门到项目实践(超值版)读书笔记 24
  • 【C++】 9. vector
  • 线段树相关算法题(2)
  • 3D打印机管理后台与RabbitMQ集成的业务场景
  • Windows Server存储副本智能同步优化方案
  • 【RAGFlow代码详解-4】数据存储层
  • 第四章:大模型(LLM)】07.Prompt工程-(12)其他prompt方法
  • 人工智能之数学基础:离散型随机变量
  • 【中文教材】13. 资本流动与外汇市场
  • Redis 高可用开发指南
  • 支持多种模型,无限AI生图工具来了
  • HTTP 接口调用工具类(OkHttp 版)
  • 华为网路设备学习-30(BGP协议 五)Community、
  • pytorch线性回归(二)
  • elasticsearch 7.x elasticsearch 使用scroll滚动查询中超时问题案例
  • MySQL官方C/C++ 接口入门
  • Ubuntu24.04 安装 Zabbix
  • ComfyUI ZLUDA AMD conda 使用遇到的问题
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十五)网格布局
  • 【229页PPT】某大型制药集团企业数字化转型SAP蓝图设计解决方案(附下载方式)
  • 目标检测数据集 第006期-基于yolo标注格式的汽车事故检测数据集(含免费分享)
  • 网络协议UDP、TCP
  • 管道符在渗透测试与网络安全中的全面应用指南
  • 【信息安全】英飞凌TC3xx安全调试口功能实现(调试口保护)
  • OSG库子动态库和插件等文件介绍
  • AlmaLinux 上 Python 3.6 切换到 Python 3.11
  • 从 JUnit 深入理解 Java 注解与反射机制
  • Flink元空间异常深度解析:从原理到实战调优指南
  • 数字防线:现代企业网络安全运维实战指南