8 stm32项目——基于stm32的智能家居设计

目录
一.功能设计
二.演示视频
三.硬件选择
1.单片机
2.红外遥控
3.红外探测模块
4.光敏电阻模块
5.温湿度检测模块
6.风扇模块
7.舵机
8.WIFI模块
9.LED和蜂鸣器
10.火焰传感器
11.气体传感器
四.程序设计
1.连线方式
2.注意事项
3.主程序代码
五.课题意义
一.功能设计
本次设计的目标是想实现如下图所示的智能家居环境
本次设计所实现的功能:
用红外遥控输入密码,密码正确,绿灯亮,系统工作,实现后面的功能,密码不正确红灯亮,不工作 。
红外避障检测到汽车靠近,自动抬杆
检测光照强度,显示到屏幕上,天亮自动开窗
检测温湿度数值,温度高,自动开风扇 。
火焰传感器检测到有火,烟雾传感器检测到有烟雾,蜂鸣器就报警 。
通过WIFI模块连接到原子云,从云端远程控制开门、开窗,同时将温度 湿度 光照信息上传到原子云显示
二.演示视频
完成后的演示视频如下:
基于探索者开发板的智能家居_功能演示
正点原子WIFI模块连接原子云的讲解
三.硬件选择
所有硬件的实物图如下:
1.单片机
单片机选择,用的是正点原子的探索者开发板 。
正点原子探索者开发板( )是一款基于STM32系列微控制器的开发板 。它由正点原子推出,旨在方便开发者进行嵌入式系统的开发和调试 。
该开发板采用了常见的DIP封装,具有丰富的外设和接口,包括数字量输入输出口、模拟量输入输出口、串口、SPI、I2C等接口,以满足不同项目的需求 。开发板还配备了丰富的功能模块,如LED指示灯、继电器、按键、温湿度传感器等,方便开发者快速验证和验证项目的可行性 。

8  stm32项目——基于stm32的智能家居设计

文章插图
开发者可以使用开发板上提供的开发环境和开源库进行程序开发,也可以与其他常用开发环境(如Keil、IAR)配合使用 。开发板支持C语言和汇编语言编程,开发者可以根据自己的需要选择合适的编程方式 。
总之,正点原子探索者开发板是一款功能丰富、易于使用的嵌入式系统开发工具,适用于学习、原型开发和小型项目开发等各种场景 。
2.红外遥控
红外遥控用的是买单片机自带的 。
通常红外遥控为了提高抗干扰性能和降低电源消耗,红外遥控器常用载波的方式传送二进制编码,常用的载波频率为38kHz,这是由发射端所使用的晶振来决定的 。在发射端要对晶振进行整数分频,分频系数一般取12,所以÷12≈37.9kHz≈38kHz 。也有一些遥控系统采用36kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定 。所以,通常的红外遥控器是将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的 。
红外接收设备是探索者板子上自带的,由红外接收电路、红外解码、电源和应用电路组成 。红外遥控接收器的主要作用是将遥控发射器发来的红外光信号转换成电信号,再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理器 。近几年不论是业余制作还是正式产品,大多都采用成品红外接收头 。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装 。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VOUT) 。
3.红外探测模块
红外探测模块检测到有车靠近时,自动抬杆 。使用模块如下所示:
该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3v-5V 。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合 。