10 STM32单片机的智能灯光系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)

系列文章目录



前言

本文设计出一款基于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)和嵌入式系统设计。
以下是其详细介绍:

  1. 核心架构与性能
    处理器:采用 32 位 Tensilica L106 RISC 处理器,主频支持 80MHz 或 160MHz,集成 TCP/IP 协议栈,可直接运行用户程序。
    内存配置:
    闪存(Flash):提供 1MB 或 4MB 两种版本(具体型号差异),用于存储固件和用户代码。
    RAM:64KB,支持程序运行和数据缓存。
    通信协议:支持 802.11b/g/n 标准,数据传输速率最高 4Mbps,覆盖 2.4GHz 频段,支持 STA、AP、STA+AP 三种工作模式。

  2. 硬件资源与接口
    引脚定义:
    供电: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)实现。

  3. 低功耗特性
    工作模式:
    活跃模式:传输时电流约 170mA,接收时 56mA。
    睡眠模式:
    轻睡眠:电流约 10mA,保留网络连接。
    深度睡眠:电流低至 20μA,适用于电池供电设备。
    唤醒方式:支持定时唤醒、GPIO 触发唤醒或 UART 数据唤醒。

  4. 应用场景
    智能家居:通过 Wi-Fi 连接控制灯光、空调、门锁等设备。
    环境监测:采集温湿度、空气质量等数据并上传至云端。
    工业自动化:远程监控设备状态,实现无线数据传输。
    智能农业:监测土壤湿度、光照等参数,优化种植管理。

3.4 HC-SR501

在这里插入图片描述
HC-SR501是基于红外线技术的自动控制模块,采用LH1788探头设计、灵敏度高、可靠性强,低电压工作模式,广泛应用于各类自动感应电气设备,尤其是干电池供电的自动控制产品。

功能特点:

  1. 全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。

  2. 两种触发方式:(可跳线选择)
    A、不可重复出发方式:即感应输出高电平后,延时时间段一结束输出将自动从高电平变成低电平;
    B、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。

  3. 具有感应封锁时间(默认设置:2.5S封锁时间):感应模块在每一次感应输出后(低电平变为高电平),可以紧跟着设置一个封锁时间段,在此时时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品。

  4. 工作电压默认范围宽:默认工作电压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等,并对每个环节进行了详细测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值