0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32项目分享:室内无线控制系统

机智云 ? 2025-05-27 18:04 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

项目成品图片:


e849da30-3ae1-11f0-986f-92fbcf53809c.jpg



01

项目简介


1.功能详解


STM32室内无线控制系统

功能如下:


环境监测:温湿度、光照信息实时监测并在OLED上显示

防盗报警:当有人闯入时触发蜂鸣器报警

自动控制:根据光照强度大小控制灯光和窗帘的开关

空调控制:根据环境温度信息判断是否超出阈值范围打开空调

按键控制:按键可以手动开关防盗报警、照明灯和窗帘的控制

机智云平台:通过连接机智云APP远程查看环境信息数据,并可以手动控制窗帘、照明灯的开关



2.材料清单

STM32F103C8T6单片机

OLED 屏幕

DHT11温湿度传感器

ESP8266-01S WiFi模块

光敏传感器

继电器

风扇模块

大功率LED灯模块

有源蜂鸣器

步进电机


02


原理图设计


e86f17c8-3ae1-11f0-986f-92fbcf53809c.png


03


PCB硬件设计


PCB图

e894f9e8-3ae1-11f0-986f-92fbcf53809c.pnge8b83a16-3ae1-11f0-986f-92fbcf53809c.png


04

程序设计


#include"stm32f10x.h" // Device header#include"Delay.h"#include"LED.h"#include"Key.h"#include"OLED.h"#include"DHT11.h"#include"sys.h"#include"usart.h"#include"usart2.h"#include"string.h"#include"stdio.h"#include"timer.h"#include"mq2.h"#include"Motor.h"#include"gizwits_product.h"#include"Delay.h"
//显示全局变量===============================================================================================================================uint16_tADValue;uint16_tVoltage;u8 temp =0,humi =0;u8 hongwai=0;intkey_num; //按键返回值
//得到数据变量===========================================voidshuju(){ADValue =AD_GetValue();Voltage =99-99* ADValue /4095;DHT11_Read_Data(&temp,&humi);}//按键==========================================u8 mode_flag =0; //模式控制:0-自动 ,1-手动u8 alarm_flag=0;u8 chuanglian_flag=0;u8 guangzhao_flag=0;voidanjian(){key_num=Key_GetNum();//OLED_ShowString(3,14,":");//OLED_ShowNum(3,14,key_num,1);if(key_num==1) {hongwai=1;}else{hongwai=0;}
//if(key_num == 2)//{//if(++mode_flag==2)mode_flag=0;//}//报警if(key_num==3) {if(++alarm_flag==2)alarm_flag=0;}//窗帘if(key_num==4) {if(++chuanglian_flag==2)chuanglian_flag=0;}//光照if(key_num==5) {if(++guangzhao_flag==2)guangzhao_flag=0;}}//自动控制============================================//u8 flag=0;u8 kongtiao_1=0;voidauto1(){//照明控制if(guangzhao_flag==0){if(Voltage>50){LED1_ON();}if(Voltage<=50){LED1_OFF();}}//窗帘控制if(chuanglian_flag==0){if(Voltage>50&&flag==0){flag=1;for(inti=0;i<=(8*16);i++) ? ?{Motor_One(5);}}if(Voltage<=50&&flag==1){flag=0;for(int?i=0;i<=(8*16);i++) ? ?{Motor_One1(5);}}}
//报警控制if(alarm_flag==0){if(hongwai==1){BEEP_OFF();}else{BEEP_ON();}}//风扇控制if(temp>30){FAN_ON();WARM_ON();kongtiao_1=1;}if(temp<20){FAN_ON();WARM_OFF();kongtiao_1=1;}if(temp<=30&&temp>=20){FAN_OFF();WARM_ON();kongtiao_1=0;}}
//显示界面==============================================================voidxianshi(){//第一行OLED_ShowChinese(1,1,0);//温OLED_ShowChinese(1,2,1);//度OLED_ShowString(1,5,":");OLED_ShowNum(1,6,temp,2);OLED_ShowChinese(1,5,2);//湿OLED_ShowChinese(1,6,1);//度OLED_ShowString(1,13,":");OLED_ShowNum(1,14,humi,2);
//第二行OLED_ShowChinese(2,1,4);//空OLED_ShowChinese(2,2,5);//调OLED_ShowString(2,5,":");if(kongtiao_1==1){OLED_ShowChinese(2,4,16);//开}else{OLED_ShowChinese(2,4,17);//关}//if(mode_flag==0)//{//OLED_ShowChinese(3,8,21); //自//}//else//{//OLED_ShowChinese(3,8,20); //手//}
//OLED_ShowNum(2,6,kongtiao,1);OLED_ShowChinese(2,5,6);//窗OLED_ShowChinese(2,6,7);//帘OLED_ShowString(2,13,":");if(flag==1){OLED_ShowChinese(2,8,16);//开}else{OLED_ShowChinese(2,8,17);//关}//OLED_ShowNum(2,14,chuanglian,1);
//第三行OLED_ShowChinese(3,1,8); //光OLED_ShowChinese(3,2,9); //照OLED_ShowChinese(3,3,18);//强OLED_ShowChinese(3,4,19);//度OLED_ShowString(3,9,":");OLED_ShowNum(3,11,Voltage,2);
//第四行OLED_ShowChinese(4,1,10); //是OLED_ShowChinese(4,2,11); //否OLED_ShowChinese(4,3,12); //有OLED_ShowChinese(4,4,13); //人OLED_ShowChinese(4,5,14); //闯OLED_ShowChinese(4,6,15); //入OLED_ShowString(4,13,":");if(hongwai==1){OLED_ShowChinese(4,8,10);//是}else{OLED_ShowChinese(4,8,11);//否}//OLED_ShowNum(4,15,hongwai,1);}
voiduserHandle(void){
currentDataPoint.valuealarm = hongwai;//Add Sensor Data Collection currentDataPoint.valuekongtiao = kongtiao_1;//Add Sensor Data Collection currentDataPoint.valuetemp = temp ;//Add Sensor Data Collection currentDataPoint.valuehumi = humi ;//Add Sensor Data Collection currentDataPoint.valueliangdu = Voltage ;//Add Sensor Data Collection
}
intmain(void){Delay_init();LED_Init();OLED_Init();DHT11_Init(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级TIM2_Int_Init(72-1,1000-1);//定时1ms 72,000,000Hz/1,000Hz=72,000=72*1000uart_init(115200); //串口1初始化为115200uart2_init(9600);userInit();AD_Init();Key_Init();Motor_Init();gizwitsInit();gizwitsSetMode(WIFI_AIRLINK_MODE);Delay_ms(1000);Delay_ms(1000);while(1){shuju();xianshi();anjian();auto1();userHandle();gizwitsHandle((dataPoint_t *)¤tDataPoint);}}


05

实验效果


e90779c8-3ae1-11f0-986f-92fbcf53809c.jpge92622e2-3ae1-11f0-986f-92fbcf53809c.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6068

    文章

    45032

    浏览量

    651964
  • STM32
    +关注

    关注

    2295

    文章

    11034

    浏览量

    365912
  • 无线控制系统

    关注

    0

    文章

    10

    浏览量

    7781
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    室内控制系统

    项目名称:室内控制系统;应用领域:房屋控制(家庭室内、工厂仓库)项目包括:室内灯光节能
    发表于 10-29 13:35

    诚接stm32项目

    诚接stm32项目价格私聊
    发表于 05-17 10:20

    stm32项目搭建基础

    初学者吧stm32项目搭建基础好吧进入主题,我们现在要搭建一个stm32项目我还是把问题写在最开始把1. 注册keil你的keil需要注册当你编写了几行类似于helloworld的小
    发表于 08-23 08:47

    如何在IAR for ARM中创建STM32项目

    如何在IAR for ARM中创建STM32项目
    发表于 11-30 07:16

    STM32项目开发中超级实用技巧分享

    STM32项目开发中超级实用技巧一. 利用软启动打补丁二. 优化等级尽量选择不优化三. 合理利用开关总中断所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多的时间吧!关于STM32其它
    发表于 01-21 06:22

    CubeMX如何创建stm32项目

    CubeMX如何创建stm32项目
    发表于 02-14 06:24

    基于HAL库的STM32项目问题描述

    问题描述最近在做的一个基于HAL库的STM32项目需要从多个SPI总线设备读取数据并通过DMA从串口发送,程序如下:(RxData为从SPI总线读取到的数据)sprintf(tempt, "
    发表于 02-28 11:25

    STM32项目设计:基于STM32F4的mp3、wav音乐播放器 (UCOSIII操作系统、GUI控件)

    STM32项目设计:基于STM32F4的mp3、wav音乐播放器 (UCOSIII操作系统、GUI控件)
    发表于 11-15 15:21 ?50次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>设计:基于<b class='flag-5'>STM32</b>F4的mp3、wav音乐播放器 (UCOSIII操作<b class='flag-5'>系统</b>、GUI控件)

    ADF2022项目开源

    电子发烧友网站提供《ADF2022项目开源.zip》资料免费下载
    发表于 07-05 09:42 ?2次下载
    ADF2022<b class='flag-5'>项目</b>开源

    STM32项目分享:智能家居(机智云)系统

    STM32项目分享:智能家居(机智云)系统
    的头像 发表于 07-28 08:10 ?3441次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能家居(机智云)<b class='flag-5'>系统</b>

    STM32项目实战:基于STM32F4的智能灯光控制系统(LVGL),附项目教程/源码

    《智能灯光控制系统_STM32F4》项目完整文档、项目源码,私信小雯老师免费领取。STM32项目
    的头像 发表于 10-17 16:16 ?1930次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>实战:基于<b class='flag-5'>STM32</b>F4的智能灯光<b class='flag-5'>控制系统</b>(LVGL),附<b class='flag-5'>项目</b>教程/源码

    STM32项目实战:基于STM32U5的智能灯光控制系统(LVGL),附项目教程/源码

    《智能灯光控制系统_STM32U5》项目完整文档、项目源码,点击免费领取。项目资料领取:https://s.c1ns.cn/F5XyU
    的头像 发表于 11-07 18:50 ?2503次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>实战:基于<b class='flag-5'>STM32</b>U5的智能灯光<b class='flag-5'>控制系统</b>(LVGL),附<b class='flag-5'>项目</b>教程/源码

    STM32项目实战:基于STM32U5的火灾报警系统(LVGL),附项目教程/源码

    《火灾报警系统_STM32U5》项目完整文档、项目源码,点击下方链接免费领取。项目资料领取https://s.c1ns.cn/F5XyU
    的头像 发表于 11-13 14:18 ?1950次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>实战:基于<b class='flag-5'>STM32</b>U5的火灾报警<b class='flag-5'>系统</b>(LVGL),附<b class='flag-5'>项目</b>教程/源码

    STM32项目实战:基于STM32U5的智能大棚温控系统(LVGL),附项目教程/源码

    《智能大棚温控系统_STM32U5》项目完整文档、项目源码,点击下方链接免费领取。项目资料领取https://s.c1ns.cn/F5XyU
    的头像 发表于 11-13 17:08 ?1993次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>实战:基于<b class='flag-5'>STM32</b>U5的智能大棚温控<b class='flag-5'>系统</b>(LVGL),附<b class='flag-5'>项目</b>教程/源码

    STM32项目分享:智能台灯系统

    01—项目简介1.功能详解基于STM32智能台灯系统。功能如下:亮度控制:按键控制照明灯的亮度(5挡亮度)计时功能:按键启动计时,累
    的头像 发表于 11-29 01:02 ?2133次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能台灯<b class='flag-5'>系统</b>