STM32项目分享:STM32智能窗户

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

PCB图

五、程序设计

六、实验效果

七、资料内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

STM32智能窗户

(资料分享见文末)

二、项目简介

1.功能详解

基于STM32智能窗户

功能如下:

  1. 基于STM32F103C8T6最小系统板
  2. MQ135传感器检测空气质量
  3. DHT11检测环境温湿度情况
  4. 光电红外传感器检测是否有人闯入
  5. 雨量传感器检测是否下雨
  6. 所有检测信息显示在OLED显示屏上
  7. 自动模式下定时开关窗帘,并根据外界情况判断是否关窗
  8. 手动模式可手动按键控制窗帘开关
  9. 按键可设置时间与各参数阈值
  10. 可连接蓝牙APP远程查看信息与控制下发

2.主要器件

  • STM32F103C8T6单片机
  • OLED 屏幕
  • DHT11温湿度传感器
  • MQ135空气质量传感器
  • 光电红外传感器
  • 雨量传感器
  • 步进电机
  • 有源蜂鸣器
  • LED灯
  • BT04A蓝牙模块

三、原理图设计

四、PCB硬件设计

PCB图

五、程序设计

cpp 复制代码
#include "sys.h"
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
#include "delay.h"
#include "gpio.h"
#include "key.h"
#include "oled.h"
#include "usart.h"
#include "adc.h"
#include "dht11.h"
#include "motor_bujin.h"
#include "rtc.h"


/****
*******	主函数 
*****/
int main(void)
{
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //配置中断优先分组
	Delay_Init();	    	 								//延时初始化	  
	Gpio_Init();		  									//IO初始化
	Key_Init();		  										//按键初始化
	Oled_Init();		  									//OLED初始化
	Oled_Clear_All();										//清屏
	Usart1_Init(9600);    							//串口1初始化
	Adc_Init();													//ADC初始化
	while(RTC_Init());									//RTC初始化
	Step_Motor_Init();									//步进电机初始化
	while(DHT11_Init());								//DHT11初始化

	
	while(1)
	{
		Key_function();										//按键函数
		Monitor_function();								//监测函数
		Display_function();								//显示函数
		Manage_function();								//处理函数

		time_num++;												//计时变量+1
		Delay_ms(10);
		if(time_num %10 == 0)
			LED_SYS = ~LED_SYS;
		if(time_num >= 5000)
		{
			time_num = 0;
		}
	}
}

六、实验效果

七、资料内容

项目分享

相关推荐
代码游侠3 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
CODECOLLECT7 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen7 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠10 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_10 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技12 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计12 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报14 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业14 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能14 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微