基于STM32的智能家居控制系统设计

今天这里简单举一个前几年做的一个很简单的小项目给大家,帮助大家了解一下单片机STM32的简单应用。后续也会给大家不断分享项目实践。

功能需求     

随着社会的进步,经济的快速发展,人们对于日常生活科技化的追求越来越高,大量的智能家电进入了家家户户,对这些种类繁杂的智能家电有一个便捷的集中化控制系统成为了迫在眉睫的需求,本次设计要求综合运用传感器、单片机技术、电路分析、模拟电子技术等相关知识,结合学生的实际动手能力,通过现有的电话网络终端或者互联网网络终端实现远程控制的智能家居系统,给出了该系统的电路原理和办硬件设计与实现方法。 该装置是由单片机、LCD1602、温度传感器DS18B20、无线数据收发芯片nRF401、风扇、PCF8591T芯片、蜂鸣器、电源、继电器模块以及按键模块设计而成的。

设计具体要求:

1:熟悉多种传感器的工作原理和检测电路(智能家居系统常用的传感器);

2:实现家庭多种电器的智能及远程控制;

3:系统具有防火的自动报警功能;

4:编写相关代码;

5:能使用Protues、Altium Designer、Keil、Visio等相关软件;

6:翻译与本设计有关的英文资料和文献(不少于3千中文字符);

1.方案选择

根据自己大学所学的知识 进行知识点分析和拆解

火灾自动报警检测用到mq-7 一氧化碳检测

首先要有主控芯片 其次要有传感器采集 ,还要有wifi模块进行控制

最后完成以stm32为mcu+esp8266结合机智云的解决方案

基于STM32的智能家居控制系统设计_第1张图片

2.材料选型

材料选型如图所示

3.电路设计

通过AD20画原理图

基于STM32的智能家居控制系统设计_第2张图片

 4.购买材料

基于STM32的智能家居控制系统设计_第3张图片

5.电路连接

根据原理图进行相关电路连接 通过万用表来测试是否虚焊以及是否连通

6.编写程序

通过下载安装keil软件进行程序的编写

基于STM32的智能家居控制系统设计_第4张图片

 基于STM32的智能家居控制系统设计_第5张图片

编写各个功能函数以及传感器初始化连接

最后编写主函数 控制程序 通过st-link 进行对板子程序的下载注:可以自行采用其他下载方式

基于STM32的智能家居控制系统设计_第6张图片

7.程序调试

再程序使用过程中遇到了很多问题

1.无法进行程序下载是因为st-link的配置方式不对 通过阅读芯片手册 发现了接口接线。

基于STM32的智能家居控制系统设计_第7张图片

2.最开始io口的配置错误是由于没有仔细看芯片手册导致的

3.普通的程序编译报错 有些是中文符号导致的

4.程序逻辑思考

5.程序调试过程 通过不断地设置断点来进行判断程序出错

进行oled 的驱动程序 调试和驱动函数编写。

基于STM32的智能家居控制系统设计_第8张图片

 进行WiFi模块ESP8266调试

基于STM32的智能家居控制系统设计_第9张图片

 进行主程序的调试

基于STM32的智能家居控制系统设计_第10张图片

 8.实物展示(见录制视频)

基于STM32的智能家居控制系统设计_第11张图片

按键功能说明

主界面下,1为切换界面,2为进入阈值调剂,3为WIFI进入Airlink模式连接,4为WIFI复位

阈值界面下,1为切换界面,2为切换阈值选型,3为阈值增加,4为阈值减少。

程序主要功能说明

开机,初始化所有配置,默认蜂鸣器响

主界面下,显示光照 温度 湿度和空气质量

次界面下,显示烟雾,一氧化碳,光照强度,空气质量。

程序主循环等待按键,采集信息,并通过Gagent协议发送至服务器。

自动模式下,当光照低于阈值时,进行开窗操作和开灯操作。

自动模式下,传感器参数超过阈值蜂鸣器进行报警。

实物图

见录制视频

基于STM32的智能家居控制系统设计_第12张图片

总结

整个开发设计过程中,参考了许多网络上的驱动代码,避免了重复造轮子,但是也造成了自己对底层的理解不足,需要以后自己多读多思考,功能模块的组合从整体难度来说只有三颗星左右。主要是esp8266-01的第一次上手使用 以及相关文档的阅读,再根据开发手册进行相关配置和开发,能够有效解决在实际过程中遇到的问题,如果要写论文,也可以参考相关手册和硬件资料。

精度上,暂时无法根据实际情况测试,误差大致与器件相关,参考相关资料理论上可以采用更优质的材料和电路实现,APP推送等方式实现报警,进入物联网时代。

材料清单

  • STM32F103C8T6核心板

  • ESP8266-01模组

  • MQ-2烟雾传感器

  • MQ-7一氧化碳传感器

  • MQ-135-空气质量传感器

  • GY-30光照传感器(BH1750FVI)

  • OLED0.96寸显示屏

  • DHT11温湿度传感器

  • ULN五线四相步进电机驱动模块

  • DC 5V 4相五线步进电机28YBJ-48

  • BMP280气压传感器

  • 一排四键薄膜开关

  • 面包板

  • 杜邦线

  • 按键

  • LED灯

【文章福利】需要相关项目资料可进学习群领取:769843038

你可能感兴趣的:(嵌入式开发,智能家居,stm32,stm32,单片机,arm,物联网,嵌入式硬件)