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

stm32温控大棚测控系统(CO2+温湿度+光照)+仿真

 一.硬件方案


主要由STM32F103C8T6单片机最小系统板+OLED12864显示模块+二氧化碳传感器模块+温湿度传感器模块+光强检测电路+LED灯光+风扇电路+蜂鸣器电路+电源开关构成;

仿真图如下:

二.设计功能

  • 采集环境温湿度、光照强度、二氧化碳浓度;
  • OLED显示屏显示信息,按键设置温湿度、光照强度、二氧化碳监测阈值;
  • 当触发阈值时,报警提醒;温度超过阈值时,启动风扇自动降温通风;光强强度低于阈值时,LED灯补光;
  • 按键可设置阈值:按键1:模式切换;按键2:设置;按键3:自加1或控制风扇;按键4:自减1或控制灯光;
  • 无线通信连接APP,远程显示数据信息。
  • 连接蓝牙,APP可控制风扇、LED灯开关,获取系统数据;

三.软件设计

        主程序源码

 int main(void){vu8 key=0;	delay_init();	    	 //延时函数初始化	  LED_Init();		  		//初始化与LED连接的硬件接口BEEP_Init();         	//初始化蜂鸣器端口KEY_Init();         	//初始化与按键连接的硬件接口uart_init(9600);usart2_Init(9600);TIM2_Int_Init(99,7199);//10Khz的计数频率,计数到5000为500ms  Adc_Init();          //光强采集ADC初始化FAN_Init();        //风扇初始化OLED_Init();       //显示屏初始化OLED_ColorTurn(0);//0正常显示,1 反色显示OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示display_refresh(); 	//刷新显示屏Delay_ms(500);while(1){key=KEY_Scan(1);	//得到键值KEY_Handle(key);APP_Handle();if(W_100ms>=99)    {W_100ms=0;if(refresh>0)APP_refresh();}if(T_100ms>=49){T_100ms = 0;//采集烟雾浓度值light =  Get_Adc_Average(9,10);getDHT11Data();  //获取湿度数据if(set==0)					 //set为0,说明现在不是设置状态{display_refresh();	 //显示AD数值和报警值if(mode==1){if(light<setLight){LEDR=0;}else{LEDR=1;}}//报警阈值判断if(Temp>setTemp){warn_flag=1;}else if(Humi>setHumi){warn_flag=2;}else if(light<setLight){warn_flag=3;}else if(co2>setco2){warn_flag=4;}else{warn_flag=0;}//蜂鸣器报警控制if(warn_flag>0){if(GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_15)==1){BEEP=0;}elseBEEP=1;}elseBEEP=1;if(mode==1){if(warn_flag==1){if(FAN_state==0)printf("风扇已开启\r\n");FAN=1;}else{FAN=0;if(FAN_state==1)printf("风扇已关闭\r\n");}}}}}	 
}

链接:https://pan.baidu.com/s/1-Ar1mLe-1qtdt4VCcN3gBg 提取码: 6yfz

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

相关文章:

  • Linux->多线程2
  • 56 C++ 现代C++编程艺术5-万能引用
  • Wagtail CRX 简介
  • 详解无监督学习的核心原理
  • vscode配置remote-ssh进行容器内开发
  • Linux服务测试题(DNS,NFS,DHCP,HTTP)
  • 微服务-21.网关路由-路由属性
  • 零基础玩转STM32:深入理解ARM Cortex-M内核与寄存器编程
  • 采摘机器人设计cad+三维图+设计说明书
  • LangChain RAG系统开发基础学习之文档切分
  • 24.JobGraph 的生成与提交流程解析
  • 阿里发布Qoder:颠覆软件开发体验的AI编程平台
  • [机械结构设计-32]:机械加工中,3D图评审OK,没有问题,后续的主要风险有哪些
  • MRO and mixin in Python Django
  • 单片机外设(七)RTC时间获取
  • 七日杀 单机+联机 送修改器(7 Days to Die)免安装中文版
  • 复杂姿态误报率↓78%!陌讯多模态算法在跌倒检测的医疗落地
  • Windows版Cyberfox下载及替代浏览器推荐
  • Goang开源库之go-circuitbreaker
  • Highcharts推出OEM许可证中国区正式上线:赋能企业级嵌入式数据可视化解决方案
  • 2025.8.18-2025.8.24第34周:有内耗有挣扎
  • STM32低功耗模式
  • kafka基本思路即概念
  • 大数据管理与应用系列丛书《数据挖掘》读书笔记之集成学习(1)
  • 胸部X光片数据集:健康及肺炎2类,14k+图像
  • 牛市阶段投资指南
  • ROS 与 Ubuntu 版本对应关系
  • ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.24.96‘ (10060)
  • 【嵌入式】【搜集】状态机、状态迁移图及状态模式材料
  • VSCode远程开发实战:SSH连接服务器详解(附仙宫云平台示例)