基于单片机的智能型头盔设计

2021-10-26 11:56:30朱贵宪
山西电子技术 2021年5期
关键词:头盔指示灯按键

朱贵宪,马 聪

(安阳工学院计算机科学与信息工程学院,河南 安阳 455000)

0 引言

为保障骑行者的人身安全,近年来交通管理部门出台规定,要求电动车骑行人必须佩戴头盔,以保护其生命安全。目前,评价头盔质量的优劣主要是考虑其结实程度即耐受多大的撞击力;少数头盔带有太阳板,对安装在它上面的电风扇提供电能支持,起到一定的降温作用;基于成本因素,智能化程度普遍较低,因此迫切需要设计一款智能化的头盔装置,集行车暂停提醒、左右转向指示、夜间照明功能于一体,以便更好地满足市场需求。

1 硬件系统设计

1.1 关键芯片介绍

硬件系统由发送系统和接收系统两部分组成,无论是发送系统还是接收系统,其关键芯片都是两个,分别是STC89C52RC单片机和无线收发送模块nRF24L01,其中STC89C52RC起核心控制作用,nRF24L01起无线信号的收发作用。

STC89C52RC单片机简介:STC89C52RC是STC公司生产的一种低功耗、高性能的微控制器,使用经典的MCS-51内核,拥有灵巧的8位CPU和在系统可编程Flash,能够为嵌入式控制应用系统提供灵活有效的解决方案[1]。具有以下标准功能:8 k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4 KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

nRF24L01无线收发器芯片简介:nRF24L01由NORDIC公司生产,工作在2.4 GHz~2.5 GHz、ISM频段的单片无线收发器芯片。常应用于无线门禁、安防系统、遥控装置、遥感勘测等领域。芯片采用低功耗设计,当工作在发射模式下发射功率为0 dBm时,电流消耗为11.3 mA,接收模式时电流消耗为12.3 mA。内设4线SPI通讯端口,通讯速率最高可达8 Mbps,输出功率频道选择和协议的设置可以通过SPI接口进行设置,适合与各种MCU连接,实现无线数据传送工作。

1.2 发送系统设计

与自行车测速仪安装方法类似,发送系统安装在车把手位置,其结构框图如图1所示,发送系统由STC89C52RC单片机、无线发送模块nRF24L01和3个按键组成。3个按键与单片机的P0口连接,它们分别是左转向按键、右转向按键和行车暂停按键。在某一时刻,单片机只能接收某一按键发出的信号(比如右转向按键按下),经过单片机识别判断,再通过无线发送模块nRF24L01发送无线信号(内含右转向信息)到安装在头盔上面的接收系统。

图1 发送系统框图

发送模块共设置K1、K2、K3 3个按键,分别对应左转向按键、右转向按键和行车暂停按键,每个按键中都配置LED指示灯及限流电阻,如图2所示,3个按键的其中一端与地相接,另一端分别连接单片机的P0.0、P0.1、P0.2口[2]。

图2 发送端按键模块与单片机的连接

本设计直接采用nRF24L01成品模块实现与单片机的连接,从单片机控制的角度来看,除了电源和地的连接,我们只需关注nRF24L01集成模块的6个控制和数据信号,它们分别是:CE、CSN、SCK、MOSI、MISO、IRQ,单片机与nRF24L01集成模块的连接如图3所示。

图3 单片机与nRF24L01集成模块的连接

1.3 接收系统设计

接收系统(包括指示灯)安装在头盔的合适位置,其组成框图如图4所示,接收系统由STC89C52RC单片机、无线接收模块nRF24L01和4个指示灯组成,其中夜间照明指示灯主要用于夜间行车照明,安装在头盔的正前方,采用手动开关方式控制,另外3个指示灯分别是左转向指示灯、右转向指示灯和行车暂停指示灯,安装在头盔的正后方,并采用单片机进行控制,当无线接收模块nRF24L01接收到来自发送端发送的无线信号(比如是右转向信号),经过单片机分析判断,根据骑行人不同的需求,驱动3个指示灯当中的一个发光(比如点亮右转向指示灯)。

图4 接收系统框图

对于接收系统,单片机通过P1端口实现与nRF24L01无线接收模块的连接,其连接方式如前面图3所示,与发送模块的引脚连接方式相同。

接收系统里面的左转向指示灯、右转向指示灯和行车暂停指示灯,分别与单片机的P2.7口、P2.6口和P2.5口连接[3],其连接电路如图5所示,其中每个端口发光二极管的数目可根据亮度和指示箭头形状的需要做适当调整。

图5 单片机与转向指示灯的连接

2 系统软件设计

本设计的软件部分采用C51语言来编写程序,以keil4软件为开发平台,通过编译生成扩展名为“.hex”的文件[4],并通过STC-ISP下载到单片机系统运行。软件设计分为两个部分,一是发送系统软件设计,二是接收系统软件设计。

2.1 发送系统软件设计

发送端程序流程图如图6所示,系统开机后,首先对STC89C52RC单片机和nRF24L01模块初始化,把nRF24L01配置成PTX工作模式[5],然后进行按键扫描。扫描行车暂停按键是否被按下,如果是,则通过nRF24L01模块发送行车暂停按键信号到接收端;如果否,则检查左转向按键是否被按下,如果是,则发送左转向按键到发送端;如果否,则检查右转向按键是否被按下,如果是,则发送右转向按键到发送端;如果否,则回头继续进行按键扫描。

图6 发送端程序流程图

2.2 接收系统软件设计

接收系统开机后,首先对单片机进行初始化,并把nRF24L01模块配置成PRX工作模式,当接收到发送端发来的数据后,nRF24L01产生接收中断标志,单片机从nRF24L01模块读取数据并进行判断,来决定点亮行车暂停指示灯、左转向指示灯或右转向指示灯当中的一个,接收端程序流程图如图7所示。

图7 接收端程序流程图

3 结语

本设计采用STC89C52RC单片机与nRF24L01无线收发器模块组建发送系统和接收系统。发送系统通过按键模块发送行车暂停信号或左右转向信号,接收系统接收到信号后,通过头盔上的LED指示灯显示骑行者目前正在进行行车暂停、左转或者右转,这样就可以实现电动车在转向过程中给后方跟进车辆一个明显的提醒信号,避免后面车辆躲闪不及而引发追尾事故,从而起到保护骑行者安全的作用。

猜你喜欢
头盔指示灯按键
犬用战术头盔
基于有限状态机的按键检测程序设计
电子制作(2021年3期)2021-06-16 03:14:26
小头盔,大防护
当头盔遇上高科技
一种多方向导光按键结构设计
电子制作(2016年1期)2016-11-07 08:43:05
汉字戴头盔
荣威750车ABS指示灯和防侧滑指示灯异常点亮
上海大众POLO充电指示灯点亮
2013年波罗车充电指示灯异常点亮
按键的多种状态检测及消抖处理方法
家电科技(2013年4期)2013-07-09 10:55:08