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

009、STM32单片机分享:智能窗帘系统

目录

一、项目成品图片

二、项目功能简介

1.主要器件组成

2.功能详解介绍

三、项目原理图设计

四、项目PCB硬件设计

项目PCB图

五、项目程序设计

六、项目实验效果 ​编辑

七、项目包含内容

一、项目成品图片

哔哩哔哩视频链接:

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

资料分享看文章末尾

二、项目功能简介

1.主要器件组成

本设计由STM32F103C8T6单片机+WIFI模块ESP8266-01S电路+TFT屏幕电路+DHT11温湿度传感器电路+光敏传感器电路+雨滴传感器电路+ULN2003步进电机电路+蜂鸣器电路+按键电路+电源电路组成。

2.功能详解

(1)环境采集:DHT11温湿度传感器采集温度和湿度、光敏传感器检测光照强度、雨滴传感器检测下雨情况。
(2)屏幕显示:TFT屏幕显示当前温度、湿度、光照强度、是否下雨状态、窗户状态等信息
(3)阈值设置:可通过app设置温度、湿度、光照阈值
(4)温度报警:温度大于设置的阈值时声光报警
(5)湿度报警:湿度大于设置的阈值时声光报警
(6)模式切换:可以设置手动模式和自动模式
(7)手动模式:手动模式下通过按键控制窗帘开关
(8)自动模式:当检测到光照强度过高并且不下雨时开启窗帘,反之关闭窗帘
(9)远程控制:通过WIFI连接手机APP,APP可以查看当前环境信息数据,可调节阈值范围

三、项目原理图设计

四、项目PCB硬件设计

五、项目程序设计

#include "stm32f10x.h" #include "delay.h" #include "usart.h" #include "USART2/usart2.h" #include "GPIO/gpio.h" #include "adc.h" #include "TFT.h" #include "timer.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 { uint16_t adcx; uint16_t temp; uint16_t humi; uint16_t ligh; uint16_t xiayu; }SensorModulesValue; typedef struct { uint16_t tempyz; uint16_t humiyz; uint16_t lighyz; }SensorThresholdValue; typedef struct { uint8_t chuanghu; }DriveFlag; int main(void) { delay_init(); TIM3_Int_Init(9,7199);//定时器初始化 TFT_Init(); //TFT_Init初始化 TFT_Clear(BLACK); TFT_PutString(10,10,"Init......",RED,BLACK); DHT11_Init(); //DHT11初始化 key_Init(); //按键初始化 Adc_Init(); //adc初始化 delay_ms(100); uart1_init(9600); delay_ms(100); uart2_init(9600); delay_ms(100); uart3_init(9600);//串口初始化 delay_ms(100); //WIFI初始化 delay_ms(100); memset((uint8_t *)&currentDataPoint, 0, sizeof(dataPoint_t)); gizwitsInit(); while(1) { //获取按键值 key_scan(); //进入菜单界面显示处理数据 GetKeylnput(&Keystatus); //获取传感器数据 SensorDataGet(); //数据上传 currentDataPoint.valueTemp=TEMP; currentDataPoint.valueHumi=HUMI; currentDataPoint.valueLigh=ligh; currentDataPoint.valueChuanglian=chuanghu_Flag; gizwitsHandle((dataPoint_t *)&currentDataPoint); delay_ms(100); } }

六、项目实验效果 ​编辑

七、项目包含内容

​​

http://www.jsqmd.com/news/948569/

相关文章:

  • 树莓派GPIO控制实战:打造实体MP3播放器
  • 基于树莓派与OpenCV的红外视觉魔杖交互系统:从手势识别到物理控制
  • 基于NE555与CD4026的纯硬件随机数生成器设计与实现
  • 基于PIC16F877A的多功能万用表DIY:从硬件设计到软件实现
  • 从内部框图看懂TB6612FNG:这个小芯片如何控制你的直流电机正反转?
  • LLM的上下文长度(Context Length):从4K到1M,真的越长越好吗?
  • 别再只盯着PCL了!这5个轻量级点云库(Cilantro/Easy3D/Open3D)更适合你的快速原型开发
  • Python实战:量化评估大语言模型的偏见、毒性与真实性
  • Qwen3.6 Plus深度评测:面向工程师的代码生成与中文理解实战指南
  • 【2024智能咨询黄金标准】:Gartner未公开的6项AI工具协同评估指标首次披露
  • 告别狭窄通道恐惧症:在ROS中手把手实现Voronoi势场Costmap插件(附源码)
  • 镭神C32雷达+KVH 1750 IMU标定实战:从驱动读取到lidar_align避坑全记录
  • 除了ChatGPT,试试这个本地免费的文本标点恢复工具:Sherpa-ONNX配置与评测
  • 黄仁勋封迈威尔为下一家万亿企业,它凭啥?AI互联和定制芯片市场潜力巨大!
  • 谷歌Gemini个人智能:跨应用推理与数据整合的技术真相
  • 基于斐波那契数列的RGB时钟:数学美学与嵌入式硬件的融合实践
  • 基于ATmega8的POV显示指尖陀螺:从硬件设计到低功耗编程
  • DIY辅助开关制作指南:用3.5mm接口与微动开关赋能特殊需求儿童
  • H.266/VVC帧内预测黑科技揭秘:从65个预测方向到AI矩阵预测(MIP)
  • Verilog里signed和unsigned的坑,我踩了三年才总结出这份避坑指南
  • Python数据处理提速实战:用multiprocessing.Pool并行处理200万行数据,我踩了这些坑
  • DIY蓝牙音频放大器:基于PAM8403与蓝牙模块的极简方案
  • 合江县26年最新专业手表包包回收权威店铺推荐,TOP排行榜 - 莘州文化
  • GLM-5 Pro实战指南:Agent执行引擎的选型、部署与架构优化
  • 别再只盯着Transformer了!用PyTorch手把手复现加性注意力(Additive Attention),搞懂NLP早期基石
  • Python Pandas学习
  • 5分钟解锁QQ音乐加密文件:qmc-decoder音频转换完全指南
  • Anybus B40嵌入式板卡:让I/O模块拥有CC-Link IE、Profinet、EtherNet/IP三头六臂
  • 终极免费方案:解锁Windows远程桌面多用户并发连接的完整指南
  • 从并联电路到创意手工:用LED与晾衣夹制作会发光的电路虫