毕业设计 - 基于STM32的智能路灯设计与实现 - 物联网 嵌入式 单片机

这篇具有很好参考价值的文章主要介绍了毕业设计 - 基于STM32的智能路灯设计与实现 - 物联网 嵌入式 单片机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1 简介

Hi,大家好,今天向大家介绍一个 单片机项目

基于STM32的智能路灯设计与实现

大家可用于 课程设计 或 毕业设计

🔥 项目分享与指导:https://gitee.com/sinonfin/sharing

2 绪论

2.1 项目背景

每当夜幕降临,城市中各种各样、色彩缤纷的路灯亮起,为城市披上了一层绚丽的外衣。但在这绚丽的外表下则隐藏着巨大缺点:

1)能源浪费:由于城市的夜晚进入后半夜后,人们已经开始休息,街上人流量开始减少,有些地段在特殊时段根本不需要过多的路灯照明,导致能源浪费,增加了不必要的成本;

2)维护困难:由于使用人工巡检,需要大量人力,而路灯数量庞大,路灯实时状态不能及时获取,导致路灯故障维护、排查效率极低。

2.2 需求分析

近年来中国国力不断增强, 资源方面非常欠缺, 其中电力能源尤为紧张。 环保节能成为当今社会的主题。 路灯是城市中处处可见的基础设施, 也是一个城市现代化的标志。 路灯最原始的控制方式是人工控制, 由管理人员手动控制来实现, 这种方式不仅浪费人力, 耗时较多, 而且效率低下。 其次是时控控制方式, 由路灯的配电柜内的时控装置控制, 也就是通过设置配电箱里的定时器, 来实现路灯的定时打开或关闭,是目前城市应用最多的控制方式。 但是时控控制照明方式单一且耗能较大, 还常常因为不同原因而没有及时启动, 例如: 特殊天气等。

因此, 为了提高城市道路照明系统的效率和可扩展性, 丰富其照明方式, 现提出了一种基于NB-IoT的智能路灯管理系统, 目的是将城市道路照明与空气质量检测相结合, 将嵌入式技术与无线通信相结合, 同时融入到新的城市物联网(IoT) 系统, 从而实现对城市路灯的控制精准化、 监控智能化、 故障检修便捷化。 利用传感器技术来完善城市道路智能照明, 实现智能化, 数字化的同时, 具备监测周围环境并实时检测PM2. 5浓度功能。

stm32智能路灯,单片机

3 系统设计

具体功能如下:

1)路灯节点支持自定义控制方式,可支持自定义时间控制策略和多样化控制(两侧路灯全亮、全关、隔杆高亮等)两种方式;

2)根据所在环境光照强度,自动调节路灯亮度,低功耗节能减排;

3)断电保护,电压电流超过安全阈值,路灯自动断电;

4)路灯故障自动报警,GPS精确定位,可从手机APP、微信小程序、PC端和Web平台可视化监控路灯信息,随时可调取任何一处路灯信息;

5)实时采集路灯节点工作状态、电压、电流、功率、功率因数、耗电量、产生二氧化碳、频率、环境光照度和路灯状态数据,实现统计分析和历史查询。

6)使用机器学习算法,根据对路灯节点实现建模,实现城市画像分析。

总之,基于NB-IoT技术的城市道路智慧路灯监控系统有着广阔的前景和宽广的需求。

3.1 功能设计

基于NB-IoT技术的城市道路智慧路灯监控系统,在每个照明节点上安装一个集成了NB-IoT模组的单灯控制器,单灯控制器再经运营商的网络,与路灯控制平台实现双向通信,路灯控制平台直接对每个灯进行控制,包括开关灯控制、光照检测、自动调节明暗、电耗分析等操作。智慧路灯实物图如下所示:

3.1.1 系统角色分析

根据需求分析提出的研究方向, 系统的角色分配如图 2-1 所示。 管理人员在电脑中查看传感器节点检测回来的光强和 PM2.5 数据, 并对数据进行判断。 通过阿里云平台, 对路灯进行手动控制。

stm32智能路灯,单片机

3.1.2 开发环境

stm32智能路灯,单片机

3.2 总体设计

智能路灯系统的总体设计主要分为软硬件设计和软件设计两个部分。 硬件主要由STM32 开发板、 光敏传感器、 PM2. 5 空气传感器和串口组成。 软件则分为 IOT 云平台,Mysql 和数据的采集、 发送和接收。

stm32智能路灯,单片机

3.3 硬件部分

3.3.1 整体架构

基于 NB-IoT 的智能路灯管理系统硬件部分主要以 STM32 开发板作为核心, 光敏传感器模块与 PM2. 5 空气传感器模块通过串口与 STM32 核心板连接。 传感器节点采集到的数据由核心板处理, 然后把处理好的数据通过串口发送给 NB-IoT 模块。

stm32智能路灯,单片机
学长所用到的器件选型为:

  • (1) STM32 核心板: STM32F103
  • (2) 光敏传感器模块: GY-30
  • (3) PM2. 5 传感器模块: GP2Y1014AU

3.3.2 stm32部分

学长使用到的具体型号为STM32F103C8T6, 是一款 32 位的微控制器。

stm32智能路灯,单片机

STM32芯片接线图

stm32智能路灯,单片机

3.3.3 光敏传感器模块

相比于其他传感器, 光敏传感器最为常见、 每年的产量也占据多数、 被人们所广泛应用。 光敏传感器种类繁多, 光电管、 光电倍增管、 光敏电阻等均包含在内。 光敏电阻是最简单的光敏传感器, 智能路灯管理系统用到的光敏传感器为 GY-30, 是一种光敏电阻。 其工作原理是利用光敏元件将光信号转换为电信号。

stm32智能路灯,单片机

3.3.4 PM2. 5 空气传感器模块

智能路灯管理系统中的 PM2. 5 空气传感器模块采用 GP2Y1014AU 粉尘传感器, 是一款利用光学对空气中的灰尘进行检测的传感器模块, 由夏普公司所开发研制。

stm32智能路灯,单片机

引脚图:

stm32智能路灯,单片机

3.3.5 NB-I oT 模块

NB-IoT 是万物互联网络的一个重要分支, 是物联网领域的一个新兴技术, 中文名称为窄带物联网。 NB-IoT 构建于蜂窝网络, 消耗的带宽较小, 大约为 180kHz。 为了降低部署的成本, 可直接部署于 GSM 网络(2G) 、 UMTS 网络(3G) 或 LTE 网络(4G) ,还能实现平滑升级。

stm32智能路灯,单片机

引脚图:

stm32智能路灯,单片机

3.4 软件部分

3.4.1 核心部分 - NBIOT 模块通讯控制

NB 作为通讯模块, 将各传感器采集回来的数据, 经过 STM32 处理后上传到服务器。

stm32智能路灯,单片机

NB 模组通过串口通讯, 使用之前我们要对 NB 硬件进行复位, 配置 USART 为中断源, 初始化配置 NVIC, 优先级的设置。 然后我们就可以对 NB_UART 进行配置。第一步, 初始化 GPIO, 打开串口 GPIO 的时钟后分别配置 USART 的 Tx/Rx 的 GPIO模式;

stm32智能路灯,单片机

第二步, 配置串口的初始化结构体, 首先打开串口外设的时钟, 然后配置串口的工作参数, 其中波特率设置为 9600, 数据字长设置为 8bit, 设置停止位和校验位、 设置工作模式时接收和发送一起设置, 到这里串口的初始化配置就基本完成。 还要配置串口的中断优先级, 使能串口接收中断;

stm32智能路灯,单片机

3.5 实现效果

stm32智能路灯,单片机

路灯在不同光照强度下的亮度对比

stm32智能路灯,单片机

3.6 部分相关代码



void Adc_Init(void)
{
ADC_InitTypeDef ADC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB |RCC_APB2Periph_ADC1 ,
ENABLE ); //使能 ADC1 通道时钟
RCC_ADCCLKConfig(RCC_PCLK2_Div6);  //设置 ADC 分频因子 6 72M/6=12,ADC 时间
不能超过 14M
//PA1 作为模拟通道输入引脚
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入引脚
ADC_DeInit(ADC1); //复位 ADC1
ADC_InitStructure.ADC_Mode=ADC_Mode_Independent; //ADC 工作模式:ADC1 和
ADC2 工作在独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //转换工作在单通道模式
ADC_InitStructure.ADC_ContinuousConvMode=DISABLE; //转换工作在单次转换模
式
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None; //转换由软
件而不是外部触发启动
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC 数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换的 ADC 通道的数目
ADC_Init(ADC1,&ADC_InitStructure); //根据指定的参数初始化外设 ADCX 的寄存器
ADC_Cmd(ADC1, ENABLE); //使能指定的 ADC1
ADC_ResetCalibration(ADC1); //使能复位校准
while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束
ADC_StartCalibration(ADC1); //开启 AD 校准
while(ADC_GetCalibrationStatus(ADC1)); //等待校准结束
}
unsigned int Get_Adc(unsigned char ch)
{
 //设置指定 ADC 规则组通道, 一个序列, 采样时间
ADC_RegularChannelConfig(ADC1,ch,1,ADC_SampleTime_239Cycles5 ); //ADC1,ADC
通道, 采样时间为 2395 周期
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的 ADC1 的软件转换启
动功能
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));/等待转换结束
return ADC_GetConversionValue(ADC1);
} //返回最近一次 ADC1 规则组转换结果

void DS1302_Dispose() //时钟处理函数
{
unsigned char DS_Tab[7];
if(state==0)
{
ds1302_readtime(time_data_1) ; //先获取时间
ds1302write(0x8e, 0x80) ; //开保护
}
else
{
DS_Tab[0]=(time_data_1[0]/10) *16+(time_data_1[0]%10) ;
DS_Tab[1]=(time_data_1[1]/10) *16+(time_data_1[1]%10) ;
DS_Tab[2]=(time_data_1[2]/10) *16+(time_data_1[2]%10) ;
DS_Tab[3]=(time_data_1[3]/10) *16+(time_data_1[3]%10) ;
DS_Tab[4]=(time_data_1[4]/10) *16+(time_data_1[4]%10) ;
DS_Tab[5]=(time_data_1[5]/10) *16+(time_data_1[5]%10) ;
ds1302write(0x8e, 0x00) ; //关保护
ds1302write(0x80, DS_Tab[0]) ;
ds1302write(0x82, DS_Tab[1]) ;
ds1302write(0x84, DS_Tab[2]) ;
ds1302write(0x86, DS_Tab[3]) ;
ds1302write(0x88, DS_Tab[4]) ;
ds1302write(0x8C, DS_Tab[5]) ;
}
}

// PWM 调光程序如下所示。
if(adcx<300)LED_Count=300;//限制光敏 AD 转换的范围
else if(adcx>3900)LED_Count=3900;
else LED_Count=adcx;
PWM_Count=(LED_Count-300)/360; //光敏的范围是
3900-300=3600, 得到的 AD 值也减去 300, 去除 360 将光敏的强度转化为 10 个等级
}
else //不在范围区间, 是关
{
 PWM_Count = 0 ;
}
}
else
{
if(((time_data_1[2]*60+time_data_1[1])>=(Close_shi*60+Close_fen))&&((time_data_1
[2]*60+time_data_1[1])<(Open_shi*60+Open_fen)))
{
 PWM_Count = 0 ;//否则 PWM 为 0, 关。
}
else //是开
{
if(adcx<300)LED_Count=300;//如果 adcx 值小于 300, LED
输出值为 300
else  if(adcx>3900)LED_Count=3900;//如果 adcx 值大于
3900, LED 输出值为 3900
else LED_Count=adcx;//否则 LED 输出值等于 adcx 值
PWM_Count = (LED_Count-300)/360;
}
}
}
else PWM_Count = 0 ; //否则 PWM 为 0, 关。
}


4 最后

🔥 项目分享与指导:https://gitee.com/sinonfin/sharing文章来源地址https://www.toymoban.com/news/detail-752383.html

到了这里,关于毕业设计 - 基于STM32的智能路灯设计与实现 - 物联网 嵌入式 单片机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [毕业设计] 基于单片机的智能快递柜设计与实现 - stm32 物联网

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于单片机的智能快递柜设计与实现 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 一般来说,传统快递服务方式是人对人,即快递员进

    2024年01月16日
    浏览(95)
  • 【毕业设计】基于单片机的智能感应垃圾桶设计与实现 - 物联网 stm32 嵌入式

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于单片机的智能感应垃圾桶设计与实现 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 学长设计的系统主要使用 STC89C52 单片机为基础设

    2024年01月17日
    浏览(146)
  • 【毕业设计】基于单片机的智能鱼缸系统设计与实现 - 嵌入式 物联网 stm32 51单片机 智能鱼缸

    Hi,大家好,今天向大家介绍一个 单片机项目, 大家可用于 课程设计 或 毕业设计 基于单片机的智能鱼缸系统设计与实现 🔥 项目分享与指导: https://gitee.com/sinonfin/sharing 近年以来,随着我国综合实力飞速飙升,人们对物质和精神生活质量的要求也不断提升,各式各样的智能

    2024年02月04日
    浏览(90)
  • 毕业设计 基于STM32的智能宠物投喂系统(全套资料)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月06日
    浏览(57)
  • 毕业设计 基于stm32的智能婴儿车系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月08日
    浏览(120)
  • 毕业分享 stm32智能平衡小车设计与实现

    文章目录 0 前言 1 项目背景 2 设计思路 3 硬件设计 4 软件设计 4.2 直立控制程序设计 4.3 速度控制程序设计 4.4 方向控制程序设计 4.5 关键代码 5 最后 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这

    2024年02月02日
    浏览(53)
  • 毕业设计|基于STM32单片机的语音识别控制智能停车场设计

    演示视频 https://www.bilibili.com/video/BV1bC4y1579d/?spm_id_from=333.999.0.0vd_source=0fb8a603c3cd84c0c72e5fa5d4201605 本系统采用stm32f103c8t6单片机+晶振电路+复位电路+电源电路+车位检测电路+OLED显示电路+继电器控制电路+语音识别电路构成。 1,通过红外对管模块实时检测车位是否占用,车位分为

    2024年02月04日
    浏览(86)
  • 毕业设计-基于机器视觉的室内智能安防车系统 -STM32和 OpenCV

    目录 前言 课题背景和意义 实现技术思路 一、系统整体设计 二、智能安防车硬件系统设计 三、室内安防车自动巡逻机制的实现 四、基于 OpenCV 图像识别的火焰识别 五、分类器设计及软件实现 代码部分 实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙

    2023年04月17日
    浏览(55)
  • 毕业设计——基于STM32的智能家具系统(语音识别控制、步进电机、舵机)

    智能家具系统分为两个不同版本系列: ①系列一:手机app远程控制、远程检测温湿度显示在app,(云平台)!!!!                   https://blog.csdn.net/m0_59113542/article/details/123737710 ②系列二:语音识别控制-------本文章 硬件采购链接: 步进电机及相关驱动 ULN2003步进电机驱动

    2024年02月05日
    浏览(76)
  • 【毕业设计】基于单片机的智能温控农业大棚系统 - 物联网 stm32

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于单片机的智能温控农业大棚系统 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 近年来我国的温室控制取得了 长足的进步, 首先在

    2024年02月02日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包