本文将讲述如何用STM32嵌入式实现智能家居控制系统,所谓智能就是实时监测自主控制一些因素,如,温度、湿度、光照强度等,当室内光线较暗时自动打开灯,根据光线亮度的不同开灯数量也不同,当室内温度过高时红灯不停的闪烁,蜂鸣器也报警提醒主人室内温度过高要打开空调,当室内湿度过高时风扇开始工作,让室内湿度降下来,那么如何实现这些功能呢?下面我们开始介绍!
注意:STM32嵌入式实现智能家居控制系统的完整工程(包含keil代码工程和proteus仿真工程)已经放在文章末尾,需要的可点击链接下载。
一、本文用到的器件有:
STM32F103R6 单片机
LCD12864 液晶显示屏
DHT11 温湿度传感器
RETCH 光敏电阻
FAN-DC 直流风扇
BUZZER 蜂鸣器
电阻、按键等
二、实现的功能是:
有两种控制模式,分别是默认的智能控制模式和手动控制模式,按下按键MODE可切换控制模式
智能控制模式中温湿度传感器实时监测当前温湿度,当温度大于30红灯闪烁,蜂鸣器报警,当湿度大于50时,风扇工作,当光照强度小于3000时点亮一个灯,小于2000时点亮二个灯
手动控制模式中,按下UP键或者 DOWN键可上下移动光标,按下OK键可打开或关闭当前状态
自动模式中手动可调节,手动模式中自动模式不能调节
三、原理图如下:
四、代码实现:
#include "stm32f10x.h"#include "LQ12864.h"#include "DTH11.h"#include #include "adc.h"#define UP 1#define DOWN