基于STM32的智能停车引导系统设计

2023-12-05 08:14梅明杰杨袁江
现代计算机 2023年18期
关键词:车位显示屏停车场

梅明杰,肖 波,韩 涛,杨袁江,李 斌,王 憬

(湖北师范大学电气工程与自动化学院,黄石 435002)

0 引言

随着社会经济发展,交通服务逐渐智能化,智能交通在提升交通效率、保障安全、服务公众等方面成效显著,是未来交通发展的重要方向[1]。目前大多数停车场缺乏停车引导装置,驾驶员在需要停车时无法及时获取区域准确停车资源信息,导致时间大多浪费在寻找车位和等待车位上[2]。传统停车引导装置使用AR 识别技术,其价格昂贵且检修维护复杂,需要上位PC机处理数据。

本文使用STM32 作主控芯片,并使用成本较低的光电传感器为主采集模块,能大幅降低停车引导装置的成本,使停车引导装置更好地普及,从而提升通行效率,增强出行幸福感,并让停车场有了更大的车流量承载能力,一定程度上改善城市交通。

1 系统总体设计

本系统设计了以STM32 为主控芯片的智能停车引导系统,主要由光电传感器模块、摄像头模块、STM32F103 主控芯片、一级引导显示屏、二级引导显示灯组成,系统总体设计框图如图1所示。其原理是通过光电传感器模块、摄像头模块采集停车场实况信息,显示屏和指示灯显示实时空闲车位余量和空闲车位分布情况,给驾驶员提供分级引导。其中光电传感器安装在各个停车位上,摄像头悬挂,实施方式如图2所示。

图1 系统总体设计框图

图2 采集模块方位示意图

2 系统硬件设计

本系统硬件部分包括STM32F103主控芯片、传感器采集模块和显示模块。

2.1 主控芯片

本系统采用STM32F103芯片作为主控制器,该芯片是一种基于ARM Cortex-M3 内核的单片机,具有高性能、低成本、低功耗嵌入式等特点[3]。对于停车引导系统,采用STM32 作为主控芯片能带来更高的性价比和丰富的外设资源,其集成了I/O 系统,适用于停车场内多车位光信号的采集,以及引导显示屏的控制。主控芯片在工作时,会实时接收传感器模块采集的车位实况信息,处理后控制显示模块显示正确引导信息。

2.2 传感器采集模块

本系统采用光电传感器模块进行停车场内光信号的采集,如图3所示,该模块集成了光敏电阻、可调电位器、LM393 电压比较芯片、输出指示灯等元件。传感器安装于停车场各个车位上,并根据不同位置的光照强度调节电位器,以改变接在反相端INA-端的阀值翻转电压,使传感器准确判断车位的遮光情况。

图3 光电传感器模块原理图

其中LM393 电压比较器作模数转换芯片,将光敏电阻接收光照时产生的电阻值变化变成电压信号传递给电压比较器的同相输入端INB+,变化的电压信号与电压比较器的反相输入端INA-端的基准电压相比较,当同相端INB+电压大于反相端INA-端电压时,电压比较器的输出端OUT 输出高电平电压;当同相端INB+电压小于反相端INA-端电压时,电压比较器的输出端OUT输出低电平电压。

在车位占用的遮光状态时,光敏电阻的电阻值很大,电阻R1 与该光敏电阻组成的分压点电压升高,使同相端INB+电压大于反相端INA-端电压,电压比较器的输出端OUT 输出高电平电压,表示车位占用。在车位空余有光照时,光敏电阻的电阻值很小,电阻R1 与该光敏电阻组成的分压点电压下降,使同相端INB+电压小于反相端INB-端电压,电压比较器的输出端OUT 输出低电平电压,表示车位空余[4]。从而将光信号转换为数字量信号,并实现车位是否占用的判断。

2.3 摄像头采集模块

摄像头采集模块采用OV5640 摄像头,该摄像头具有最高500 万的像素,通过DVP 接口与主控芯片进行连接。可输出彩图、灰度等格式,并自动对焦,调节图像的饱和度及白平衡。在本系统中与光电传感器配合使用,判断停车位上的遮光物体是否为车辆,将识别结果传输到主控芯片,从而提高车位余量计算的准确性。

2.4 显示模块

本系统显示模块包括一级引导显示屏和二级车位显示灯,一级引导显示屏置于停车场道路交汇口处,显示相邻停车分区的车位余量,二级车位显示灯显示本分区所有车位的占用情况,实现对车辆的分级引导。其中一级引导显示屏采用LCD12864 显示屏,该屏幕由128 列64行的矩阵显示点构成,可显示中文汉字和英文字符,为驾驶员提供更直观的停车信息,实施方式如图4所示。一级引导显示屏只显示相邻分区的车位余量,为了给驾驶员提供完善的停车引导服务,需配合二级车位显示灯。

图4 一级引导显示屏

二级车位显示灯通过LED 灯的亮灭表示各个车位的占用情况,其中LED 灯串联在传感器输出端,亮起表示该车位占用,如图5 所示,LED 指示灯配合车位分布平面图,可直观地将本分区空余车位分布情况提供给驾驶员,帮助驾驶员选择适合的停车位,完成停车引导。

图5 二级车位显示灯

3 系统软件设计

本系统软件设计主要由采集程序设计和显示器控制程序设计两部分组成,其中采集程序将光电传感器和摄像头采集的数据处理并计算得出各分区车位余量,并由显示器控制程序控制输出到显示屏中,完成分级停车引导[5]。

3.1 软件设计任务

本系统需要让STM32 主控芯片实时处理光电传感器和摄像头采集到的车位实况数据,判断各车位占用情况,并计算各个分区的车位余量,通过并行口通信将各分区车位余量信息输出到显示屏,控制显示屏显示相邻分区的车位余量信息。当车位实况发生变化时,系统能检测到并及时更新显示屏上的引导信息,确保系统提供正确的停车引导服务。系统主程序流程如图6所示,初始化后开始第一个周期的车位余量检测,计算出各分区的车位余量,通过显示屏控制程序将指定分区的车位余量数据输出显示,完成本周期的停车引导任务,并以50 ms为周期循环进行车位余量检测和显示,实时更新车位余量信息的显示。

图6 系统主程序流程图

3.2 采集程序设计

主控芯片STM32 接收光电传感器处理后的车位实况信息,并通过各个车位对应引脚接收到的电平信号判断该车位是否被占用。以A分区为例,定义整型变量NumA,依次判断各车位占用情况,若车位空余,则NumA++,判断完A区所有车位后得出A区剩余车位NumA,并将NumA数据输出到显示屏控制程序中进行显示,输出本轮结果后延时,以50 ms为周期进行下一轮数据的采集和处理,采集程序流程如图7所示[6]。

图7 光电传感器采集流程图

3.3 摄像头程序设计

本系统采用OV5640 摄像头采集车位实况照片,通过车牌字模的模糊匹配算法识别车位上是否有车牌号,若未识别到车牌,则该车位可能被非车辆的其他物体遮光,并判断为该车位处于空余状态,流程如图8 所示。摄像头以QVGA 分辨率采集图像后,对图片进行灰度处理,存入主控芯片STM32 的RAM 中,完成初始化。随后检测图片中的车牌边缘并进行图像矫正,使车牌字符规整。矫正图像后捕捉图像中的字符图像,并分割车牌图像使字符独立,将字符图片与预存车牌号字体的字符模板比对并匹配,重合度达到设定值表示本次识别结果为车牌,并判断该车位被占用;若识别不到车牌,则表示该停车位被其他物体、灰尘等遮光,或传感器故障,判断为车位空余。

图8 摄像头控制流程图

3.4 显示器控制程序设计

LCD12864 液晶显示器是一种点阵型的液晶显示器,其形式是128×64 个显示单元,通过设定的初始化程序对LCD12864 显示屏进行初始化,以此来开启显示屏的液晶显示,显示屏控制流程如图9所示。初始化完成后调用汉字显示编码,逐行完成汉字内容的显示,该内容为固定内容,不随车位实况而变动。随后调用车位余量的计算结果,并调用对应数字的字模编码,显示该车位余量数字,车位余量数字以50 ms为周期实时更新。其中汉字字模和数字字模均为16×16 像素的宋体,以32 个十六进制数储存于数组中,对应一个汉字或数字的256 bit 字模编码,在显示程序中被调用[7]。

图9 显示屏控制流程图

4 调试与验证

4.1 仿真调试

本系统使用Keil 软件对程序进行编译,并在Proteus 软件中进行仿真调试,仿真效果如图10 所示,该显示内容会随着传感器采集的信号变化实时更新车位余量数字,显示内容与车位实况一致,且二级引导显示灯正确显示剩余车位分布情况。

图10 仿真显示效果

4.2 实物调试

在实物调试中,本系统使用SPI串行口通信控制OLED屏作为一级引导显示屏,二级引导显示灯中,红色LED 灯亮起表示该车位占用,显示效果如图11 所示。经验证,显示模块根据车位占用实时更新引导内容,实现停车引导。

图11 实物运行效果图

5 结语

本文在停车需求与汽车总量比例失调,且停车引导设施不完善的背景下,设计了智能停车引导系统,此次设计完成了停车场各分区实时车位余量信息的显示、车位占有情况的指示与停车引导。其中以STM32 为主控芯片,并采用了光电传感器作为信息采集模块,可大幅减少停车引导设备的生产与维护成本,并且STM32 主控芯片具有一定的扩展性,可为停车场提供后续升级空间;光电传感器相较于传统的AR 智能识别技术具有更高的稳定性和经济性,适合使用在形如地下停车场的光照强度固定场所,也为停车引导信息的显示提供了便利。

猜你喜欢
车位显示屏停车场
一块布就是一个显示屏?
为了车位我选择了环保出行
我自己找到一个
苍蝇迷恋显示屏
停车场寻车管理系统
一个车位,只停一辆?
PLC在地下停车场排水系统的应用
未来五年LED显示屏出货将保持16%增长
“8·12”后,何以为家
基于AT89S52的手势可控LED滚动显示屏设计