电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

基于NRF24L01的校园智能路灯初步粗略设计方案

  • 资源ID:91081566       资源大小:868.09KB        全文页数:28页
  • 资源格式: DOCX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

基于NRF24L01的校园智能路灯初步粗略设计方案

传感器与检测应用设计报告 实验名称: 基于NRF24L01的校园智能路灯课程设计 一 设计名称基于NRF24L01的校园智能路灯初步粗略设计方案二 摘要近年来,低碳生活,节能减排越来越受到国家的大力支持,在校园生活中平均一盏路灯的功率在200W-300W之间,每晚大概需要点亮时长为18:00-5:00,粗略的计算会发现每盏路灯的功耗大概在2.2-3.3kW·h,学校大多用电平局一度电在0.55元左右,因此,每晚一盏路灯所产生的电费大概在1.2-1.8元左右,大学校园犹如一个小城市,每个学校的路灯至少上百盏,路灯的数量有的会达到上千盏甚至更多。这给学校每天的开销带来了一部分没必要的浪费。节约校园照明用电消耗成为响应国家对于节能号召的重要措施之一。一般的校园照明系统只是运用普通的声控及光控传感器组成开环的控制系统,其灵活性差,功耗大,不可人为干预。而市场上闭环控制的照明系统投入资金大,稳定性差,无法在校园中得到推广。三 设计目的1. 了解NRF24L01的基本通信原理2. 掌握stm32f103芯片的AD转换原理3. 熟练掌握光敏电阻的应用4. 将本学年所学知识进行一次综合汇总四 设计原理系统的设计主要有以下四个模块部分:微控制器STM32,光敏电阻模块, LED照明电路.无线射频模块。其中光敏电阻模块与LED照明电路组成检测照明部分,主要负责检测外界光的强度,人流高峰期会默认开启普通照明模式,夜间会默认开启节能模式。微控制器STM32负责收集采集数据,以及AD转换,通过串口向PC机发送消息。无线射频模块负责向主机传递信息,当从机照明电路出现错误时会触发射频模块发射数据,不同从机对应不同数据。发送完成结束传输。1. 本设计的设计要求(1).综合考虑选择是一主多从还是一从多主。(2).硬件设计上应该考虑到滤波的重要性,结构尽量简单实用,易于实现,使系统电路尽量简单。(3).软件设计必须要有完善的思路,要充分考虑到各种传感器和无线收发器的时序,做到程序简单,调试方便。(4).通过软件设计尽量降低无线数据传输的误码率2.主要硬件介绍(1).NRF24L01无线模块简介各管脚如下定义:8.IRQ7.MISO6.MOSI 5.SCK4.CSN 3.CE 2.VCC1.GND具体说明:3.CE 芯片的模式控制线。在 CSN 为低的情况下,CE 协同NRF24L01 的CONFIG 寄存器共同决定NRF24L01 的状态(参照NRF24L01 的状态机)。 4.CSN 为芯片的片选线 CSN 为低电平芯片工作5.SCK 为芯片控制的时钟线(SPI时钟)6.MOSI 为芯片控制数据线(Master output slave input) 主输出 从输入7.MISO 芯片控制数据线 (Master input slave output)主输入 从输出8.IRQ 中断信号引脚。中断时变为低电平,即NRF24L01内部发生中断时IRQ 引脚从高电平变为低电平。引脚会在以下三种情况变低:Tx FIFO 发完并且收到ACK(使能ACK情况下)、Rx FIFO 收到数据、达到最大重发次数。中断:nRF24L01 的中断引脚(IRQ)为低电平触发,当状态寄存器中TX_DS(数据发送完成中断位)、RX_DR(接收数据中断位) 或MAX_RT(达到最多次重发中断位)为高时触发中断。当MCU 给中断源写1时,中断引脚被禁止。可屏蔽中断可以被IRQ 中断屏蔽。通过设置可屏蔽中断位为高,则中断响应被禁止。默认状态下所有的中断源是被禁止的。系统结构框图如下所示检测照明部分检测照明部分检测照明部分STM32微控制器STM32微控制器STM32微控制器.NRF24L01发射或接收NRF24L01发射或接收NRF24L01发射或接收NRF24L01通道 五设计原理NRF24L01工作原理发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。 接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。 在写寄存器之前一定要进入待机模式或掉电模式。如下图,给出SPI操作及时序图:图2.4 SPI读操作SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。 nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表2所示。 表2:常用配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SETUP_RETR设置自动重发数据时间和次数07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置接收接点地址1116RX_PW_P0P5设置接收通道的有效数据宽度六硬件电路图(1).NRF24L01原理图 (2).光敏电阻模块原理图(3) .硬件电路连接图七.程序源码及分析(1).主机程序主机程序主要实现当三个从机中在时间触发的情况下进行AD采集带电压并且返回给主机,主机进行错误判断一号路灯出现问题时候,主机会通过串口向PC段发送数据,主机端监视助手会进行判断,对应的相应的灯会出现亮灭以及闪烁状态。以达到提醒维修人员及时检查维修路灯。程序部分如下所示/错误检测NRF_RX_Mode();printf("Receive modern");if(NRF_Rx_Dat(rxbuf) = RX_DR);elseprintf("接收失败rn");/第一个路灯出现问题if(rxbuf0=JC10&&rxbuf1=JC11&&rxbuf2=JC12)bz1=1;USART_SendData(USART1,0x01);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=RESET);delay_ms(10);printf("出错请检查路灯rn");memcpy(rxbuf,"",12);printf("%drn",rxbuf0);printf("%drn",rxbuf1);printf("%drn",rxbuf2);/第二个路灯出现问题else if(rxbuf0=JC20&&rxbuf1=JC21&&rxbuf2=JC22)bz2=1;USART_SendData(USART1,0x02);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=RESET);delay_ms(10);printf("出错请检查路灯rn");memcpy(rxbuf,"",12);printf("%drn",rxbuf0);printf("%drn",rxbuf1);printf("%drn",rxbuf2);/第三个路灯出现问题else if(rxbuf0=JC30&&rxbuf1=JC31&&rxbuf2=JC32)bz3=1;USART_SendData(USART1,0x03);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=RESET);delay_ms(10);printf("出错请检查路灯rn");memcpy(rxbuf,"",12);printf("%drn",rxbuf0);printf("%drn",rxbuf1);printf("%drn",rxbuf2);/路灯一和路灯二出现问题else if(bz1&&bz2=1)USART_SendData(USART1,0x04);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=RESET);delay_ms(10);bz1=0;bz2=0;/路灯二和路灯三出现问题else if(bz2&&bz3=1)USART_SendData(USART1,0x05);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=RESET);delay_ms(10);bz2=0;bz3=0;/路灯一和路灯三出现问题else if(bz1&&bz3=1)USART_SendData(USART1,0x06);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=RESET);delay_ms(10);bz1=0;bz3=0;/路灯一.路灯二.路灯三出现问题else if(bz1&&bz2&&bz3=1)USART_SendData(USART1,0x07);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)=

注意事项

本文(基于NRF24L01的校园智能路灯初步粗略设计方案)为本站会员(206****923)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.