恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

STM32项目开源:图书馆环境监测系统(代码+原理图+仿真)

  • 首页
  • 资讯中心
  • /
  • STM32项目开源:图书馆环境监测系统(代码+原理图+仿真)

相关资讯

网络毕设项目|网络毕设|车载通信 V2X 的传播模型和拥塞控制性能分析 2026/9/11 19:53:28
RP2040 PIO深度解析:StateMachines与硬件时序控制 2026/9/11 19:53:28
基于灰狼优化算法整定单区域负荷频率控制PID的Matlab/Simulink仿真 2026/9/11 19:48:28

最新资讯

SQL Server备份与还原实战:从备份方案设计到故障恢复
ClaudeCode桌面端实战:源码构建、配置优化与工程化应用
时间序列预测实战:趋势与季节性分解及ARIMA/SARIMA建模
AlphaControls v16.22 稳定版发布:Delphi VCL 换肤组件库实践指南
嵌入式面试高频考点全解析:从C语言到Linux驱动备战指南
[Video Title]

今日推荐

YOLO烟盒数据集目标检测训练全流程:标注校验、格式转换与模型复现
HuffPost新闻数据集解析:JSONL加载与时间感知分类实战
Budibase 本地开发环境搭建与运行指南:从全新克隆到 dev 栈启动的完整实践

本周热门

超人会飞不算本事:系统稳定依赖清晰规则与边界设计
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
基于CNN的调制信号识别:MATLAB实现时频图分类实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

STM32项目开源:图书馆环境监测系统(代码+原理图+仿真)

发布时间:2026/9/11 19:53:28
STM32项目开源:图书馆环境监测系统(代码+原理图+仿真) 文章目录一、前言二、项目功能简介三、PCB设计四、原理图设计五、程序设计六、包含内容七、资料分享一、前言实物项目成品仿真项目成品哔哩哔哩开源视频链接复制浏览器打开https://www.bilibili.com/video/BV1ETYs6nE2v/?vd_source10da4d04d580bd6b34f7298120737c50资料分享见文末二、项目功能简介【开源】STM32单片机图书馆环境监测系统代码原理图仿真-编号CY26016功能介绍1采用 STM32F103C8T6 最小系统板作为核心控制器。2环境检测功能实时采集图书馆内环境的温湿度、空气质量浓度、光照强度等环境参数。3显示功能OLED 显示屏实时展示各类传感器采集数据、系统工作模式、窗帘状态等信息。4手动模式通过实体按键实现手动控制图书馆设备可手动操控台灯、风扇、窗帘步进电机的开启与关闭。5自动模式系统根据环境参数自动调控设备当温湿度超标时自动开启风扇进行环境调节当空气质量浓度超标时自动打开窗帘并触发蜂鸣器声光报警提醒当环境光照低于预设阈值自动开启补光灯。6语音控制功能支持语音指令可实现模式切换以及台灯、风扇、窗帘的开关控制。7断电记忆功能系统保存各项环境阈值参数设备断电重启后阈值设置不会丢失。8机智云 APP 远程功能手机 APP 可以远程查看图书馆环境传感器实时数据同时远程下发指令控制台灯、风扇、窗帘的开关。三、PCB设计四、原理图设计五、程序设计代码如下#includestm32f10x.h// Device header#includeDelay.h#includeled.h#includeOLED.h#includebeep.h#includedht11.h#includeoleddispaly.h#includekey.h#includeADc.h#includeflash.h#includeusart.h#includemotor_bujin.h#includestdlib.h#includestdio.h#includestring.h#includestdbool.h#defineFLASH_SAVE_ADDR((u32)0x0800F000)//设置FLASH 保存地址(必须为偶数)intmain(void){NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组22位抢占优先级2位响应优先级Delay_Init();OLED_Init();//OLED初始化OLED_Clear();//清屏OLED_ShowCHineseString(byte(4),line3,jiudian1,4);Step_Motor_Init();//步进电机初始化DHT11_Init();//温湿度传感器MQ2_Init();//烟雾传感器uart1_Init(9600);//串口初始化Key_Init();//按键初始化BEEP_Init();//蜂鸣器初始化uart2_Init(9600);CheckNewMcu();// 检查是否是新的单片机是的话清空存储区否则保留Delay_ms(1000);OLED_Clear();//清屏while(1){key_deal();//按键处理函数if(mode0){if(Mod1_Flag1)//阈值设置界面{BEEPBEEP_OFF;OLED_ShowCHineseString(byte(2),line1,State_value,6);//显示中文参数阈值设置OLED_ShowCHineseString(byte(0),line3,wendu,2);OLED_ShowCHineseString(byte(4),line3,yuzhi,3);OLED_ShowNum(80,2,temperature_value,2,8);//显示温度阈值}elseif(Mod1_Flag2)//湿度阈值设置界面{OLED_ShowCHineseString(byte(2),line1,State_value,6);//显示中文参数阈值设置OLED_ShowCHineseString(byte(0),line3,shidu,2);OLED_ShowCHineseString(byte(4),line3,yuzhi,3);OLED_ShowNum(80,2,humidity_value,2,8);//显示湿度阈值}elseif(Mod1_Flag3)//烟雾阈值设置界面{OLED_ShowCHineseString(byte(2),line1,State_value,6);//显示中文参数阈值设置OLED_ShowCHineseString(byte(0),line3,GZ_dis,2);//显示中文光照OLED_ShowCHineseString(byte(4),line3,yuzhi,3);OLED_ShowNum(80,2,light_min,4,8);//显示烟雾阈值}elseif(Mod1_Flag4)//烟雾阈值设置界面{OLED_ShowCHineseString(byte(1),line1,State_value,6);//显示中文参数阈值设置OLED_ShowCHineseString(byte(0),line3,yanwu,2);OLED_ShowCHineseString(byte(4),line3,yuzhi,3);OLED_ShowNum(80,2,MQ2_value,2,8);//显示烟雾阈值}else//主界面{crl_flag1;if(crl_flag11){crl_flag10;OLED_Clear();//清屏}DHT11_Read_Data(temperature,tempd,humidity,humi);//获取温湿度Adc_value(float)Get_Adc_Average(ADC_Channel_1,2)/41.36;//采集烟雾light_value(float)Get_Adc_Average(ADC_Channel_4,2)/1.023;//采集烟雾OLED_ShowCHineseString(byte(0),line1,wendu,2);//显示中文温度OLED_ShowCHineseString(byte(9)-8,line1,shidu,2);//显示中文湿度OLED_ShowCHineseString(byte(0),line3,GZ_dis,2);//显示中文光照OLED_ShowCHineseString(byte(0),line5,yanwu,2);//显示中文烟雾OLED_ShowChar(32,0,:,8);OLED_ShowChar(96,0,:,8);OLED_ShowChar(32,2,:,8);OLED_ShowChar(32,4,:,8);OLED_ShowChar(56,0,C,8);OLED_ShowChar(120,0,%,8);OLED_ShowNum(40,0,temperature,2,8);//显示温度整数OLED_ShowNum(104,0,humidity,2,8);//显示湿度整数OLED_ShowNum(40,2,light_value,4,8);//显示光照OLED_ShowString(80,2,Lux,8);OLED_ShowNum(40,4,Adc_value,2,8);OLED_ShowString(64,4,ppm,8);if(chuangflag1)OLED_ShowCHineseString(byte(10),line7,dakai,2);//打开elseOLED_ShowCHineseString(byte(10),line7,guanbi,2);//关闭OLED_ShowCHineseString(byte(0),line7,mode_value1,4);//自动if(mode0){if(temperaturetemperature_value||humidityhumidity_value)//温湿度和烟雾大于阈值{FengS1;//风扇开}else{FengS0;//风扇关}if(Adc_valueMQ2_value){if(flag_bujin_state0){flag_bujin_foreward1;flag_bujin_reversal0;}chuangflag1;BEEPBEEP_ON;}else{if(flag_bujin_state1){flag_bujin_foreward0;flag_bujin_reversal1;}chuangflag0;BEEPBEEP_OFF;}if(light_valuelight_min)light_led0;//关照明elselight_led1;//开照明}Delay_ms(100);}}else//手动界面{crl_flag11;if(crl_flag1){crl_flag0;OLED_Clear();//清屏}select(Num);OLED_ShowCHineseString(byte(0),line1,chuangliang,3);//显示中文窗帘OLED_ShowCHineseString(byte(0),line3,FenfS,3);//显示中文风扇OLED_ShowCHineseString(byte(0),line5,zhaom,3);//显示中文照明OLED_ShowCHineseString(byte(3),line7,mode_value2,4);//手动模式if(fen_flag){FengS1;//风扇开OLED_ShowCHineseString(byte(7),line3,kai,1);}else{FengS0;//风扇关OLED_ShowCHineseString(byte(7),line3,guan,1);}if(zaom_flag){light_led1;//开照明OLED_ShowCHineseString(byte(7),line5,kai,1);}else{light_led0;//关照明OLED_ShowCHineseString(byte(7),line5,guan,1);}if(CL_flag){if(flag_bujin_state0){flag_bujin_foreward1;flag_bujin_reversal0;}OLED_ShowCHineseString(byte(7),line1,kai,1);}else{if(flag_bujin_state1){flag_bujin_foreward0;flag_bujin_reversal1;}OLED_ShowCHineseString(byte(7),line1,guan,1);}}}}六、包含内容七、资料分享资料获取请查看主页介绍搜索或观看开源视频获取

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号