STM32--基于STM32的智能家居设计与实现

这篇具有很好参考价值的文章主要介绍了STM32--基于STM32的智能家居设计与实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文详细介绍基于STM32F103C8T6的智能家居设计与实现,详细设计资料见文末链接

一、功能模块介绍

智能家居系统系统图如下所示,主要包括温湿度传感器、OLED液晶显示,WIFI物联网模块、人体红外预警模块、烟雾传感器模块、蜂鸣器模块
STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居

(1)温湿度传感器
温湿度传感器选用DHT11数字温湿度传感器,它采用专门的数字模块采集技术和温湿度传感技术。该传感器具有响应速度快、抗干扰能力强、适合测量室内温混度,可以将采集到的温度实时转换成输出信号在显示屏上显示

STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居

DHT11各引脚说明如下
(1)VCC:电源正,供电3-5.5V
(2)DATA:串行数据,单总线
(3)GND:电源地

DHT11和STM32的接线方式见下表

STM32F103 DHT11
3V3 VCC
GND GND
A0 IO

DHT11模块数据转换代码(完整见文末链接)

u16 dht11_read_data(u8 buffer[5])
{
    u16 i = 0;
    u8 checksum;
    dht11_reset();//发送起始信号
    if (dht11_scan() == RESET)
    {
        //等待响应信号结束
        while (dht11_scan() == RESET);
        while (dht11_scan() == SET);
        for (i = 0; i < 5; i++)
        {
            buffer[i] = dht11_read_byte();
        }
        
        while (dht11_scan() == RESET);//接收结束,拉高片选
        dht11_gpio_output();
        DHT11_OUT_H;

         checksum = buffer[0] + buffer[1] + buffer[2] + buffer[3];//校验数据
        if (checksum != buffer[4])
        {
            // checksum error
            return 1;
        }
    }
    
    return 0;
}

(2)麦克风传感器模块
本文使用的是高灵敏度的麦克风传感器,其内置一个对声音敏感的电容式驻极体话筒,声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成0-5V的电压,经过A/D转换被数据采集器接受,并传送给单片机。该模块有4个管脚输出,引脚介绍如下:
(1)VCC:电源正,5V供电
(2)GND:电源地
(3)AO:模拟量输出,实时输出麦克风的电压信号
(4)DO:数字量输出,当声音强度超过某一个阈值后输出高低电平,阈值可通过电位器调节(注意输出高电平也是5V)

此外,除了麦克风传感器外还有声音传感器模块,直接输出开关量,可根据实际情况选择
STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居

麦克风传感器和STM32的接线方式见下表

STM32F103 麦克风传感器
5V VCC
GND GND
A0 DO

检测程序如下,仅检测对应管脚的高低电平变化即可

if( GPIO_ReadInputDataBit(KEY_PORT,KEY) != RESET)//检测对应管脚接收到的高低电平

(3)烟雾预警模块
烟雾预警选用MQ-2烟雾气体传感器,根据传感器的电导率随空气中可燃气体浓度的增加而增大的特性检测空气中可燃气体,然后将电导率的变化转换成对应的电信号

STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居
该模块有4个引脚,:
(1)VCC:电源正,5V供电,电流150mA
(2)GND:电源地
(3)AO:模拟量输出,相对无输出(0.1V-0.3V),高浓度(电压4V左右)
(4)DO:数字量输出,(注意输出高电平也是5V)

注意:传感器通电后需要预热一分钟,稳定后数据才准确,传感器发热是正常现象因为内部有电热丝,如果烫手那就有问题了

MQ-2烟雾传感器和STM32的接线方式同上述的声音传感器一样,选择一个普通的IO口就行,用于读入输入电平信号

(4)红外预警
红外预警模块选用HC-SR501人体红外传感器,人体红外感应的主要器件为人体热释电红外传感器。人体都有恒定的体温,一般在36~37度,所以会发出特定波长的红外线,被动式红外探头就是探测人体发射的红外线而进行工作的
STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居
该模块有3个引脚,:
(1)VCC:电源正,4.5V-20V电压,静态电流50uA
(2)GND:电源地
(3)OUT:信号输出,高电平3V3,低电平0V

对应引脚图如下:
STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居

人体红外传感器和STM32的接线方式见下表(输出脚接普通GPIO口即可,仅输入信号检测管脚)

STM32F103 人体红外传感器
5V VCC
GND GND
B14 OUT

人体红外传感器初始化函数

void INFRARED_Init(void)
{  
    GPIO_InitTypeDef GPIO_InitStructure;   

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIO_B
     
    //INFRARED  IO 初始化
    GPIO_InitStructure.GPIO_Pin = INFRARED ;       	//发送高点平引脚
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;	//推挽输出
    GPIO_Init(INFRARED_PORT, &GPIO_InitStructure);
    GPIO_ResetBits(INFRARED_PORT,INFRARED );
	
}

人体红外传感器读取数据函数

		if( GPIO_ReadInputDataBit(INFRARED_PORT,INFRARED) != RESET)
		{
		   PBout(13)=0;  //低电平有效
		   delay_ms(600);
			 PBout(13)=1;  //低电平有效
		   delay_ms(2000);
		}

(5)OLED显示模块
显示模块主要用于显示温湿度数据,本文选用的是0.96寸的OLED屏幕,OLED被称为有机激光二极管,也被称为有机激光显示,OLED采用有机材料涂层和玻璃基板,当有电流通过时有机材料就会发光,所以OLED具有自发光特性,不需要背光源(只上电不会亮的,需要完整的程序驱动),0.96寸OLED其有4pin(IIC接口)和7pin(SPI接口)两种,本文选用的是其中的4pin的OLED

4pin OLED屏幕和STM32的接线方式如下

OLED STM32F103
VCC 3.3V—5V
GND GND
SCL PB8
SDA PB9

STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居

OLED部分显示函数如下

//显示一个字符号串
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 Char_Size)
{
	unsigned char j=0;
	while (chr[j]!='\0')
	{		OLED_ShowChar(x,y,chr[j],Char_Size);
			x+=8;
		if(x>120){x=0;y+=2;}
			j++;
	}
}

//显示汉字
void OLED_ShowCHinese(u8 x,u8 y,u8 no)
{      			    
	u8 t,adder=0;
	OLED_Set_Pos(x,y);	
    for(t=0;t<16;t++)
		{
				OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
				adder+=1;
     }	
		OLED_Set_Pos(x,y+1);	
    for(t=0;t<16;t++)
			{	
				OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
				adder+=1;
      }					
}

直接
(6)报警模块
报警模块主要使用无源蜂鸣器实现,如下图所示,蜂鸣器分为有源和无源两种,其中无源蜂鸣器其内部无振荡源直接直流电无法驱动它,需要2k-5k的方波;有源蜂鸣器是内部有振荡源直接外供电源即可,本文选用有源蜂鸣器说明
STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居

蜂鸣器模块和STM32的接线方式如下

蜂鸣器 STM32F103
VCC 3.3V—5V
GND GND
I/O PB13

蜂鸣器驱动代码比较简单,直接输出高低电平驱动即可驱动

(7)wifi无线传输
WiFi模块选用ESP8266,主要实现将温湿度数值、烟雾报警信息传到物联网平台,同时接收物联网平台返回的数据并进行分析处理

ESP8266这个模块相对设置比较麻烦,可参考下面这篇博客进行配置
https://blog.csdn.net/u011816009/article/details/131014271
STM32--基于STM32的智能家居设计与实现,STM32,stm32,智能家居,嵌入式硬件,单片机,智慧家居

二、实物说明

以下视频详细说明智能家居各模块实现过程

基于STM32的智能家居系统

三、附完整资源链接

链接:https://pan.baidu.com/s/1ECfqbRXnbjXO2Io7RSpu3A?pwd=nhng
提取码:nhng

代码打开路径:bigiotSTM32-master\bigiot\Project\STM32F10x_LED\MDK-ARM\Project文章来源地址https://www.toymoban.com/news/detail-716793.html

到了这里,关于STM32--基于STM32的智能家居设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于STM32单片机的智能家居烟雾温度火灾防盗报警的设计与实现

        功能介绍 以STM32单片机作为主控系统; LCD1602液晶显示屏来显示显示测得的值; SR501人体红外感应是否有人进行防盗; 通过烟雾传感器MQ-2获取前的烟雾值; 通过DHT11温湿度传感器来获取当前的温湿度; 所有的信息通过通过esp8266 wifi把数据传输到手机端进行显示;    

    2024年02月15日
    浏览(34)
  • STM32项目--基于STM32的办公室安保(智能家居)系统设计

    设计一套基于STM32的办公室安防系统,系统内部包括门禁系统、灾害报警系统、人脸识别系统和交互中心四个子系统。 门禁系统:主要实现对门禁卡的存储和读取并识别已存储卡片的信息并控制开门,如读取卡片为未存储卡片则报警。 灾害探测:系统本项目简单化使用了温湿

    2024年02月05日
    浏览(32)
  • 基于STM32单片机的智能家居环境监测与控制系统设计

    基于STM32单片机的智能家居环境监测与控制系统设计 摘要 :随着物联网技术的不断发展,智能家居环境监测与控制系统的应用越来越广泛。本文设计了一种基于STM32单片机的智能家居环境监测与控制系统,该系统能够实时监测环境中的温湿度和天然气浓度,并将数据显示在

    2024年04月25日
    浏览(35)
  • 毕业/课程设计——基于STM32的智能灯光控制系统(物联网、智能家居、手机APP控制、语音控制)

            文章 首先介绍本系统所包含的功能 ,主要包含六方面功能, 之后逐步分享开发过程 ,其流程如下:点亮灯带(三极管) → 调节灯光亮度(PWM)→为系统添加远程控制功能→为系统添加语音识别功能→添加超声波姿态监测功能→添加OLED显示功能         特别

    2024年02月03日
    浏览(44)
  • 基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料)

    原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 设计编号:C0053 1.可以检测环境中温湿度,气压,一氧化碳,空气质量,烟雾浓度和光照强度; 2.将测量的值显示在屏幕上,数据上报机智云平台可以通过手机APP实时查看当前的状态; 3.通过光敏传感器检测光照强度,

    2024年02月11日
    浏览(39)
  • 【STM32】基于stm32的阿里云智能家居

    智能家居是一种通过物联网将家里的各种电器设备连接在一起,并由中心控制器统一管理的信息系统。系统的核心是各类家居信息的采集与处理。阿里云能够提供云端的数据存储和分析功能,可以作为智能家居中心控制器的重要平台。 本文主要研究了基于阿里云的智能家居信

    2024年02月13日
    浏览(31)
  • 基于STM32与OneNet平台的智能家居系统设计(代码开源含自制APP代码)_onenet 编程

    请求方式: GET URL: http://api.heclouds.com/devices/device_id/datapoints 服务器或上位机下发主题报文(控制下位机): API函数: 请求方式: POST URL: http://api.heclouds.com/mqtt?topic=xxx 以上2个网络通讯的 API函数 至关重要,就是实现常规情况下OneNet物联网开发的 关键性技术支持。 ( 情况允许

    2024年04月12日
    浏览(54)
  • 毕业设计——基于STM32的智能窗户系统(物联网、智能家居、APP控制、APP显示温湿度等信息、自动工作模式)

    本工程包括一下功能:1、远程控制工作功能:手机端app远程控制窗户开关 (手机app自主开发)                                     2、自动监测工作功能:自动监测天气,并控制窗户开关                                     3、远程监测数据功能:温度、可燃气体浓度

    2024年02月11日
    浏览(40)
  • 毕业设计——基于STM32单片机的绿植养护系统(物联网、智能家居、手机APP控制、自动监测土壤湿度)

    本工程包括一下功能:1、环境温湿度监测                                     2、土壤湿度监测                                     3、环境可燃气体浓度监测                                     4、RTC万年历功能                                     5、数据

    2024年02月15日
    浏览(55)
  • 基于STM32的WIFI智能家居系统

    一、原理图 系统采用STM32F103C8T6单片机,搭配MQ系列传感器、DHT11温湿度传感器、光照强度传感器来采集室内的环境信息,利用STM32对信息进行加工处理,结合步进电机、LED、蜂鸣器、继电器对室内的电器进行模拟。使用ESP8266作为物联网媒介,手机端采用机智云平台。 1.原理图

    2024年02月16日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包