系列文章目录
文章目录
前言
本文设计出一款基于STM32单片机的智能灯光系统。
主要功能如下:
1、3种工作模式,分别是自动模式、手动模式和定时模式。
自动模式:无人时,灯保持关闭。有人时,且外部环境光强低于阈值,开始自动调节亮度。环境光照越弱,亮度越强。在灯打开状态下,灯光亮度不够,认为此灯故障,蜂鸣器报警。
手动模式:灯光亮度分为6个级别,分别是1,2,3,4,5,6。6亮度最大,1最弱,也就是关灯状态。亮度手动设置级别。
定时模式:实时显示当前时间。显示格式为:年-月-日 星期 时:分:秒。设置定时打开和关闭时间。在区间内灯打开,超出此范围,灯关闭。
2、OLED显示信息。
3、阈值可以调节,超出阈值报警。
4、实时显示当前时间
5、单片机-手机APP-云平台三方交互。
1 资料获取与演示视频
1.1 资料介绍
1.2 资料获取
完整资料获得链接:
咸鱼:【胜磊电子】基于STM32单片机的智能灯光系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)
淘宝:【胜磊电子】基于STM32单片机的智能灯光系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)
1.3 演示视频
哔哩哔哩:【胜磊电子】基于STM32单片机的智能灯光系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)
2 系统框架
系统框架如图所示:
单片机整体框图:
3 硬件选型
3.1 主控制器
主控制器选择STM32F103RCT6,在淘宝上买的,如下图所示:
STM32F103RCT6 是意法半导体(STMicroelectronics)推出的一款基于 ARM Cortex-M3 内核的 32 位微控制器,在工业控制、消费电子等领域应用广泛。
内核与性能
内核:采用 ARM Cortex - M3 内核,具备高效的哈佛结构和 Thumb - 2 指令集,可实现较高的代码密度和处理性能。
工作频率:最高工作频率达 72MHz,能快速处理各种复杂任务。
运算能力:支持单周期乘法和硬件除法,提升了数据处理速度。
存储器
闪存(Flash):拥有 256KB 的闪存,可用于存储程序代码。其可擦写次数多,数据保存时间长,适合存储一些需要长期保存的程序和数据。
随机存取存储器(SRAM):具备 48KB 的 SRAM,能为程序运行提供临时数据存储和堆栈空间。
外设接口
通用输入输出端口(GPIO):多达 72 个 GPIO 引脚,可灵活配置为输入或输出模式。这些引脚可用于连接外部设备,如按键、LED、传感器等。
串行通信接口:
UART:3 个通用异步收发传输器(UART),可实现全双工通信,用于与其他设备进行异步串行通信,如连接 PC、蓝牙模块等。
SPI:2 个串行外设接口(SPI),通信速度快,常用于连接外部存储器、传感器等高速设备。
I²C:2 个集成电路总线(I²C),可用于连接多个具有 I²C 接口的设备,如 EEPROM、传感器等,实现数据的传输和设备的控制。
USB 接口:支持 USB 2.0 全速设备模式,可方便地与计算机或其他 USB 设备进行通信。
CAN 接口:具备 1 个控制器局域网(CAN)接口,适用于汽车电子、工业自动化等领域的分布式控制系统,实现节点间的可靠通信。
SDIO 接口:支持安全数字输入输出(SDIO)接口,可用于连接 SD 卡、MMC 卡等大容量存储设备,方便数据的存储和读取。
定时器
高级定时器:1 个高级定时器,可用于电机控制、PWM 生成等高精度应用场景。
通用定时器:4 个通用定时器,具备多种功能,如定时、计数、PWM 输出等,可满足不同的应用需求。
基本定时器:2 个基本定时器,主要用于简单的定时和计数任务。
模拟外设
模数转换器(ADC):拥有 2 个 12 位的 ADC,最多支持 16 个外部通道。可将模拟信号转换为数字信号,用于采集传感器的模拟输出,如温度、压力等。
数模转换器(DAC):1 个 12 位数模转换器,可将数字信号转换为模拟信号,用于产生模拟电压或电流信号。
其他特性
低功耗模式:支持多种低功耗模式,如睡眠模式、停止模式和待机模式,可有效降低系统功耗,延长电池续航时间。
复位和时钟管理:具备完善的复位和时钟管理系统,可确保系统在各种情况下稳定运行。同时,支持外部晶振和内部 RC 振荡器,方便用户根据实际需求选择合适的时钟源。
3.2 显示屏
使用1.8寸显示屏,分辨率128*160。如图,
1.8寸彩屏,支持16BIT RGB 65K彩色显示,显示色彩丰富
128X160分辨率,显示清晰
采用SPI串行总线,只需几个IO即可点亮显示
带SD卡槽方便功能扩展
军工级工艺标准,长期稳定工作
3.3 WIFI模块
WIFI模块使用ESP8266,如图,
ESP01S 是一款基于乐鑫 ESP8266EX 芯片的低成本、低功耗 Wi-Fi 模块,专为物联网(IoT)和嵌入式系统设计。
以下是其详细介绍:
-
核心架构与性能
处理器:采用 32 位 Tensilica L106 RISC 处理器,主频支持 80MHz 或 160MHz,集成 TCP/IP 协议栈,可直接运行用户程序。
内存配置:
闪存(Flash):提供 1MB 或 4MB 两种版本(具体型号差异),用于存储固件和用户代码。
RAM:64KB,支持程序运行和数据缓存。
通信协议:支持 802.11b/g/n 标准,数据传输速率最高 4Mbps,覆盖 2.4GHz 频段,支持 STA、AP、STA+AP 三种工作模式。 -
硬件资源与接口
引脚定义:
供电:3.0V~3.6V(推荐 3.3V),传输电流 170mA,接收电流 56mA。
通信:UART 接口(TXD/RXD),支持 AT 指令交互,波特率默认 115200bps。
GPIO:提供 2 个可编程引脚(GPIO0、GPIO2),可用于控制外设(如 LED、继电器)或传感器输入。
其他:CH_PD(使能引脚,高电平有效)、RST(复位引脚)。
扩展能力:
PWM:部分引脚支持 PWM 输出,用于电机调速或灯光控制。
I²C/SPI:需通过外部扩展芯片(如 PCF8574、MCP23017)实现。 -
低功耗特性
工作模式:
活跃模式:传输时电流约 170mA,接收时 56mA。
睡眠模式:
轻睡眠:电流约 10mA,保留网络连接。
深度睡眠:电流低至 20μA,适用于电池供电设备。
唤醒方式:支持定时唤醒、GPIO 触发唤醒或 UART 数据唤醒。 -
应用场景
智能家居:通过 Wi-Fi 连接控制灯光、空调、门锁等设备。
环境监测:采集温湿度、空气质量等数据并上传至云端。
工业自动化:远程监控设备状态,实现无线数据传输。
智能农业:监测土壤湿度、光照等参数,优化种植管理。
3.4 HC-SR501
HC-SR501是基于红外线技术的自动控制模块,采用LH1788探头设计、灵敏度高、可靠性强,低电压工作模式,广泛应用于各类自动感应电气设备,尤其是干电池供电的自动控制产品。
功能特点:
-
全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
-
两种触发方式:(可跳线选择)
A、不可重复出发方式:即感应输出高电平后,延时时间段一结束输出将自动从高电平变成低电平;
B、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。 -
具有感应封锁时间(默认设置:2.5S封锁时间):感应模块在每一次感应输出后(低电平变为高电平),可以紧跟着设置一个封锁时间段,在此时时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品。
-
工作电压默认范围宽:默认工作电压DC4.5V-20V。
3.5 光敏电阻GL5506
基本信息
品牌:常见的有 JCHL(晶创和立)。
封装形式:采用环氧树脂封装,封装类型为 PHOTORES_5.1X4.3MM_TM,这种封装不仅提升了器件的物理强度和稳定性,还能有效保护内部敏感材料免受外界环境的不良影响。
外形尺寸:长 5.10mm,宽 4.30mm,高度为 2.40mm,体积小巧,便于安装和集成到各种小型化设计的产品中。
工作原理
利用半导体材料的光电效应,当光照强度增加时,半导体材料中的载流子增多,导致电阻值减小;当光照强度减小时,载流子减少,电阻值增大。
性能参数
暗电阻:在无光照射时,GL5506 的暗电阻可高达 0.5MΩ。
亮电阻:在标准光源 A(色温 2854K)下,用 10LUX 光测量,亮电阻为 4KΩ-7KΩ。
最大工作电压:为 150V DC,意味着在正常工作时,施加在光敏电阻两端的直流电压不能超过 150V。
最大功率:GL5506 的最大功率为 90mW,超过此功率,可能会导致光敏电阻过热甚至损坏。
光谱峰值:感应波长峰值为 540nm,对波长为 540nm 左右的光最为敏感,与人眼对光线的敏感范围相符。
响应时间:上升时间和下降时间均为 30ms,能够迅速响应外界光照的变化,为各种应用提供即时的信号反馈。
工作温度范围:通常在 - 30℃至 + 70℃之间,在此温度范围内,光敏电阻能保持较好的性能稳定性。
应用领域
照明领域:用于光控灯,可根据环境光线的强弱自动控制灯光的开关或亮度调节,实现节能效果。
安防领域:在报警器中,可作为光线传感器,当有物体遮挡光线或光线强度发生异常变化时,触发报警信号。
电子玩具领域:为电子玩具添加对外界光线变化的感应能力,增加玩具的互动性和趣味性,例如光控小车、光控机器人等。
工业控制领域:用于工业自动化生产线中的物体检测、计数等,通过检测光线的遮挡或变化来判断物体的位置、运动状态等。
摄影领域:应用于照相机自动测光系统,帮助相机根据环境光线强度自动调整曝光参数,以获得更好的拍摄效果。
4 设计PCB
直接使用上述模块,线路非常杂乱,因此,我们需要自己设计一块PCB底板。开发工具使用立创EDA。
相关资料已经放在本文第一节。
4.1 安装下载立创EDA专业版
4.2 画原理图
4.3 摆放元器件,设计规则,泪滴,铺铜。
4.4 使用嘉立创下单助手进行下单,打板。
4.5 实物图
实物如图:
5 软件设计
5.1 编写STM32单片机代码
工程目录如图所示:
5.2 设计手机客户端
5.3 手机APP主页面
6 proteus仿真
本系统使用proteus8.17进行仿真测试。
完整视频请看本文1.3 演示视频
7 实验测试
7.1 准备
1、准备好硬件实物,接好传感器和其他外设。
2、将TFT LCD插在底板响应位置。
3、ESP8266插在相应位置。
4、在手机端安装APP。
5、上电
7.2 烧录软件
下载代码需要提前安装好MDK环境,准备好SWD下载器,在MDK中进行“LOAD”下载。
7.3 实验验证
1、 proteus仿真测试
2、自动模式测试
3、手动模式测试
4、定时模式测试
5、手机客户端测试
演示视频:
基于stm32单片机的智能灯光系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)
总结
以上,就是基于STM32单片机的智能灯光系统设计,包含实物,仿真、PCB,手机APP等,并对每个环节进行了详细测试。