基于STM32和HC-SR501智能家居的智能照明系统设计随着经济的发展和科技的进步,人们对照明器具的节能性和科学管理便捷性提出了更高的要求,使得照明控制在智能家居领域的地位越来越重要。使用智能照明控制系统更能体现节能与管理方面的优势,提高家庭的科学照明水平。普通家庭的照明模式是白天关灯、晚上开灯,而采用智能照明控制系统后,用户可以根据不同场合、不同时间的家庭人数进行智能照明,在需要时自动开启照明系统并调节其亮度;同时,系统还能充分利用自然光,在保证必要照明的同时,有效减少灯具的工作时间,节省不必要的能源开支,延长了灯具的使用寿命。
智能照明控制系统可减少灯具的使用时间,能有效节约能源。粗放型经济增长方式会导致资源匮乏,因此调整产业结构势在必行,在照明行业推广智能照明系统具有重要的意义。本文针对目前只根据室内光照度来调节LED灯亮度的方法存在的缺陷,在照明系统中加入红外感应模块和温度检测模块。温度检测模块可实时显示室内温度,红外模块可感应室内是否有人。当红外感应模块检测到室内无人时,系统强制断开电源,这样可以避免家庭主人忘记关闭智能照明系统时带来的能源浪费。
本系统主要由APDS-9008光照度检测传感器、DS18B20温度检测传感器、LCD显示屏、STM32L151、电源模块和红外组成。
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。
当红外传感器检测到有人且光强度低时,LED由暗变亮,串口数据显示当前亮度值,ADC为12位,因此亮度范围为0~4096,当前亮度为70~500cd/m2之间,测试数据正确。
本文设计的智能照明、温度检测系统从测量准确性、功耗、家庭实用性等角度出发,所选用的芯片和模块均符合低功耗的原则,具有体积小、可靠性高、性价比高、结构简单等特点,可用于智能家居系统,具有较高的实用价值。
简介:这是一个STM32按键输入程序,配有原理图及相关程序解析。KEY_Scan函数频繁调用了JTAG_Set函数,每次按键扫描的时候都禁用了JTAG和SWD。 原理图: 程序: delay_init();延时函数,以后再讲 LED_Init();KEY_Init();初始化LED灯何按键为上拉输入 KEY_Scan();
按键输入程序 /
在消费市场越来越年轻化的趋势下,企业们均将目标消费群体定位为年轻人,消费群体主力部队渐渐以80、90后为主。面对老龄化社会的加速到来,老年人群体似乎暂时被遗忘。在家电快速更新换代的步伐中,中国家庭的绝大部分家电以被智能家电替换下场,在普及度不高的乡镇地区智能电视也率先进入寻常家庭。 伴随而来的问题是,家中渐渐年迈的中老年人群体对这些“新兴事物”难以理解,更不会操作,遥控器按键多字体小、部分名词看不懂,智能电视页面层级和步骤细分,中老年群体对此一片茫然。目前,即便老年人家电也推出良久,但仍停留在噱头层面,迟迟没有进展,老年人家电市场尚处于一片空白,究竟是家电产品不给力,还是老人理解能力差? 在老年人群体掌管主
网上大家都在讨论和学习,但是对于架构这个基本问题却没几个人讨论。个人认为有个好的架构是写好代码的基础,可以使后期的调式工作事半功倍!! 1、 架构组成:我的程序代码分为四种结构 a) 顺序执行代码 定义:按照顺序逐行执行的代码 优点:是思路简单,代码可靠不易被干扰。 缺点:占用资源 用途:只用来各种变量、函数的定义,硬件的初始化程序 位置:main.c的开始一直到main函数的while函数之前 b) 空闲执行代码 定义:在CPU空闲的时候才执行的代码 优点:不占用资源 缺点:执行的实时性不能保证 用途:非实时任务,调试信息输出
TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。 TFT液晶原理: *背光模组:提供光源 *上下偏光片,TFT Glass Substrate, 液晶:形成偏振光,控制光线的通过与否 *彩色滤光片:提供TFT LCD R/G/B(三原色)的来源 *ITO透明导电层:提供透明的导电通路
之TFT-LCD液晶 /
近日,美国高通公司宣布将在其推出的 智能家居 平台上配备谷歌助手,以加强与谷歌公司在 智能家居 方面的技术合作,进而提高用户对 智能家居 设备的使用体验。下面就随嵌入式小编一起来了解一下相关内容吧。 奥维云网的数据显示,2020年中国智能家居的整体产值将突破万亿元,其中智能硬件的产值或达6000亿元。其他第三方数据也显示,中国智能家居潜在市场规模约为 5.8万亿元,其中智能家电产品市场约4万亿元。 在2018年国际消费电子展(CES)上,三星电子和乐金电子(LG)分别推出其添加了语音功能的智能电视和冰箱等家电产品,以通过语音识别功能实现不同用户的个性化服务。 但智能家居仍然面临“不智能”的困境。公开数据显示,当下智
(1) 可以实现四种波形:正弦波、方波、三角波、锯齿波; (2) 通过按键进行选择mile米乐m6,频率可以调整; (3) LCD液晶显示; (4)设计出来之后用Proteus软件仿真出效果; 主要硬件设备:STM32F103单片机、DAC0832数模转换芯片、矩阵键盘、LCD12864液晶屏幕。 效果图 正弦波 方波 三角波 锯齿波 单片机源程序如下: #include stm32f10x.h #include sys.h #include delay.h #include 12864.h #include key4_4.h #include timer.h //LYF #define KE
的四种波形发生器设计 /
/* tanqi TFT*/ #include stm32f10x_lib.h #include tft.h #include DS18B20.h extern u8 presence; /************************************************************** 系统时钟初始化 ****************************************************************/ void RCC_Configuration(void) { ErrorStatus HSEStartUpStat
在uVision中新建STM32工程后,需要从STM32标准库中拷贝标准外设驱动到自己的工程目录中,此时需要在工程设置- C/C++选项卡下的Define文本框中键入这两个全局宏定义。 STM32F40_41xxx,USE_STDPERIPH_DRIVER USE_STDPERIPH_DRIVER 这个说明你在使用标准外设驱动,有自己的外设配置文件,即stm32f10x_conf.h,详细可查看stm32f4xx.h中12026-12017行。关于stm32f4xx_conf.h 文件中的内容,是有选择的#inlude stm32f4xx_conf.h ,这样只编译需要的外设文件,减少hex文件的体积。如果没有使用这个宏,
学习例程 target=_blank
PAS CO2 传感器 套件测评
【新品】 STM32H7R/S基于Cortex-M7,运行频率高达600 MHz,板载闪存型MCU 拥有高速的外部存储
【新品】STM32WBA54/55 支持BLE5.4、IEEE 802.15.4通信协议、Zigbee®、Thread和Matter协议
【新品】STM32MP2 最高配备双核Arm® Cortex®-A35和Cortex®-M33的STM32MP2系列微处理器
【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性
ARM7是冯诺依慢结构,流水线级流水线结构,所以性能要高一点。ARM9和ARM11大多带内存管理器,跑操作系统好 ...
1 什么是EGLEGL是用来管理绘图表面的(Drawing surfaces),并且提供了如下的机制(1) 与本地窗口系统进行通信(2) 查找绘图表面可 ...
我用的内核是linux2 6 38的,最开始的时候开发板是可以当U盘用的,而使用hid功能的时候出现如下问题:g_hid gadget: hid_setup crtl_reque ...
最近要学习ARM开发板,想按着单片机的套路,首先开发裸机程序。百度了下,大部分的裸机程序都是用RVDS或者ADS开发,用JLink 或者JTag烧写 ...
飞凌官方提供了一键下载烧写linux的方式,相对来说比较方便,但是对于开发来说不够灵活,因此这篇文章把tftp相关的点介绍一下,整理下其中 ...
Garmin推出Garmin Dash Cam™X系列行车记录仪 可提供各种分辨率的优质高清视频
MPS 隔离式稳压 DCDC 模块——MIE系列,小且不凡!痛点讨论你理想中的电源模块是怎样的?
直播已结束【使用 TI 低成本 MSPM0 MCU 快速开发 – 生态详解系列之二】(9:45开始入场)
站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程