基于STM32和HC-SR5雷竞技app官方版下载01智能家居的智能照明系统设计

  新闻资讯     |      2023-08-18 20:04

  随着经济的发展和科技的进步,人们对照明器具的节能性和科学管理便捷性提出了更高的要求,使得照明控制在智能家居领域的地位越来越重要。使用智能照明控制系统更能体现节能与管理方面的优势,提高家庭的科学照明水平。普通家庭的照明模式是白天关灯、晚上开灯,而采用智能照明控制系统后,用户可以根据不同场合、不同时间的家庭人数进行智能照明,在需要时自动开启照明系统并调节其亮度;同时,系统还能充分利用自然光,在保证必要照明的同时,有效减少灯具的工作时间,节省不必要的能源开支,延长了灯具的使用寿命。

  智能照明控制系统可减少灯具的使用时间,能有效节约能源。粗放型经济增长方式会导致资源匮乏,因此调整产业结构势在必行,在照明行业推广智能照明系统具有重要的意义。本文针对目前只根据室内光照度来调节LED灯亮度的方法存在的缺陷,在照明系统中加入人体红外感应模块和温度检测模块。温度检测模块可实时显示室内温度,人体红外模块可感应室内是否有人。当红外感应模块检测到室内无人时,系统强制断开电源,这样可以避免家庭主人忘记关闭智能照明系统时带来的能源浪费。

  本系统主要由APDS-9008光照度检测传感器、DS18B20温度检测传感器、LCD显示屏、STM32L151、电源模块和人体红外组成。

  采用ST低功耗L系列单片机—STM32L151作为本系统的主控芯片,其特点如下:

  睡眠模式,低功率运行(在32kHz时仅9μA),低功耗的睡眠(4.4μA)

  APDS-9008提供广泛环境亮度条件下的精确光度检测。它有1个光感应器,其光谱响应接近CIE标准。图1是APDS-9008模块图。

  HC-SR501是基于红外线技术的自动控制模块,采用LHI778探头设计,具有灵敏度高、可靠性强的特点和超低电压工作模式。技术参数如下:

  工作电压:DC5~20V;静态功耗:65μA;电平输出:高3.3V,低0V;延时时间:可调(0.3~18s);封锁时间:0.2s;触发方式:L不可重复,H可重复,默认值为H;感应范围:小于120°锥角,7m以内;工作温度:-15~+70℃;PCB外形尺寸:32mm×24mm,螺丝孔距28mm,螺丝孔径2mm,感应透镜尺寸:直径:23mm(默认)

  温度检测一般选用热敏电阻作为其传感器,热敏电阻可测量40~90℃温度范围,但是相比其他方法稳定性不高,一般温度检测的准确度较低。对于1℃以下的温度检测信号适用性极低,必须经过专门的ADC转换成数字信号才能由MCU进行处理。

  DS18B20数字信号输出温度检测传感器与传统的温度传感器不同的是:使用单总线与MCU通信,为直接数字输出,转换速度快,可扩展性强。图3为DS18B20模块内部结构图。

  系统整体结构包括前端用1个HC-SR501人体红外模块和APDS光照度检测模块和1个DS18B20温度传感器。人体红外模块可检测室内人数,当检测到室内有人时,系统才开始工作;当检测到室内无人时系统不工作,如果系统此时是工作状态,将强行关闭系统。APDS光照度检测模块主要根据光强度进行智能照明,AO输出到STM32L151PC0ADC口进行模数转换,转换后进行LED智能控制。温度传感器将实时检测室内温度。DS18B20使用PA1口进行单总线数据传输,温度结果也通过LCD和串口打印显示。整个系统采用聚合物锂电池供电,如图4所示。

  图5为APDS-9008光照度传感器电路设计,其中1脚为电源(1.6~5V),本系统供5V电源,同时加2个电容滤波,2,3,5脚为NC脚,不接;6脚为模拟信号输出脚,输出信号为0~1.9V,接STM32L151PC0口进行模数转换,得到数字信号,最终实现智能控制LED灯。

  HC-SR501模块电路主要包括VCC、GND和DO口。VCC供5V电源,当检测到室内有人时,DO口输出为高电平,否则输出低电平。

  MCU与温度传感器进行数据传输主要依靠MCU按单总线条总线上产生各种时序实现。图7为温度传感器与MCU具体电路图,VCC接5V直流电,GND接地,OUT为与MUC进行通信的接口,上面必须接1个上拉电阻,以保证通信的正常进行和空闲状态时为高电平。

  LCD采用四线SPI协议与MCU进行通信。SPI接口一般由4根数据线组成,包括CS片选信号线、SCLK时钟信号线、MISO主机输入从机输出数据线和MOSI主机输出从机输入数据线,CS为使能信号。只有当使能信号为低时,此设备才被选中。选中后,MOSI和MISO可以进行数据传输。

  读操作为:前8个时钟主机发送地址给从机,后8个时钟从机接收到地址后,返回数据给主机。当主机发送地址给从机时,会在地址的最高位加0,以表示读,其余的后7位为从机内部寄存器地址,从机接收到高位读标志和后面的7位寄存器地址后,会在后面8CLK返回寄存器的值给主机,完成一次读操作。

  写操作同样由16个时钟组成,前8个时钟主机发送8位将要写的地址给从机,后8个时钟为主机发送的8位数据。当写操作开始时,同样首位表示写标志位,SPI协议写操作规定首位为1。因此,在写操作时,8位数据由1位写标志位和7位地址组成。当从机收到由1位写标志位和7位地址组成的数据后,会等待第二次发送的数据,把第二次发送的数据写入刚刚的地址寄存器,完成一次写操作。

  系统采用锂电池供电。首先,MiniUSB输出的5V电压直接提供给锂电池充电管理芯片,由其对锂电池进行充电管理。该芯片是一款完整的单节锂离子电池,采用恒定电流/恒定电压线A。当输入电压停止时,芯片自动进入低电流状态,将电池漏电流降至2μA以下。锂电池充电电压为4.2V,容量为500mAh。

  由于锂电池在放电过程中输出电压会下降,而系统工作在3.3V,因此需要加低压降稳压器以保证系统正常工作。稳压芯片输出电压稳定在3.3V,可以输出400mA的电流,压差最低可达到75mV,外围电路简单,可满足要求。为及时充电和保存数据,系统进行电池电量监测。

  光照度检测采用ADC和DMA方式进行传送。ADC可以把模拟电压直接转换成数字信号,便于存储器存储和传送。软件设计流程如下:首先初始化ADC和DMA,让ADC工作于DMA方式;HC-SR501人体红外传感器进行室内环境检测,如果检测到室内有人,则进行数据传输,否则一直检测。当检测到室内有人时,ADC获得总线上的电压值,然后自动将其转换成12位的数字信号来智能控制室内LED灯。此时,DMA把ADC转换后的数字信号送到内存,这段期间不需要CPU干预,可节约CPU资源去获取温度。软件流程如图12所示。

  首先初始化DS18B20,让通信双方达成基本通信协议。由于总线温度传感器,因此直接跳过ROM,发出温度转换指令0x44h,之后,DS18B20准备好温度数据,在读温度前至少需等待750μs。750μs后,重新初始化,读取存储器中已经准备好的数据,然后经过计算获得温度,把温度数据送到串口和LCD上面显示。

  由于温度相对变化不大,故采用定时器中断方式获取温度,程序设计每2s中断一次,即每2s执行一次温度检测流程。温度检测软件设计流程如图13所示。

  为了测试系统,本方案设计了系统测试软件。温度信号采用定时中断方式获得,每2s获取1次,这样可以节约CPU资源,也可实时获得最新温度值。智能照明500ms中断1次获得当前光强度信息,以智能控制LED灯亮度。最后把温度信息送到LCD和串口进行显示,系统测试流程见图14。

  如图15所示,系统由温度传感器、LCD屏、光强度传感器、人体红外传感器和LDE灯组成。

  当红外传感器检测到有人且光强度低时,LED由暗变亮,串口数据显示当前亮度值,ADC为12位,因此亮度范围为0~4096,当前亮度为70~500cd/m2之间,测试数据正确。

  当红外传感器检测到有人且光强度高时,LED由亮变暗,串口数据显示当前亮度,值测试数据正确。

  当系统检测到无人时自动关闭系统,以避免人为原因造成的忘记关闭系统,从而达到节约能源的目的。

  本文设计的智能照明、温度检测系统从测量准确性、功耗、家庭实用性等角度出发,所选用的芯片和模块均符合低功耗的原则,具有体积小、可靠性高、性价比高、结构简单等特点,可用于智能家居系统,具有较高的实用价值。

  关键字:编辑:什么鱼 引用地址:基于STM32和HC-SR501智能家居的智能照明系统设计

  学习STM32也会遇到这样的绝对定位的问题如下: uint8_t UART_RX_BUF __attribute__ ((at(0X20001000))); //就是将串口接收的数据定位到RAM中起始地址为0X20001000; 绝对定位要么定位到flash、要么定位到RAM,这里我们将定位在flash进行说明。 MDK如何实现将数据存储到FLASH指定地址? 我们在烧录数据的时候,一般是从0x08000000开始按照顺序烧录到flash里面的,如何让数据能够定义到绝对地址如0800F000,就必须保证文件内数据也是存储在该地址,为了实现这个目的,MDK在生成文件时会填充0x00字段,从而确保能够将数据定义到

  简介:在安装软件和新建工程这个过程中可能会出现各种问题,最好的办法就是百度,说实话,刚开始没有接触STM32,从软件下载到安装再到工程模板的建立我也弄了一天!要有耐心慢慢来!就会发现其实就那么回事! 一、工具安装 1.J-Link驱动的安装下载地址 2. KEIL MDK的安装这个版本更新很快,我用的是4.7版本的,现在5.0版本的都出来,所以可以自己百度去下载,很多地方都能下载到 3.成功安装好J-Link,同时插上J-link下载线后能在我的电脑设备管理器中看到J-Link Driver 4.由于安装大同小异,这里不再赘述。 二、工程模板的建立 准备工作 1.下载ST官方库,我这里是用的3.5版

  工具安装和工程模板的建立 /

  一、准备工作 硬件原理图: 所用器件:核心版、下载线ST–Link、usb转TTL线 所用编程软件:MDK5.33 二、操作目的 设置波特率为115200,1位停止位,无校验位。 STM32系统给上位机(win10)连续发送“hello windows!”,上位机接收程序可以使用“串口调试助手“,也可自己编程。 当上位机给stm32发送“Stop,stm32”后,stm32停止发送。 三、实验操作 1.实验所需代码 #include led.h #include delay.h #include key.h #include sys.h #include usart.h #include stdl

  的USART窗口通讯程序 /

  系统中使用过多的汉字会出现芯片容量不够用的问题,可将数据存储在外部FLASH中,在需要使用时进行调用即可。本文是通过STM32串口1实现对W25X16的汉字字库存储。软件层面,配置串口1和SPI1即可,程序初始化后,在对W25X16进行写之前,必须先擦除,可以一个字节、一页、一扇区、一块以及整片擦除。写字库前,我们用整片擦除方式,如下: 整个程序中,关键在于串口接收中断函数的编写,如下: u32 WriteAddress=0; void USART1_IRQHandler(void) { u8 Res; if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) {

  通过串口向外部FLASH(W25X16)写入字库 /

  准备工作: 1.到micrium官网下载最新的 OS在stm32上的移植资料。下载地址为: 平台搭建: a.将1下载得到的文件解压得到micrium文件夹,并在Micrium\Software\ OS-II下用UV4创建一个 OS工程,配置CPU为STM32F101C8 b.建立如图1所示的工程目录结构。其中APP层用于放置应用程序, OS用于放置所有 OS与处理器无关的源码,PORT用于放置移植 OS需要改动的文件,而BSP则用于放置系统的驱动程序,LIB为系统调用的库支持。该目录

  据报道,中国科学家发明了一种新型传感器,眨眼即可开关家电。试想,眨眨眼就能开灯、关灯,简直不能再好玩了。从传统开关到声控开关,再到如今的眨眼开关,家电开关一路上是如何打怪升级的呢? 日常生活中我们最常使用的就是家用 电器 ,它的开关则是我们与家电之间的枢纽。家电开关虽小,但它是最早的人机交互关系的研究产物,家电开关让用户可以更简单的操纵和使用家用电器。而任何家电的使用也离不开人与家电控制开关的交互过程。 家电开关的发展离不开家用电器的兴起,而如今丰富多彩的家用电器世界,都是随着电力工业的发展而发展起来的。自1879年爱迪生发明白炽灯,开创了家庭用电时代,为家用电器的发展创造了有力条件。家电开关是控制家用电器的最基础的电

  这就是野火的《STM32库开发实战指南》这本书里面的,我发现野火的书的电子版都可以在野火大学堂里面下载,这个我感觉挺好的。 野火的书的排版印刷也比原子的好些。 野火把STM32的库函数讲得明白些,让你不是自己就是这些文件,而且告诉你为什么是这些文件,知其所以然这个挺好的。 而且配合着前面的章节看我感觉会好一些。很好理解为什么库函数是这样。它前面一章是自己写库函数,这个我感觉非常棒!!!!!!!让你很好立即而库函数为什么是这样,后面线标准库时说core_cm3.h是头文件里面实现了内核的寄存器映射,你就很自然理解了,如果直接给你说你可能不理解为什么还要寄存器映射,如果你看来前面一章自己写库函数就理解了。

  的库函数讲得明白些 /

  1  引言 随着人们生活条件的日益改善,生活变得越来越舒适,对家庭安全防护的意识也越来越强,其中包括用电安全、用气安全、家庭反盗、小孩和老人的看护等等。随之而来的是,智能家居系统悄悄地走入了我们的生活中。智能家居系统是利用计算机、嵌入式系统和通信网络技术,将各种与家居生活有关的子系统(如照明、安防、家电等)有机地结合,通过统筹管理,让家居生活更加舒适、安全、有效。 2  系统的功能 系统主要针对普通家居用户设计,使用户能够进行家居安防的远程监测。具体功能有以下三点: ( 1) 家居安全防范: 当室内的温度高于已设定的值或检测到室内的烟雾浓雾偏高或特殊角落有异常动静,则系统会以不同的方式向安防用户报警,如: 向手机终

  平台DIY Arduino+物联网云平台+手机+微信

  微控制器实战教程

  有奖直播报名|Keysight World Tech Day 2023分论坛——汽车自动驾驶与新能源

  免费申请:价值799的国产高性能RISC-V Linux开发板LicheePi 4A

  立即报名 STM32全国巡回研讨会即将开启!(走进11城,9/12-10/27)

  【下载】LAT1289 Keil、IAR、CubeIDE中变量不被初始化方法

  【下载】LAT1288 STM32 G474中Triggered-half模式的实现

  【下载】LAT1309 一步一步创建STM32WBA BLE_Custom工程

  【课程】STM32 & X-Cube-TouchGFX GUI开发实践

  【直播】STM32H5系列:强大的ARM® CORTEX®-M33 MCU让高性能和安全性唾手可得

  【直播】STM32U5系列扩充新成员-探索更安全,更高效,更节能的设计

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  STM32Cube.AI开发者云:只需四个步骤,轻松将AI集成到MCU

  一、前言在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍。 GPIO基本结构中主要对GPIO内部的各个功能电路 ...

  一 系统设计本次厨房系统设计使用STM32单片机为主控,通过DHT11检测温湿度,通过烟雾浓度传感器检测烟雾浓度,通过按键调整温湿度和浓度阈 ...

  1、基本概念ARMCoetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置。STM32目前支持的中断共8 ...

  1、引言随着居民生活水平的提高和气象意识的增强,近年来自动气象站得到了大力的发展。自动气象站需要可视化的人机界面,既能发布动态 ...

  ADC简介:ADC(Analog-to-Digital Converter,模 数转换器)。也就是将模拟信号转换为数字信号进行处理,在存储或传输时,模数转换器几 ...

  2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  意法半导体ST-ONEMP数字控制器简化高能效双端口USB-PD适配器设计

  GaN Systems为瑞萨提供氮化镓,用于48V/12V双向DC/DC转换器

  三星计划明年生产第 9 代 V-NAND 闪存:沿用双层堆栈架构,超 300 层

  安森美将首次亮相上海国际电力元件、可再生能源管理展览会, 展示可持续电源方案

  福禄克首款热成像万用表Fluke-279FC等你来尝鲜!晒心得享好礼喽!

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程雷竞技app官方版下载雷竞技app官方版下载雷竞技app官方版下载