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

功能需求

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

设计具体要求:

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

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

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

4:编写相关代码;

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

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

1.方案选择

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

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

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

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

2.材料选型

材料选型如图所示

3.电路设计

通过AD20画原理图

 4.购买材料

5.电路连接

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

6.编写程序

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

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

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

7.程序调试

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

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

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

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

4.程序逻辑思考

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

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

进行WiFi模块ESP8266调试

进行主程序的调试

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

按键功能说明

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

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

程序主要功能说明

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

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

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

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

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

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

实物图

见录制视频

总结

整个开发设计过程中,参考了许多网络上的驱动代码,避免了重复造轮子,但是也造成了自己对底层的理解不足,需要以后自己多读多思考,功能模块的组合从整体难度来说只有三颗星左右。主要是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的智能家居控制系统设计相关推荐

  1. 基于STM32的智能家居控制系统设计与实现(带红外遥控控制空调)

    1. 前言 智能家居作为家庭信息化的实现方式,已经成为社会信息化发展的重要组成部分,物联网因其巨大的应用前景,将是智能家居产业发展过程中一个比较现实的突破口,对智能家居的产业发展具有重大意义. 本文基 ...

  2. 基于树莓派的智能家居控制系统设计论文参考

    完整论文咨询可WX联系:gyf1842965496 智能家居控制系统功能实现详细介绍:基于树莓派的智能家居控制系统设计https://blog.csdn.net/G1842965496/article ...

  3. 基于树莓派的智能家居控制系统设计

    基于树莓派的智能家居控制系统设计 完整文件下载 基于树莓派的智能家居控制系统设计 https://download.csdn.net/download/G1842965496/85802405 一.功 ...

  4. 基于ANDROID的智能家居控制系统设计

    pe基于Android的智能家居控制系统设计 配套论文

  5. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  6. android+智能家居控制系统,基于Android的智能家居控制系统设计与实现

    摘要: 随着科技的发展和人民生活水平的提高,智能家居系统逐渐走入大众视野,越来越受到人们的青睐.目前市面上智能家居产品也越来越多样化,基于Android的智能家居控制系统是目前的研究热点之一,本论文以 ...

  7. 基于STM32单片机智能花盆控制系统设计(毕业设计资料)

    智能花盆设计思想:通过传感器检测植物生长环境参数,如温湿度.光照等.判断植物的生长环境状况,当植物需要照顾时及时提醒主人. 设计要求的功能: stm32设计 1.检测花盆湿度.温度和光照强度,并显示: ...

  8. 写基于stm32智能家居控制系统设计论文

    写作一篇基于STM32的智能家居控制系统设计论文需要涵盖以下内容: 简要介绍STM32微控制器的硬件特性和软件开发环境: 分析当前市场上关于智能家居控制系统的发展现状,并阐述为什么选择STM32作为系 ...

  9. 基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料)

    基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 设计编号:C0053 主要功能: 1. ...

  10. 基于STM32设计的智能家居控制系统设计_语音+环境检测(OneNet)_2022

    1. 前言 如今的智能家居越来越深入人心,越来越受人们的欢迎.智能家居作为与人们日常生活息息相关的科技智能产物,可以给我们的生活带来舒适便利.随着物联网.云计算.无线通信等新技术的发展,智能家居得到了 ...

最新文章

  1. 交换机自动学习vlan
  2. 阿里云 Serverless 再升级,从体验上拉开差距
  3. 经典FOXMAIL报错 winsock error 11004
  4. Memcache的使用
  5. 接口隔离原则_是时候深入学习一下“接口隔离原则”了
  6. 在FLEX中获得当前PLAYER版本等信息.
  7. Spring Boot(7)---构建系统和依赖管理
  8. Nhibernate学习之many-to-many篇
  9. 力扣26--删除有序数组中的重复项
  10. Linux在日志中搜索关键词
  11. php令牌桶,令牌桶限频(TokenBucket)
  12. 正则校验6-18位字母加数字密码
  13. java小球落体问题_小球落体 -- 算法Java
  14. Room使用遇到的问题
  15. Excel单元格数据有空格怎样去掉
  16. 【20220207】【信号处理】三次样条插值原理详解
  17. 『湛蓝美声』 Mario Frangoulis
  18. APP自动化学习之appium认识
  19. 深度学习基础 - 积分
  20. 2012年龙年春节晚会之我见-亲民,团圆,好的社会道德宣扬,总结

热门文章

  1. 蓝桥杯历年省赛真题汇总及题目详解
  2. 数据库与excel数据对比
  3. 2,一个人体姿态识别的项目实现
  4. 计算机考试的话语,鼓励别人考试的句子
  5. 用matlab求众数,Matlab求方差,均值,均方差,协方差的函数
  6. 【系统设计】详细设计说明书
  7. apktool反编译apk,并重新打包
  8. 技术大众化--10款无需编程的App DIY开发工具
  9. 新浪微博与腾讯微博的开放平台比较 -- 从程序员的角度
  10. Drill模块——孔加工与螺纹铣削