当前位置: 首页 > 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.jsqmd.com/news/1019733/

相关文章:

  • 避开这些坑!在ArduPilot飞控与Java地面站通信中,MAVLink消息收发常见问题排查指南
  • 面试官最爱问的Prometheus八股文?我整理了这份避坑指南(附实战配置)
  • 告别繁琐部署!Hermes Agent 桌面版正式发布:全平台支持,小白也能轻松上手的“真”自主大模型智能体
  • 论文创新点像挤牙膏?青年教师力荐这几个一键生成论文工具
  • 微信语音文件打不开?一招教你轻松转换Silk音频格式
  • 嵌入式网络硬件加速:eTSEC接收队列与帧过滤机制深度解析
  • 2026杭州GEO优化公司哪家好?告别“伪GEO”,选对“全意图”领跑者 - GEO优化
  • 03_WSL 与 Docker 入门指南
  • 终极Klipper智能参数调校指南:如何让3D打印机自学成才提升打印精度
  • MPU6050自检总报错‘Error’?别急着换模块,先试试这几步排查和‘软修复’
  • 深入解析NXP WCT1011B双ADC:同步采样、硬件同步与嵌入式系统精度保障
  • 边缘设备功耗优化:从睡眠模式到动态电压频率调制的低功耗设计
  • MSC711x DSP架构解析:SC1400核心、DMA与Crossbar协同设计实战
  • 推理即新训练:AI工程重心向推理侧迁移的底层逻辑
  • 11904华夏之光永存:黄大年茶思屋榜文119期 第4题文生图肢体逻辑合理性优化方案
  • 2026实力之选:江苏密集型母线槽品牌工厂与数据中心新能源专用母线槽供应商深耕解析 - 企业推荐官【官方】
  • MQX Lite RTOS系统与任务管理函数深度解析
  • 避坑指南:锐捷AC+三层交换机旁挂组网,DHCP中继和Option 138配置最容易出错的几个地方
  • 避开这些坑:用Cartool做EEG微状态分析时,数据导出、滤波和坏段处理的正确姿势
  • 告别环境冲突:用Docker容器在5分钟内快速拉起一个可用的DeepStream 6.4测试环境
  • 3%AFFF/AR抗溶性水成膜泡沫灭火剂怎么选?浙江金瑞恒从单机到整线无缝衔接 - 品牌速递
  • 别再花冤枉钱!实测鼎阳SDS2000X+示波器带宽升级到350M的免费方法(附Python脚本)
  • 多维聚合实战:从SQL GROUP BY到OLAP立方体的数据操作心法
  • 保姆级教程:用Mac+Charles抓包OPPO手机App,从蓝牙传证书到安装成功
  • 珠海GEO优化公司哪家好?2026年最新榜单揭秘:选GEO服务商,别只看“曝光”要看“增长” - GEO优化
  • PyVISA连接不上仪器?从VISA资源字符串到驱动安装的保姆级排错指南
  • 寿险数据科学五大落地场景与工程化实践
  • UV Squares:3分钟掌握Blender智能UV网格转换插件,告别手动调整烦恼!
  • 如何让老款Mac焕发新生:OpenCore Legacy Patcher完整升级指南
  • 世界模型对抗攻击:物理约束下的自动驾驶安全挑战