基于STM32单片机多功能灯光控制系统

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

摘要

传统的灯光控制系统主要采用继电器来控制,手动控制、布线繁琐、操作不便,而且非常依赖人的操
作,不在适应数字化时代。为解决这个问题,现采用以STM32单片机作为控制核心,通过红外传感器感应人体信号,
经过单片机处理后判断是否控制灯光亮灭,可以根据光敏电阻来调节灯的亮度。语音控制采用口令的方式来控制灯
光的亮灭以及它的亮度,蓝牙模块采用串口APP来控制灯光,定时控制通过定时器设定时间来实现灯的亮灭,用户可
以根据需要设计各种各样的应用控制系统。多功能灯光控制系统不仅可以节约资源,还能够实现灯光控制的有效管
理,延长灯的寿命,减少维护费用。系统设计思路清晰,采用软硬件设计和软件开发,旨在实现节能的要求。
关键词:多功能;stm32单片机;灯光控制;

1 绪论

1.1 选题背景及研究意义
  电能是不可再生能源,如果人们一直不断地浪费,不采取有效的控制,那么电能迟早会枯竭,会对人们产生很
大的影响。因此,国家出台了一系列节能减排的政策,来缓解目前的问题。与此同时,人们也要秉承节约资源的理
念,从现在做起,做到随手关灯,节约资源。在这些众多资源中,电能的短缺是约束其他资源的重要原因。据相关
统计,灯光照明的消耗占据相当大的一个比重,这部分的消耗取决对灯光的控制系统。我国是一个工业大国,对电
的需求量是不计其数的。据统计,2021上半年我国发电量为38717亿千万,比同年增长了12.1%,可见现如今的中国
对电能的需求是越来越大。如果不能合理地利用,那么资源将会慢慢消失
  灯光控制技术的不断更新和优化,在一定的程度上带动了控制系统的所用的电子技术,只有伴随着电子技术的
一点点进步,才能更好地与控制系统相结合,从而更加有效地控制。现代化的高楼大厦中,自控设备和各种各样的
功能系统越来越多,并且越来越复杂。传统的控制方法是控制的设备用连接线引入控制区,虽然同样也可以达到预
期目的,但是错综复杂的电路又给人们带来了一个难题,与此同时,设备的增加也会造成人的增加,对人的操作依
赖更强,不方便,也造成一定的不必要的浪费,同时也影响着人们的身心健康。唯有引入更加先进的技术,才能减
少浪费。本系统是基于STM32单片机的多功能灯光控制系统,采用软硬件相结合的设计,可根据人们的需求,有效的
控制灯光,实现资源的合理利用。多功能灯光控制系统不仅可实现软启动,调节亮度,远程控制,定时等控制方
式,还能更好地突破传统系统的运行限制,从而达到更加环保、节能[2]。本系统可以使在大型建筑的灯光控制系统
管理更加方便,而且可以使整个运营过程更加高效。采用这个系统后,可以让管理人员更加放心,也方便排除故障
和维修,更好地节约成本,减少不必要的浪费。生活中,这个控制系统可以给我们带来简单快捷的使用体验,更重
要的是,它可以在各种环境下由系统控制。调节暗度不仅可以节省功耗,还可以更好地延长灯具的使用寿命。
1.2 国内研究现状
  国内现状90年代先后,在国外智能照明大力发展的冲击下,真善美、松下等众多企业都开始投入大量的物力和
财力,可在过去15年后,成果依然不是很理想。在美国提出了绿色照明计划后,世界上大多数国家开始相继加入这
个组织中,中国逐渐开始以绿色低碳、节能环保、可持续发展为主要目标,并在十二五计划中围绕绿色发展进行
着。与此同时,科学技术的迅猛发展和人民生活的高质量发展,便利快捷开始走入人们的生活,本着一种怎么简单
怎么来的心态。据有关人士报道,日本的多数医院采用了智能照明控制系统,采用光照度和传感器相结合的技术对
病房中的灯光进行定时处理,这样的控制方法方便控制和管理,可以减轻医务人员的负担。同时,这样的方式也不
会影响的患者。再者,欧美先进的灯光控制系统已经开始席卷中国,在相同的行业中有着极大的领先。由于我国的
一些企业在灯光控制的研究时间相对过短,在国外品牌的大力冲击下,国内企业相继开始效应。
1.3 本课题研究内容
  本毕业设计针对传统的灯光控制系统不在能满足人们的需求,设计了基于stm32单片机实现多功能控制系统,主
要涉及了单片机、传感器、计算机技术、电力电子技术和自动化控制等技术。整个设备由单片机、红外检测模块、

语音控制模块、蓝牙控制模块和定时模块组成,具备远程控制的功能,其特点:简单快捷、节约资源。整个毕业设
计经过了测试环境搭建、功能测试、PCB指标调试等阶段,对各个功能进行了测试。系统的主要工作:采用红外管设
别人数,根据不同人数点亮不同数量的指示灯。依据光敏电阻采集光照强度,光越弱灯越亮,反之则越暗。通过语
音LD3320来控制灯亮灭和强弱。系统采用蓝牙串口助手控制灯光的亮度和熄灭。通过按键设置工作时间,在规定的
时间内点亮。语音控制,人数控制和定时控制可以通过按键来切换[3]。

2 系统硬件设计

2.1 系统功能实现
  一个完整的硬件平台是支撑整个设计的骨架,只有硬件平台完善了,才能保证其他部分正常发展。硬件设计首
先要能实现预期的要求和功能,其次要可以修改和更新,不能一旦平台构建成功了,不能再修改,这样不利于后续
的发挥。
  在整个系统设计中,主要负责控制灯光开关以及它的亮度情况,本系统以STM32单片机为核心板,子系统控制模
块涵盖了红外检测模块、0LED显示模块、语音模块、按键模块、蓝牙模块和定时模块,通过以上各个模块来实现对
灯光的控制。红外检测模块通过传感器识别人数,根据不同人数点亮不同数量的LED灯,并且在此基础上,光敏电阻
也能调节灯光的强弱,有光照和无光照时,LED灯的亮度不同。语音模块通过四个指令对灯光的控制,分别为开灯、
关灯、调亮、调暗。调亮和调暗分别都有十个等级。蓝牙模式是通过串口APP来实现对灯光的控制。定时模块通过设
定一个时间范围来实现灯的亮灭。以上介绍的几个模块都是通过按键来切换的。单片机担任一个指挥官的角色,负
责对各个模块进行不断地联系、调节和控制,从而让系统能正常运作起来[4]。系统结构如图2-1所示。在这里插入图片描述

图 2-1 系统结构框图
2.2 微处理器模块
2.2.1 选型原因及单片机最小系统电路
  STM32系列单片机目前是使用非常广泛的一款微处理器,拥有不计其数的用户和广阔的市场前景。
1.25DMips/MHZ
单周期的硬件乘法和硬件除法
存储器 搭载16K到512K内部闪存程序存储器
最大能达到64K字节的SRAM存储器
I/O引脚供电以及2V到3.6V供电
电源管理
提供上电/断电复位(POR/PDR)、可编程电压监测器(PVD)
内置4-16MHZ晶振
内嵌经出厂调校的8MHz的RC振荡器
内嵌带校准的40KHz的RC振荡器
产生CPU时钟的PLL
带校准的32KHz的RC振荡器
工作特点
低功耗特点
具备睡眠、停机和待机三种模式
Vbat能够为RTC和后备寄存器供电
模数转换器
2个12位模数转换器,1us转换时间(多达16个输入通道)
转换范围:0至3.6V
双采样和保持功能
DMA
2个DMA控制器,共12个DMA通道:DMA1有7个通道,DMA2有5个通道
单片机能够支持的外设:定时器、ADC、SPI、USB、IIC和UART
多达112个快速I/O端口
26/37/51/80/112个I/O口,所有I/O可以全部映像到16个外部中断;几乎所有的端口均可容忍5V信号调试模式
包含串行单线调试(SWD)和JTAG接口
包含8个定时器
3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器
输入
1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器
2个看门狗定时器(独立的和窗口型的)
系统时间定时器:24位自减型计数器
多达9个通信接口
2个I2C接口(支持SMBus/PMBus)
3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制)
包含2个SPI接口(18M位/秒)
具有CAN接口(2.0B主动)
采用USB 2.0全速接口
封装 ECOPACK封装
  在多功能灯光控制设计中, STM32F103C8T6单片机作为核心部件,负责连接和控制各模块,协调工作。设计选
用STM32F103C8T6单片机的原因是:一方面,它是32位闪存微控制器,功耗低,性能优良,电压低,实时性好等特
点。 另一方面,它的封装体积较小,价格比其他芯片低,相比51单片机性能更优。单片机有三种工作模式,分别是
睡眠模式、停机模式和待机模式[7][8]。三种模式如下表。STM32F103C8T6在-40至105的温度下都可正常工作,供电
电压在2.0V-3.6V。因此,它的影子到处可见,常常应用在多种场合,比如医疗设备,电机驱动,可编程控制器,报
警系统等等。此外,STM32F103C8T6内部还包含多路12位模数转换器、通用同步/异步收发器等丰富的外设配置,更
加易于实现复杂的外设控制和信息处理,适合作远程传输的单片机主控芯片[6]。

只有CPU停止工作,所有的外设均处在工作状态,可以在发生中断的时候唤醒CPU,使其正常工作
停机模

电量的消耗可以达到最低,内部工作在1.8V电压的都停止工作,HIS和RC振荡器也将停止工作,调压器处
于低功耗模式

SRAM和寄存器的信息将会消失,后备存储器的信息仍然保留,待机的情况下,电路是正常工作的
  单片机最小系统电路,包括电源电路、复位电路和时钟电路[7]。只有包含这三个电路,才能使单片机正常运转
起来,才能够使多功能灯光控制系统得以运行。单片机最小系统电路如图2-3所示。在这里插入图片描述

图2-3 单片机最小系统电路图
2.2.2 电源电路
  电源电路的功能是给单片机提供稳定的工作电压,保证其正常工作。本系统工作电压为直流电5V,1脚接电源,
并接一个下拉电容,用于保护电路和滤波。2脚直接接地,3脚做悬空处理[8]。
2.2.3 时钟电路
  在硬件电路中,时钟电路犹如心脏一般,CPU通过复杂的时序电路完成各种各样的指令功能。时钟芯片的型号是
DS1302,工作电压2.0V-5.5V,1脚和8脚都接电源,分别为VCC1和VCC2。2脚接X1,3脚接X2,4脚接GND,7脚接
SCLK,6脚接I/0,5脚接/RST。本设计采用内部的时钟电路,微调电容取20pf,晶振频率取值在1.2MHZ-12MHZ,本设
计中采用的是8M的晶振[9]。
2.2.4 复位电路
  复位电路作用:用来确定单片机工作的起始状态,完成单片机的启动过程。当给单片机一个复位信号时,程序
会从头开始重新执行。复位相当于一个清零键,重新开始计算。复位电路是影响整个系统可靠稳定的标志,单片机
设计的好坏很大一部分原因取决于它。本系统采用的是上电复位,复位可以高效防止CPU发出错误指令,提高兼容性
[10]。
2.3 红外检测模块
  红外检测模块采用四针制,主要包括光敏电阻和红外探头。红外探头用来检测人体信号,光敏电阻检测周围的
环境光线亮度,光敏电阻采用的的型号是GM5539,能在-30~+70的环境温度下正常工作,光敏电阻的反应时间20ms。
因此,光敏电阻常常应用于电子玩具,灯光控制,光控灯等等[11]。工作电压在3.3v-5v。模块还配有可调电位器,
可调节检测光线亮度。采用此模块的最大原因是信号干净,无杂波、波形好和驱动能力强。1脚接电源正极,2脚接
电源负极,3脚是开关信号输出,4脚是模拟信号输出。模块上还配有指示灯,用来检验是否能正常工作。本模块通
过红外探头来检测人数,根据光敏电阻来调节亮度,从而有效控制LED灯的亮灭,达到预期的效果。
2.4 0LED液晶显示模块
  液晶显示模块采用的0.96寸的0LED模块,主要用于工作模式的切换和显示时间。显示模块在刚开始选择时,考
虑过LCD1602显示屏、TFT液晶显示屏和0LED显示屏,在从体积上和成本上考虑,最终根据系统设计需要,选用使用
0LED显示屏。首先,它的功耗相对这三种显示屏较低,节约资源。其次,它不需要背光源,响应速度快可以使0LED
有更高的刷新率,使用寿命长。最后,它使用SPI协议与单片机进行通信,设计简单。硬件模块接口:1脚接地,2脚
接直流3.3V的电源,3脚接CE,4脚接CSN[12]。
2.5 蓝牙模块
  蓝牙模块的型号为HC-05,模块中命名为J6。模块主要由主机、从机和指示灯灯组成,从机支持波特率9600,工
作方式全双工,通信有效距离大约10米,灵敏度高,易于开发,性价比很高,常常应用于远程控制,智能家居等等
[1]。6根引脚,1脚和6脚悬空,2脚接模块串口发送端,3脚接模块串口接口端,4脚接地,5脚接电源。只有启动进
去数据模式后,它才能可以与其他设备进行无线通信。蓝牙模块接口电路
2.6 按键模块
  按键模块犹如一种开关。系统采用三个按键,最左边的按键是用来右移和换行,中间的按键相当于加,最右边
的按键相当于减。当切换工作模式和设定时间时,按键模块承担着主要角色。按键模块有效地将其他几个模块联系
在一起,让系统完整起来。通过按键按下后,来实现四种模式的切换,从而使系统运行下去。按键模块用到单片机
的A6,A5,和A4三个引脚,连接按键的引脚是需要接上拉电阻。按键模块电路图如下图2-7所示。

2.7 语音模块
  语音模块由LD3320芯片、主控MCU和外围电路组成,主要负责对接收到的语音信号进行识别,并输出相应的结果
。板载上主要有单片机芯片、咪头、麦克风和LED灯等等,单片机芯片采用STC型号的,供电支持3.3v和5v,麦克风
可承接52DB,LED灯给用户信号来检查模块是否能正常工作。模块长46mm,宽30mm,高22mm。LD3320语音模块采用口
令模式[13],分为一级口令和二级口令。二级口令必须在一级口令的完成下,才能够执行。模块与单片机的连接不
需要连接线,直接可以插在板子上,方便、效率非常高效。在同一时刻,模块可识别出用户定义的口令,由咪头输
入,经过单片机的相关处理后,LED灯会做出开灯或者关灯的反应。LD3320模块所有与单片机通讯的引脚已经加上了
上拉电阻,性能更加稳定,用起来更加方便。模块管脚说明如表3,模块管脚示意图如图2-8所示。
表3模块管脚
  
管脚 作用
1脚和32脚定义为VDDI0 说明数字I/0电路用电源输入3.3V
41脚定义为P0/SDI 并行接口,共用SPI输入
42脚定义为WRB*/SPIS* 低电平有效,共用SPI
46脚定义为MD 0:并行工作方式,1:串行工作方式,都遵循SPI协议
47脚定义为RSTB* 复位信号,低电平有效
48脚定义为INTB* 中断输出信号,低电平有效
8脚和33脚定义为GNDD I0和数字电路用于连接地
9脚定义为MICP 麦克风输入(正端/P极)
10脚定义为MICN 麦克风输入(负端/N极)
11脚定义为M0N0 单声道LineIn输入
11-14脚 用于N/A

本次模块主要由有源晶振,指示灯,滤波电容等组成。有源晶振主要是晶振和电容构成,工作频率在4-48MHZ。
1脚接直流电源5V,2脚接地,3脚串接一个390R的电阻,再接RX2,4脚串接一个390R的电阻,再接RX2。滤波电容由
五个电容C2、C10、C11、C12、C13并联构成,分别是10uf、0.1uf、0.1uf、0.1uf、0.1uf。模块电路连接图如图2-9
所示。在这里插入图片描述

图2-9模块电路连接图

3 系统程序设计

3.1 程序功能设计
3.1.1 总体流程图
  硬件是系统的骨架,软件则是系统的灵魂。系统的实现需要硬件和软件有效配合,才能正常工作。软件通过程
序可以对硬件进行控制,从而可以起到一个指挥的角色。软件的设计采用从整体到局部的设计方法。程序设计采用
基于模块化的方式编写,主要包括下面几个部分:语音、红外检测、蓝牙等模块。系统上电后,先初始化外围设
备,在按键模式的切换下,有四种工作方式:计数模式、语音模式、蓝牙模式和定时模式。单片机将获取的数据进
行处理并作出相应的反应,然后通过0LED显示,从而来控制LED灯[14]。总体流程如图3-1所示。在这里插入图片描述

图3-1系统总体程序流程图
3.2 子程序功能设计
3.2.1控制系统软件设计
  系统经过初始化后以及各个模块的设定后,就开始进入程序的大循环。红外检测模块通过传感器识别人数,根
据不同人数点亮不同数量的LED灯,并且在此基础上,光敏电阻也能调节灯光的强弱,有光照和无光照时,LED灯的
亮度不同。语音模块通过四个指令对灯光的控制,分别为开灯、关灯、调亮、调暗。调亮和调暗分别都有十个等
10
级。蓝牙模式是通过串口APP来实现对灯光的控制。定时模块通过设定一个时间范围来实现灯的亮灭。红外检测模
块、语音模块、0LED显示模块、蓝牙模块和定时模块通过按键来实现控制。
  具体实施方案:上电后,通过按键来选择工作模式。工作模式有四种,分别是:红外检测模式、语音模块、蓝
牙模块、定时模块。红外检测模式:通过红外传感器的遮挡,来点亮LED灯。红外管检测到几个人,相应的LED就亮
几个灯,设置可检测8个人。再根据光敏电阻调节亮度,光照越暗,LED灯就越亮,反之越暗。语音模式:设置四个
口令,分别为开灯、关灯、调暗、调亮。通过LD3320来控制LED灯亮灭和强弱,灯光的亮度分为十个等级。蓝牙模
式:蓝牙模块HC-05通过串口APP与手机相连,在串口APP设定十六进制AA0155为打开,十六进制AA0255为关闭,十六
进制AA0355为调亮,十六进制AA0155为调暗,亮暗也分为10个等级。定时模式:在0LED显示屏上,设定一个时间范
围,在规定的时间内点亮和熄灭,从而控制控制LED灯。综上所述,通过四种工作模式,实现多功能控制,达到预期
效果。
3.2.2语音模块流程图
  语音模块通过LD3320实现LED的远程控制,采用口令的方式来控制。一级口令:开灯和关灯。二级口令:调暗和
调亮。通电后,语音模块的指示灯会亮,说明模块可以正常工作。接着LD3320便开始收集信号。首先,将采集到的
语音信号与一级口令进行匹配,若匹配成功,则相应的LED会做出开灯或者关灯的反应。若匹配不成功,则继续采集
语音信号,再与二级口令匹配。匹配成功后,LED会做出调暗或者调亮的变化。如果采集的信号既不与一级口令匹
配,也不跟二级口令匹配,则放弃当前采集的结果,重新采集信号[15]。语音程序流程图如图3-2所示。
图3-2 语音程序流程图
3.2.2 0LED模块
0LED模块主要用来显示时间和人数,相应的4脚的I2C驱动0LED,调用过0LED初始化函数后就可以使用0LED相关的函
数和参数。首先,写入每个数据位的地址,这样就可以将相应的时间写入液晶屏里。在写入时间数据前,单片机会
先读取接口的状态,作出下一步的判断。然后,系统通电后,会对显示模块初始化,显示一个起始时间。接着,给
显示模块写入相应读取的数据地址,将数据写入显示模块,并调用显示函数显示数据[16]。
3.2.3 蓝牙模块程序流程图
  蓝牙模块实现HC-05和手机端数据通信的功能。在程序设计中,利用串口APP设置相应的口令:AA0155-打开,
AA0255-关闭,AA0155-调亮,AA0155-调暗,实现数据交互,从而控制LED灯的亮灭,进而达到一个远程的控制。在
串口中断函数中将数据写入蓝牙模块的缓冲区中,通过串口APP,实现数据传输[17]。蓝牙模块程序流程图如图3-3
所示。

3.2.4 红外检测模块
  红外检测模块是计数模块的一部分,作为子程序的一部分,主要用于检测是否有人存在,如果存在,LED就会亮
[18]。红外检测模块程序模块流程图如图3-4所示。
  流程具体描述:通过红外传感器来检测人数,根据光敏电阻的亮暗来调节LED灯的亮灭。在传感器检测到一个单
位后,相应的LED也会亮一个,以此类推,最多只能检测8个人,超过8个人也只能亮8个LED灯。没有光照的情况下,
LED的亮度会很亮。有光照的情况下,LED的亮度会变暗一些。光敏电阻通过光照的强弱来做出相应的变化,从而可
以达到一个节约资源的目的。在这里插入图片描述

图3-4红外检测模块程序模块流程图
关键代码如下所示:
  if(GPI0_ReadInputDataBit(GPI0B,GPI0_Pin_0) == KEY_0N)
{
12
if(Pers0nC0unt >= 8)
{
Pers0nC0unt = 8;
}
else
{
Pers0nC0unt++;
}
   0LED_Sh0wNum(120,0,Pers0nC0unt,1,16);//显示实时人数,超过8人仍显示为8
3.2.5 定时模块程序流程图
  定时器是整个函数中很重要的一部分,其主要功能是防止程序进去死循环。首先,时间初始化,接着,在0LED
上设定一个时间范围,单片机会判断时间是否在设定的时间范围内。然后,LED灯会做出相应的变化。定时模块程序
模块流程图如图3-5。在这里插入图片描述

图3-5定时模块程序模块流程图

4 实物的制作和系统调试

4.1 实物的制作
实物的制作只要是三个大环节:原理图的设计、PCB设计和制作BOM报表。
  具体流程:首先,要建立元器件库,定义管脚及属性。接着,去封装库找到相应的封装添加。库里没有相应封
装的,只能自己画。然后,画原理图并在适当的地方添加注释,便于理解。最后,进行电气规则检查,这样原理图
就画好了。下面开始画PCB,在PCB的页面画每个元器件的的PCB,然后开始布局和布线 ,二者关系很大,布局好方
便布线。最后进行DRC检查,一个个排查和修正。最后,从PCB原理图中导出BOM报表,这样整体的准备工作就做好
了。将PCB发给嘉立创打板,购买相应的元器件。等板子回来,一步步上元器件、调试。PCB图如图4-1所示,PCB原在这里插入图片描述

理图如图4-2所示。
13

图4-1 PCB图

图4-2 PCB原理图图
4.2 系统调试
  首先,编写代码,整个过程中用C语言来编写。因为C语言学习简单,通俗易懂。程序代码用到了网上的开源代
码,并对代码进行了必要的注释。接着,要提供一个完整的开发环境。我选择KEIL5来进行开发。首先,要选择相应
的单片机型号,即stm32f103c8t6芯片。接着,在工程下依次新建Startup、C0re、User、HARDWARE、Libraries、
CMSIS、0utput文件夹。然后,再相应的为启动文件夹,Cortex微控制器软件接口标准文件夹,驱动库文件夹、全局
文件夹、用户文件夹、编译后输出文件夹,至此一个Keil Uvisi0n5 MDK工程文件结构搭建完毕。随后进入Keil
Uvisi0n5 MDK官方网站,将相应的启动文件、内核文件等的库函数复制到对应的文件夹下。最后进行工程的配置,
使得能够进行编译成功的代码烧录进单片机内,这样单片机的开发环境已经搭建完成[19]。
  本系统是基于传感器技术和物联网技术的多功能灯光控制的模拟装置设计,通过在keil5 MDK软件环境下用C语
言进行程序编写,基于库函数的方式来间接的配置寄存器,进而烧写到单片机中实现对灯光的有效的控制。开发环
境如图4-3所示。在这里插入图片描述

图4-3 keil开发环境图
4.3 硬件调试
  调试前先检查各个电路模块是否能正常工作,避免在调试过程中发生不必要的安全事故。在各模块都能正常工
作的前提下,将各个模块连接在一起。注意事项:蓝牙集成块的芯片要指向单片机,语音集成块的喇叭要背向单片
机。
焊接部分:将各模块所需引脚接上排针焊接,方便后续连线。方便各模块连接电源。
接线部分:按照电路图,将各模块相连。模拟装置设计实物图如图4-4所示。
在这里插入图片描述

图4-4多功能灯光控制系统的模拟装置设计实物图
  系统测试:本设计是实现多功能灯光控制系统,为了原理性地验证本系统功能,通过分步测量系统各模块及功
能运行情况。接通电源,系统初始化。根据按键选择不同的工作模式:计数模式、语音模式、蓝牙模式、定时模
式。
  计数模式功能测试: 红外检测到几个人,相应的就有几个LED亮。当有红外传感器检测有六个人呢,LED就亮6
个。实验现象符合预期效果。
  语音模式功能测试:当听到开灯的口令时,LED灯就亮。当听到关灯的口令时,LED灯就灭。当听到调亮的口令
时,LED灯会逐渐变亮。当听到调暗的口令时,LED灯会逐渐变暗。
  蓝牙模式功能测试:在串口APP上按下开灯,,LED灯就亮。按下关灯,,LED灯灭。按下调亮,LED灯LED灯会逐
渐变亮,按下调暗,LED灯LED灯会逐渐变暗。
  定时模式功能测试:根据0LED上显示的时间范围内,设置时间在9:54—9:55点亮。当时间在设定的范围内,LED
灯正常点亮,不在设定的时间范围内,LED灯熄灭。预期效果符合要求。
在这里插入图片描述

图4-8定时调试图
综上所述,系统测试完成,各模块可以协调工作,实现预期功能。相关调试结果如表4。

5总结与展望

本文主要设计了多功能灯光控制系统,结合了单片机、传感器、计算机技术和电力电子技术等技术,实现的功
能有:通过按键来选择工作模式。工作模式有四种,分别是:红外检测模式、语音模块、蓝牙模块、定时模块。红
外检测模式:通过红外传感器的遮挡,来点亮LED灯。有几个人就亮几个灯,设置可检测9个人。再根据光敏电阻调
节亮度,光照越暗,LED灯就越亮,反之越暗。语音模式:设置四个口令,分别为开灯、关灯、调暗、调亮。通过
LD3320来控制LED灯亮灭和强弱,灯光的亮度分为十个等级。蓝牙模式:蓝牙模块HC-05通过串口APP与手机相连,在
串口APP设定十六进制AA0155为打开,十六进制AA0255为关闭,十六进制AA0355为调亮,十六进制AA0155为调暗,亮
暗也分为10个等级。定时模式:在0LED显示屏上,设定一个时间范围,在规定的时间内点亮和熄灭,从而控制控制
LED灯。综上所述,通过四种工作模式,能实现预期的设计要求。
  通过自己的努力和老师的帮助,我的毕业设计总算是完成了,基本上符合要求。在这个过程中,我收获了很
多。在专业知识上,我了解了单片机开发的基本流程,学会了c语言编程,也会画PCB图。在调试过程中,有了自己
能独立解决问题的能力,明白了书本上的理论不能照搬,要考虑很多因素,这样才不会发生大的问题。起初,我拿
到这个题目后,大脑一片空白,不知从哪里着手去做。因为我欠缺很多专业知识,这也是整个过程中最大的阻力。
慢慢我就开始在B站上找相关视频来学习,就这样一点点的补,终于还是完成了这个设计。我深刻体会到实践是检验
真理的唯一标准,之前在学校学的理论知识,完全是不考虑其他条件下,全是理想化,还有调试也是在软件上进
行,缺少一定的真实数据,造成自己好像都完全掌握的现象。现在通过本次设计,让自己考虑问题更加全面和细
致。懂得在画PCB的布局要规范,了解焊接的某些小技巧,学会了简单的编程语言,最为重要的是知道怎么把这些连
接在一起,组成一个完整的系统,实现以上功能。虽然本系统非常的简单,但对于我一个刚刚入门的学习者来说,
也是一个很大的挑战。从起初的什么都不会,基本上什么都要问老师和同学,到现在自己能独立完成和解决一些问
题,这对我而言就是一个不错的成长和进步。数字化时代为楼宇的建设和管理提供了方便,同时还为楼宇建设的信
息化快速发展提供了有力的保证。
  本系统通过单片机对灯光的有效控制,采用软硬结合的方式,实现了多种功能,给人们带来些许便利,节约了
电资源,本设计虽然基本达到了预期的要求,但是还需要多改进,有较大进步空间。在计数模式下,检测人数上有
一定的局限性,只能检测8个人,超过8个人还是亮8个LED灯,这就不能知道到底有几个人,还有就是人离开,LED灯
应该就灭一个,以此类推。红外检测的灵敏度不高,说完口令后,LED灯不能立即就亮,有1-2秒的延迟,有待扩
展。语音模式的指令过于简单,可设计多种指令,把利用率达到最大化。因此,系统后续还需继续完善。

单片机课设部分代码及注释、流程图 公开自己的笔记,供大家学习,希望有所帮助 阅读详情

相关推荐

手把手教你做基于stm32的红外、语音、按键智能灯光控制(上)

这次项目使用的板子是stm32f103c8t6最小系统板,这个板子在tb上都能够买到,随便一个最小系统板都可以,== 注意在买最小系统板的时候需要买一个stlink下载器来下载程序。显示模块是使用的0.96英寸的OLED屏幕,注意是使用的IIC通信协议的OLED屏幕,不是使用SPI总线协议的。这次写的代码还顺便集成了检测温湿度的功能,所以要使用DHT11温湿度传感器,来采集温度。本文所设计的基于单片机灯光控制系统主要由模式选择功能、手动模式和自动模式组成。LED灯自然就是要控制的部件了。

nbbskk的博客 6520

实验(八):交通灯控制

单片机原理及应用》实验报告(八)【zzuli】

心之所向 5819

基于STM32的模拟舞台灯光控制系统设计

本文设计了一款基于STM32的模拟舞台灯光控制系统,通过PWM调节RGB LED的亮度与颜色,支持多种灯光效果和远程控制功能。该系统在舞台演出中具有广泛的应用前景,可以根据不同的演出场景调整灯光,增强视觉效果。未来,随着硬件技术的发展,可以加入更多传感器(如声音传感器、动作传感器等),使系统更加智能化,自动调节灯光以配合演出内容。同时,通过增加更多的控制按键和功能,可以丰富系统的操作性,提升灯光效果的多样性。PWM信号的占空比决定了LED灯的亮度,而RGB颜色值决定了灯光的颜色。4.2 灯光效果设置。

stm32d1219的博客 1425

51单片机学习(入门篇)

第三步,保存新文件或者已存在文件,创建c文件。第二步图中1 创建一个文件夹。第一步点击红框中内容。

weixin_45962845的博客 498

单片机裸机程序——程序架构

使用定时器设定不同的时间片,定时到了某个时间节点,就去执行对应时间片里的代码,代码执行时间不能超过时间片时间,时间片时间应该根据所执行任务的耗时来设定。比如,按键扫描,通常都需要软件防抖,顺序法是延时10ms左右再去判断,但10ms极大浪费了CPU的资源,在这段时间内CPU完全可以处理很多其他事情,时间片轮询法就能很好利用CPU资源。前后台顺序执行是入门开发者常用的程序架构,逻辑简单,复杂度低,代码量少,最直观了,从上往下执行,全部任务都在一个循环里执行,不考虑每个函数执行所需要的时间。

改变自己现在能改变的,珍惜自己现在所拥有的 3529

51单片机开发综合实验程序结构解析

一、主程序main.c 所采用的单片机型号为:STC89C52RC(封装: LQFP-44) 按照惯例先看主函数: /************************* 实验:综合实验程序 *************************/ #include "main.h" void main() { EA = 1; //开总中断 BeepInit(); //蜂鸣器初始化为不叫的状态 ConfigTimer0(1); //定时器0初始化定时为1ms ConfigTi

Stark_的博客 3248

基于STM32单片机多功能灯光控制系统设计

本文设计了一套基于STM32智能灯光控制系统,实现了智能化、兼容性和节能性。系统支持按键、手机APP(蓝牙/WiFi)和人体感应三种控制方式,通过PWM信号实现0-100%亮度调节,并预设多种场景模式。硬件以STM32F103C8T6为核心,包含LED/白炽灯驱动、通信、人体感应等模块;软件采用模块化设计,具备PWM控制、多方式交互和场景切换功能。经调试优化后,系统响应速度提升至50ms内,并增强了光源兼容性,可满足家庭、办公等场景的智能照明需求。

QQ1928499906的博客 755

stm32项目】多功能智能家居室内灯光控制系统设计与实现(完整工程资料源码)

随着现代科技的迅猛发展,智能家居系统在我们的日常生活中扮演着越来越重要的角色。通过智能化技术提升家居环境的舒适度和安全性,已经成为当前技术创新的重要方向之一。在大数据、物联网(IoT)和人工智能(AI)技术的推动下,智能家居系统的功能越来越丰富,操作越来越简便,兼容性和扩展性也显著提升。灯光控制作为智能家居系统中的重要组成部分,对于营造家居氛围、提高能源利用效率和提升生活质量具有重要意义。本项目旨在设计并实现一个多功能智能家居室内灯光控制系统,通过整合多种先进的传感器和控制模块,实现对室内灯光智能控制。

嵌入式技术开发 3272

STM32单片机CAN总线汽车灯光控制系统远近光刹车双闪

STM32单片机CAN总线汽车灯光控制系统远近光刹车双闪 关键词:汽车自动会车大灯,CAN总线会车大灯,STM32单片机CAN总线 CAN总线汽车灯光控制系统 STM32汽车灯光

LS840233684的博客 2290

基于STM32智能灯光控制系统

本文设计并实现了一款基于STM32F103C8T6单片机智能灯光控制系统。该系统整合光线检测、PWM亮度调节、LCD显示、蓝牙通信和语音识别等技术模块,实现了灯光自动调节、远程控制和语音交互等功能。硬件设计以STM32为核心,搭配光敏电阻、LCD显示屏、蓝牙和语音模块;软件采用模块化设计,通过中断驱动协调各模块工作。测试结果表明,系统性能稳定,能根据环境光线自动调节亮度,支持手机APP远程控制和语音指令操作,满足智能家居照明需求。未来可进一步提升系统兼容性和智能化程度,如增加触摸屏控制和机器学习算法优化。

liuxiaofei1990s的专栏 2002

1、基于STM32的音乐喷泉√♥

基于STM32的音乐喷泉 文章目录基于STM32的音乐喷泉Introduction引言1、系统概述1.1、设计任务1.2、设计要求2、 方案设计2.1、芯片选择方案2.2、 系统概述:2.3、系统总体设计思路2.4、各功能模块程序实现原理分析2.4.1.水泵驱动模块2.4.2输入音频功率放大模块3 、STM32性能介绍及硬件设计3.1、 STM32单片机性能介绍3.2、音乐喷泉系统硬件设计\4、 系统程序4.1、主程序设计如下4.2 主程序内容5、系统调试及分析5.1、系统调试5.2、调试现象及分析5.3、

行走的皮卡丘 5510

STM32单片机语音识别家庭灯光控制系统

STM32单片机语音识别家庭灯光控制系统 关键词:STM32单片机语音识别 语音识别家庭灯光控制

LS840233684的博客 2215

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

随着智能家居技术的快速发展,基于物联网和自动化的家居灯光控制系统受到了广泛关注。智能灯光控制系统可以根据环境光强和人体活动自动调节灯光的亮度,不仅提升了用户体验,还实现了节能减排。本文设计了一款基于STM32智能家居灯光控制系统,结合光敏传感器和红外人体感应模块,自动调整灯光开关及亮度,并通过LCD显示当前状态。本文设计的基于STM32智能家居灯光控制系统,通过光敏传感器和人体感应模块实现了自动化的灯光控制,提升了用户体验并节约了能源。⬇帮大家整理了单片机的资料。

stm32d1219的博客 1826

毕业/课程设计——基于STM32智能灯光控制系统(物联网、智能家居、手机APP控制、语音控制)

物联网、智能家居、云平台、自制APP 本系统包含以下六方面功能:1、手机APP远程控制 2、语音控制 3、手机app查看家中的温度 湿度信息 4、超声波坐姿监测 5、OLED显示系统当前状态 6、万年历(支持按键修改时间)

m0_59113542的博客 4万+
上一篇: 基于51单片机电机PWM调速控制系统霍尔测速仪温度检测
下一篇: 基于52单片机的智能加湿器
QQ1694456187
博客等级 码龄4年 6578粉丝 896原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值