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

069、STM32项目分享:智能衣柜系统(升级版)

目录

一、项目成品图片

二、项目功能简介

1.主要器件组成

2.功能详解介绍

三、项目原理图设计

四、项目PCB硬件设计

项目PCB图

五、项目程序设计

六、项目实验效果 ​编辑

七、项目包含内容

一、项目成品图片

哔哩哔哩视频链接:

https://www.bilibili.com/video/BV1nAzVBKEM1/?spm_id_from=333.1387.upload.video_card.click

资料分享看文章末尾

二、项目功能简介

1.主要器件组成

本设计由STM32F103C8T6单片机最小系统+1.44寸TFT屏显示模块+snr9813语音识别模块+SG90舵机电路+UNL2003步进电机电路+DHT11温湿度电路+TTP223电容触摸电路+风扇电路+照明电路+除湿电路+紫外线杀菌电路+按键电路+电源电路组成。

2.功能详解

(1)环境采集:DHT11温湿度传感器采集衣柜温度和湿度情况。
(2)屏幕显示:TFT屏实时显示衣柜里面的温度、湿度、除湿开关、恒温开关、紫外线开关、照明开关、衣柜门开关、衣架状态。
(3)触摸开关:当手触摸电容触摸模块时,衣柜开门(舵机打开);当手再次触摸电容触摸模块时,衣柜关门(舵机关闭)。
(4)照明控制:当门的状态是关闭时,照明灯关闭;当门的状态是开启时照明灯开闭
(5)智能消毒:当门的状态是关闭时,紫外线灯打开;当门的状态是开启时紫外线灯关闭
(6)衣架控制:按键K1、K2,K1按键按下控制衣架上升,K2按键按下控制衣架下降。
(7)阈值设置:可通过app设置温度、湿度阈值
(8)衣柜恒温:当温度湿度过高时。风扇开启使衣柜处于恒温状态。
(9)衣柜除湿:当温度湿度过高时,除湿继电器开启
(10)穿衣推荐:根据当前温度推荐穿衣
(11)语音控制:通过语音识别控制衣柜开启关闭和衣架上升下降
(12)远程控制:通过WIFI连接手机APP,APP可以查看当前环境信息数据,可调节阈值范围

三、项目原理图设计

四、项目PCB硬件设计

五、项目程序设计

#include "stm32f10x.h" #include "delay.h" #include "usart.h" #include "USART2/usart2.h" #include "usart3.h" #include "timer.h" #include "menu.h" #include "key.h" #include "modules.h" #include "DHT11/dht11.h" #include "led.h" #include "uln2003.h" #include "relay.h" #include "voice.h" #include "fan.h" #include "sg90.h" #include "touch.h" #include "TFT.h" /****************破晓电子工作室******************* *** 破晓单片机 *** 项目:STM32智能衣柜系统(升级版) *** BILIBILI:破晓单片机 *** 小红书:破晓单片机 *** 授权IP:破晓单片机 *** 淘宝:破晓单片机 *** 淘宝:破晓电子 *** 版本:V01.01 *** MCU:STM32F103C8T6 ******************破晓单片机***********************/ //显示界面 CaiDanJieGouTi KeyTab[SIZE_CAIDAN]= { {0 ,0 ,0 ,0 ,0 ,Main_Menu0}, {1 ,1 ,1 ,1 ,1 ,Main_Menu1}, {2 ,2 ,2 ,2 ,2 ,Main_Menu2}, {3 ,3 ,3 ,3 ,3 ,Main_Menu3}, {4 ,4 ,4 ,4 ,4 ,Main_Menu4}, {5 ,5 ,5 ,5 ,5 ,Main_Menu5}, {6 ,6 ,6 ,6 ,6 ,Main_Menu6}, {7 ,7 ,7 ,7 ,7 ,Main_Menu7}, {8 ,8 ,8 ,8 ,8 ,Main_Menu8}, } ; //传感器变量声明 typedef struct { u8 temp;// u8 humi;// uint16_t touch;// uint16_t yuyin; }SensorModulesValue; typedef struct { uint8_t tempTV;//阈值 uint8_t humiTV;//阈值 uint16_t chushiTV;//阈值 }SensorThresholdValue; typedef struct { uint8_t LEDFlag; uint8_t FANFlag; uint8_t RELAYFlag; uint8_t RELAY1Flag; uint8_t MOTORFlag; uint8_t SG90Flag; }DriveFlag; int main(void) { delay_init(); TIM3_Int_Init(9,7199);//定时器初始化 OLEDGUI_Config(); //OLED OLEDGUI_DispString(30,16,"Init...",16,1); key_Init();//按键初始化 Adc_Init();//Adc初始化 beep_Init();//beep初始化 DHT11_Init();//DHT11初始化 TOUCH_Init();//TOUCH初始化 led_Init();//led初始化 FAN_Init();//FAN初始化 relay_Init();//relay初始化 SG90_Init();//SG90初始化 ULN2003_IO_Init//ULN2003初始化 SensorThresholdSet();//阈值初始化 uart1_init(9600); delay_ms(100); uart2_init(9600); delay_ms(100); memset((uint8_t *)&currentDataPoint, 0, sizeof(dataPoint_t)); gizwitsInit(); OLEDGUI_Clear(); //OLED清屏 while(1) { //获取按键值 key_scan(); //进入菜单界面显示处理数据 GetKeylnput(&Keystatus); //获取传感器数据 SensorDataGet(); //数据上传 currentDataPoint.valuetemp=SensorData.temp; currentDataPoint.valuehumi=SensorData.humi; currentDataPoint.valueFAN=DriveFlagData.FANFlag; currentDataPoint.valueRELAY=DriveFlagData.RELAYFlag; currentDataPoint.valueRELAY1=DriveFlagData.RELAY1Flag; currentDataPoint.valueLED=DriveFlagData.LEDFlag; currentDataPoint.valueSG90=DriveFlagData.SG90Flag; currentDataPoint.valueMOTOR=DriveFlagData.MOTORFlag; gizwitsHandle((dataPoint_t *)&currentDataPoint); //数据下发 Sensorthreshold.tempTV=currentDataPoint.valueTempyz; Sensorthreshold.humiTV=currentDataPoint.valueHumiyz; delay_ms(100); } }

六、项目实验效果 ​

七、项目包含内容

http://www.rkmt.cn/news/1531571.html

相关文章:

  • 论文创新点像挤牙膏?青年教师力荐这几个一键生成论文工具
  • 避开这些坑!在ArduPilot飞控与Java地面站通信中,MAVLink消息收发常见问题排查指南
  • 嵌入式网络硬件加速:eTSEC接收队列与帧过滤机制深度解析
  • 微信语音文件打不开?一招教你轻松转换Silk音频格式
  • 深入解析NXP WCT1011B双ADC:同步采样、硬件同步与嵌入式系统精度保障
  • 2026实力之选:江苏密集型母线槽品牌工厂与数据中心新能源专用母线槽供应商深耕解析 - 企业推荐官【官方】
  • 避开这些坑:用Cartool做EEG微状态分析时,数据导出、滤波和坏段处理的正确姿势
  • PyVISA连接不上仪器?从VISA资源字符串到驱动安装的保姆级排错指南
  • 珠海GEO优化公司哪家好?2026年最新榜单揭秘:选GEO服务商,别只看“曝光”要看“增长” - GEO优化
  • 多维聚合实战:从SQL GROUP BY到OLAP立方体的数据操作心法
  • UV Squares:3分钟掌握Blender智能UV网格转换插件,告别手动调整烦恼!
  • 如何让老款Mac焕发新生:OpenCore Legacy Patcher完整升级指南
  • 别再写‘熟悉xx技术’了!一份让HR和面试官都眼前一亮的Golang工程师简历避坑指南
  • 2026年6月临沂兰山区黄金回收市场深度调查:信任背书、避坑指南与三家诚信商家实测 - 钦扬网络
  • 终极VC++运行库一体化部署方案:告别Windows系统依赖烦恼
  • 2026 三亚业主防水避坑指南:苏易修缮本地化精工防水,工艺 / 报价 / 竞品全方位对比 - 苏易修缮
  • 轻松有趣的亲子小游戏,让相处时光变得更温馨
  • 从STL源码到面试现场:手把手拆解vector扩容与unordered_map哈希冲突
  • MASA Mods 汉化包技术架构深度解析:本地化实现机制与自动化构建方案
  • Inference与Prediction本质区别:从模型上线到GPU显存爆掉的全链路解析
  • 2026 闽南家装行业口碑榜单 漳州本地靠谱装饰设计企业综合测评 - 海棠依旧大
  • 群晖NAS上Docker部署ZeroTier保姆级教程:从SSH到稳定组网
  • 如何快速掌握AMD Ryzen调试工具SMUDebugTool:免费开源硬件调优终极指南
  • 成都老旧实验室翻新改造方案|四川实验室建设升级、实验室装修整改、实验室工程合规整改服务商四川华锐净化 - 洁净室推广助手
  • 算法竞赛:从遍历序列完美重建二叉树(先序/后序 + 中序)
  • 你的Windows电脑还在卡顿?这款神器让系统重获新生!
  • 跨境电商独立站技术选型:为什么React+Vue+Laravel成为主流?
  • 避坑指南:ESP8266 EEPROM读写与WiFi连接的那些‘坑’(附串口中断冲突解决方案)
  • MySQL MVCC 多版本并发控制
  • 告别命令行恐惧:用Portainer可视化面板管理你的ZeroTier Docker容器