STM32设计学生宿舍监测控制系统

news/2024/11/18 12:08:14/

目录

前言

一、本设计主要实现哪些很“开门”功能?

二、电路设计原理图

电路图采用Altium Designer进行设计:

三、实物设计图

四、程序源代码设计 

五、获取资料内容


前言

随着科技的飞速发展和智能化时代的到来,学生宿舍的安全、舒适与便捷性成为了校园生活中不可忽视的重要方面。传统的宿舍管理系统往往存在功能单一、智能化程度低、响应速度慢等问题,难以满足现代学生对于宿舍环境的高品质需求。因此,开发一套集监测、控制、预警于一体的智能化宿舍管理系统显得尤为重要。

本项目旨在利用STM32单片机为核心,结合传感器技术、无线通信技术以及移动应用开发技术,设计并实现一个功能全面的学生宿舍监测控制系统。该系统不仅能够实时监测宿舍内的热水器工作状态、照明灯开关状态,还能通过无线遥控实现对这些设备的远程控制。同时,系统集成了烟雾检测功能,能够在检测到烟雾时及时发出预警,并通过WIFI传输数据至手机APP,使用户能够随时随地掌握宿舍的安全状况。

一、本设计主要实现哪些很“开门”功能?

        1)智能烟雾检测器,实时检测传输数据
        2)无线射频遥控器,可一键控制照明灯、热水器、总电闸开关
        3)管理员可一键控制所有电器开关
        4)设备具备WIFI联网,管理员可通过APP实时获取宿舍环境温度 湿度  烟雾参数等数据信息
        5)3路继电器作为电源开关输出控制
        6)烟雾检测与温湿度检测

二、电路设计原理图

电路图采用Altium Designer进行设计:


1、通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心。

2、高精密烟雾电路,ADC模拟接口与单片机进行连接

3、 使用WIFI联网,模块与单片机使用串口接口连接

4、通过温湿度检测传感器进行温度监控,模块与单片机单总线连接

5、使用开关继电器电源,模块与单片机单总线连接

6、通过无线遥控通讯发送接收指令,模块与单片机使用数据解码形式总线连接

三、实物设计图


四、程序源代码设计 

int main(void)
{
    u8 i = 0;
    delay_init();             //延时函数初始化    
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 
    uart_init(115200);
    LED_Init();
    Power_Init();
    RadioFrequencyRx_Init();
    Adc_Init();
    DHT11_Init();
    TIM4_Int_Init(9999,7199);//1s计时
    TIM3_Int_Init(0xFFFF,71);//(71+1)/72MHZ=1  65536us*1=65536us  周期 65ms
    LED = 1;//初始化完成
    while(1)
    {    

            Read_data();
        Connect_ESP_Internet();
    }
    
}

            

五、获取资料内容


http://www.ppmy.cn/news/1547977.html

相关文章

2024年09月CCF-GESP编程能力等级认证Python编程四级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(每题 2 分,共 30 分) 第 1 题 据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控…

【Docker】Docker Compose部署单节点多容器应用

文章目录 一. Docker Compose 的能力二. 部署博客系统(博客mysql)1. docker命令部署2. Compose文件部署多应用 三. Docker Compose使用讲解1. 文件语法2. 启动compose3. 停止应用4. 其他命令 四. 常用命令 一. Docker Compose 的能力 Docker Compose 通…

C++初阶学习第十一弹——list的用法和模拟实现

一、list的使用 list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一个元素和后一个元素。 常见的list的函数的使用 std::list<int> It {1, 2, 3, 4, 5};通过迭代器访问元素&#xff1a; std:…

这段时间 `weapp-vite` 的功能更新与优化

这段时间 weapp-vite 的功能更新与优化 自从上次宣布 weapp-vite 的发布&#xff0c;已经过去三个月&#xff1b;weapp-vite 也逐渐迭代至 1.7.6 版本。 在此期间&#xff0c;我对其进行了多项功能的增强和优化&#xff0c;接下来我将为大家详细介绍近期的阶段性成果。 下面列…

FreeRTOS消息队列实验与出现的问题

目录 实验名字&#xff1a;队列操作实验 1、实验目的 2、实验设计 3、实验工程 4、实验程序与分析 ●任务设置 ● 其他应用函数 ● main()函数 ● 任务函数 ●中断初始化及处理过程 5.程序运行结果分析 6.进行实验移植时所遇到的问题 1.项目中mymalloc等函数缺少 …

Go语言的创始人, 核心特性和学习资源

Go语言的创始人 Go语言的创始人有三位&#xff0c;分别是&#xff1a; Robert Griesemer&#xff1a;他参与开发了Java HotSpot虚拟机。Rob Pike&#xff1a;他是Go语言项目的总负责人&#xff0c;曾是贝尔实验室Unix团队的成员&#xff0c;参与过Plan 9、Inferno操作系统和L…

第 13 章 -Go 语言 接口

在面向对象编程中&#xff0c;接口&#xff08;Interface&#xff09;是一种规范的定义&#xff0c;它描述了一组操作方法&#xff08;方法签名&#xff09;但不提供具体的实现。接口是实现抽象的一种方式&#xff0c;它允许将行为与实现分离&#xff0c;从而支持灵活的设计和代…

大数据-226 离线数仓 - Flume 优化配置 自定义拦截器 拦截原理 拦截器实现 Java

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…