基于STM32单片机的智能家居系统设计

作者主页:编程千纸鹤

作者简介:Java领域优质创作者、优快云博客专家 、优快云内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业讲师以及同行交流合作

主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等

业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等

收藏点赞不迷路  关注作者有好处

文末获取源码 

项目编号:BS-DPJ-020

一,环境介绍

语言环境:C语言嵌入式

技术实现:STM32

硬件构成:

规格名称标号数量
IN4007二极管D1, D22
KEY1按键K3, K4, K63
LEDledLED2, LED3, LED4红3
1K电阻R2, R7, R9, R10, R14, R156
10K电阻R111
10K电位器RT11
LCD1602液晶U21
SWITCH开关U41
POW电源U51
S8550三极管U71
BELL蜂鸣器U81
JDQ-5继电器U9, U102
5V风扇。加热片U11, U122
DS18B20温度U151
S8550三极管U15S8550, U16S85502
STM32核 单片机U351
HC05蓝牙模块U751

二,项目简介

智能家居技术正在迅速发展,成为了现代生活中不可或缺的一部分。随着信息的重要性不断提升,人们对智能家居产品的需求也日益增长。从简单的家电控制到更复杂的环境检测和安全监控,智能家居系统为人们的生活提供了更大的便利和安全保障。本研究基于STM32单片机开发了一款智能温度控制系统,该系统能够实时监测环境温度,并根据用户设定的阈值自动调节温度控制装置。此外,用户还可以通过手机APP实现远程监控和控制。通过对硬件电路、单片机程序、传感器接口以及蓝牙通信的设计,该系统具备了功能完善、性能稳定、操作便捷等特点,为用户提供了一种全新的智能生活体验。

家电控制包括家居照明系统控制、家居窗帘开关控制和家电控制。家居中的智能照明方面,随着物联网技术不断的发展,使智能照明成为了可能性,使用智能照明,不仅可以提高家居生活品质,还可以节约能源,因此智能照明发展前景广阔;对于居住环境的家电控制和窗帘控制方面,随着智能控制技术的出现,智能家电控制成为了可能,用户可以通过手机软件、PC机对家居内的电器进行远程控制和状态检测,智能家居给人们生活带来极大便利,同时也节约能源,因此发展前景广阔。

环境检测包括家居生活环境和家居安全环境,生活环境主要是指家居中的温湿度、光照度和可燃气体,家居安全环境主要是指防盗。近年来,人们对家居环境检测关注度日益上升,尤其对日常生活环境中的温湿度和有害气体越来越关注,为了给家居生活的人们更好的生活质量,本研究方案设计并实现了智能家居环境检测系统,让系统使用者随时掌握家居环境,提高其家居生活质量;家庭防盗能力方面,住户对家居防盗能力越来越关注,防盗能力好的住宅,可以增加屋主的安全感,提高住户家庭生活质量。在现有产品方面,随着嵌入式技术、计算机技术和无线通信技术的发展,具有智能化的居住环境不再是梦想,各生产厂家开发出了各种各样的智能化设备,比如智能电饭煲、智能冰箱等产品,但是每个生产厂家进行的是独立研发,一个厂家生产出来的不同产品也是相互独立的,因此智能家居行业缺乏一个统一的标准,随着物联网技术的出现,为这一问题找到了解决方法,物联网将家居生活中的所有设备连入互联网,可以随时掌握家居环境中的动态,对于智能家居统一标准具有重大的意义。

三,系统展示

板子

系统整体实物焊接图(正反面)

功能测试图

显示功能测试图

加热升温功能测试图

风扇降温功能测试图

四,核心代码展示

主程序代码如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart1.h"
#include "LCD1602.h"
#include "string.h"
#include "stdio.h"
#include <stdlib.h>
#include "ds18b20.h"

#define STM32_RX1_BUF       Usart1RecBuf 
#define STM32_Rx1Counter    RxCounter
#define STM32_RX1BUFF_SIZE  USART1_RXBUFF_SIZE

u8 Temperature;//温度
u16 Temperature_Min = 15;//温度报警值:下限
u16 Temperature_MAX = 35;//温度报警值:上限
u8 setnum = 0;//设置变量
u8 SendFlag=0;

void display_set_val()//显示报警值
{
		LCD_Write_Char(4,1,Temperature_Min/10+0x30);
	  LCD_Write_Char(5,1,Temperature_Min%10+0x30);
	
	  LCD_Write_Char(13,1,Temperature_MAX/10+0x30);
	  LCD_Write_Char(14,1,Temperature_MAX%10+0x30);
}

void display_cursor()
{
		if(setnum	== 1)
		{
				LCD_Write_Com(0x80+0x40+5);
				LCD_Write_Com(0x0F);
		}
		if(setnum	== 2)
		{
				LCD_Write_Com(0x80+0x40+14);
				LCD_Write_Com(0x0F);
		}
}

void KEY_SCAN(void)//按键扫描
{
	  if(!KEY1)//设置键
		{
		   delay_ms(10);
			 if(!KEY1)
		   {
					while(!KEY1);//卡死
					setnum++;
          if(setnum	> 2)//按下次数超过两次,退出设置
					{
							setnum = 0;
						  LCD_Write_Com(0x0C); //关闭光标
					}	
					if(setnum	== 1)
					{
							LCD_Write_Com(0x80+0x40+5);
						  LCD_Write_Com(0x0F);
					}
					if(setnum	== 2)
					{
							LCD_Write_Com(0x80+0x40+14);
						  LCD_Write_Com(0x0F);
					}
		   }
		 }
    if(!KEY2)//加键
		{
		   delay_ms(10);
			 if(!KEY2)
		   {
					while(!KEY2);//卡死
					if(setnum	== 1)
					{
							if(Temperature_MAX-Temperature_Min>1)Temperature_Min++;
						  display_set_val();
						  
							LCD_Write_Com(0x80+0x40+5);
						  LCD_Write_Com(0x0F);
					}
					if(setnum	== 2)
					{
							if(Temperature_MAX<99)Temperature_MAX++;
						  display_set_val();
						  LCD_Write_Com(0x80+0x40+14);
						  LCD_Write_Com(0x0F);
					}		 
		   }
		 }
    if(!KEY3)//减键
		{
		   delay_ms(10);
			 if(!KEY3)
		   {
					while(!KEY3);//卡死
					if(setnum	== 1)
					{
							if(Temperature_Min>0)Temperature_Min--;
						  display_set_val();
						  LCD_Write_Com(0x80+0x40+5);
						  LCD_Write_Com(0x0F);
					}
					if(setnum	== 2)
					{
							if(Temperature_MAX-Temperature_Min>1)Temperature_MAX--;
						  display_set_val();
						  LCD_Write_Com(0x80+0x40+14);
						  LCD_Write_Com(0x0F);
					}			 
		   }
		 }		 
}


五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程千纸鹤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值