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;
		}
	}
}

六、实验效果

七、资料内容

项目分享

相关推荐
时空自由民.1 小时前
RGB Image Sensor 和 RGB LCD Scren 的HSYNC和VSYNC的区别,以及ESP32 RGB LCD外设工作原理介绍
单片机
RFID舜识物联网1 小时前
耐高温RFID技术如何解决汽车涂装车间管理难题?
大数据·人工智能·嵌入式硬件·物联网·安全·信息与通信
笨笨饿2 小时前
#55_NE595脉冲电路
stm32·单片机·硬件工程
2301_805962932 小时前
ESP32之esptool.py 常用快捷命令
stm32·单片机·嵌入式硬件
NULL指向我2 小时前
TMS320F28379D笔记1:主控-从核双核架构认识
笔记·单片机
sweetone2 小时前
用一个电阻及一段胶带修复 VORWERK (福维克) THERMOMIX(美善品) TM5-1食品料理机 不工作故障
经验分享·单片机·嵌入式硬件
星宇笔记2 小时前
我做了一个本地网页版嵌入式调试工具:支持 Serial / TCP / UDP、实时曲线、HEX 发送
单片机·嵌入式硬件·网络协议·tcp/ip·udp·开源软件
时空自由民.2 小时前
显示屏关键参数
单片机
LS_learner2 小时前
DDRPHY、DDRPHYIO、DDR颗粒三者的关系以及带宽增大对三者功耗的影响
嵌入式硬件
Fang_pi_dai_zhi3 小时前
物联网onenet的token算法
单片机·物联网