谭劲松
一种停车场智能引导系统的设计
谭劲松
重庆安全技术职业学院网络与信息安全系,重庆 404020
利用Arduino主控板和超声波传感器设计了一种停车场车位引导系统,能够实现对空车位的实时监测,并通过显示屏引导车辆快速找到空车位,节约了车主停车时间,提高了停车场管理效率。
Arduino;车位引导;超声波传感器
近些年,随着我国经济的快速发展,人民的生活水平得到了显著提高,家用汽车的数量也随之而明显增多。为此,公共停车场相继建立。但是多数停车场是由人工引导或车主无目的自主寻找的方式进入停车场空停车位。这种引导方式,存在效率低、费时、停车位不能有效利用等弊端。为了使驾驶员在停车场内能快速精准找到空的停车位,基于Arduino开发了一种实用的停车场空闲车位引导系统。
该停车场空闲车位智能引导系统主要有两部分组成:车位信息显示模块、车位信息采集模块。
图1 停车场智能引导系统总框图
车位信息显示模块的主要作用是显示停车场内空闲车位所在的区域及数量,位于停车场入口。假设停车场被划分为A1、A2、A3、A4、A5五个区域,显示模块通过无线接收系统接收停车场内所有车位的停车与否信息,并在显示屏上进行显示[1]。
车位信息采集模块位于每个停车位正上方的天花板上,主要包括车位占用与否检测、车位状态指示及车位信息无线发送。
2.1 硬件总体设计
图2 停车场智能引导系统硬件原理图
Arduino是一款操作简单、功能强大的开源电子平台。硬件部分包括Atmel AVR单片机、I/O接口及相关外围电路,软件部分采用C语言进行编程,许多常用功能已采用库函数进行封装,供程序开发者调用[2]。
系统工作原理:车位信息采集模块利用安装在车位正上方的超声波传感器检测车位状态,然后传给Arduino进行处理,再通过无线发射模块,将信息发送给显示模块。
图3 车位信息采集模块电路连接图
2.2 车位信息采集模块
车位信息采集模块硬件包括:Arduino主控板、超声波传感器、无线发射模块、LED灯。停车位状态信号获得后送入Arduino主控板,并通过安装在车位正前方的LED灯进行标识,红色LED灯亮表示车位已占,绿灯LED灯亮表示车位未占。与此同时,采集模块通过nRF24L01将车位信息发送至车位信息显示模块。
本设计所采用的超声波传感器型号是HC-SR04,它可以非接触测量0.03~4 m的距离,测量精度可达0.03 m,被安装在每个车位正上方。假设超声波传感器到地面的垂直高度为4 m,并假设当车位处地面有高于30 cm的物体时,就认为车位已用,即当超声波从发射到接收的时间间隔小于0.0 217 647s时,就认为车位上有车。(4-0.3)/340×2=0.0 217 647s,这些参数可以根据停车场的实际情况进行调整,以提高判断准确率。
LED灯用来标识每个车位的使用状态。当车位上有车时,Arduino主控板D4输出高电平,红色LED灯被点亮;当车位空闲时,Arduino主控板D5输出高电平,绿色LED灯被点亮。LED灯工作电压范围为1.5~2.0 V,工作电流范围为10~20 mA,Arduino主控板提供的电压为5V。
nRF24L01将Arduino主控板处理后的信息传递给车库入口的车位显示模块。nRF24L01是集收发功能于一体的无线射频器件,工作频段为2.4~2.5 GHz,其功耗极低,收发模式可以通过程序设置,在车位检测模块端将nRF24L01设置成发射模式。
2.3 车位信息显示模块
车位信息显示模块硬件包括:Arduino主控板、nRF24L01、OLED显示屏[3]。本设计采用OLED作为显示设备,用来显示停车场剩余车位的总数以及剩余车位所处的具体区域。OLED,即有机发光二极管,其发光材料采用有机半导体,在电场驱动下通过载流子注入而产生的现象。与通用的LCD显示屏相比,OLED显示屏可视角度大、安装简单、环保省电。在车位信息显示模块端,nRF24L01应设置为接收模式。
图4 车位信息显示模块电路连接图
本文所设计的停车场智能引导系统是基于Arduino主控板进行编程。
3.1 车位信息采集端程序
车位信息采集端程序由两部分组成:车位信息检测;车位信息无线发射。软件流程图如图5所示。
图5 车位信息采集模块软件流程图
HC-SR04主要代码:
pinMode(3,OUTPUT);
pinMode(2,INPUT);
digitalWrite(3,LOW);
delayMicroseconds(3);
digitalWrite(3,HIGH);
delayMicroseconds(15);
digitalWrite(3,LOW);
jl=pulseIn(2,HIGH)/58.0;
nRF24L01发送模式主要代码:
pinMode(A0,OUTPUT);
Mirf.spi=&MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR((byte *)"Sen01");
adata=analogRead(A0);
byte data[Mirf.payload];
data[0]=adata&0XFF;
data[1]=adata>>8;
Mirf.setTADDR((byte *)"Rec01");
Mirf.send(data);
while(Mirf.isSending());
3.2 车位信息显示端程序
车位信息显示端程序由两部分组成:接收车位检测端发送的A0的值;显示车位信息。软件流程图如图6所示。
图6 车位信息显示模块软件流程图
nRF24L01接收模式主要代码:
Mirf.spi=&MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR((byte *)"Rec01");
Mirf.payload=sizeof(unsigned int);
Mirf.channel=3;
Mirf.config();
Serial.println("接收中...");
byte data[Mirf.payload];
If(Mirf.dataReady())
{
Mirf.getData(data);
adata=(unsigned int)((data[1]<<8)|data[0]);
Serial.print("A0=");
Serial.println(adata);
}
显示屏模块主要程序代码:
display.println("107PARK");
display.setTextColor(WHITE);
display.println(" ");
display.setTextSize(3);
display.print(" 空闲车位数量为:");
display.println("xx");
本文设计了一种基于Arduino和超声波检测技术的停车场车位引导系统,该系统安全可靠、施工方便。系统应用在大型停车场中将显著提高车位管理效率、极大地缩短驾驶员寻找空车位的时间,对停车场自动化管理具有较高的实用价值。
[1]李坤.智能停车场车位检测与泊位诱导系统研究与设计[D].北京:中国科学院大学,2013.
[2]兰羽,周茜.超声波测距系统接收电路研究[J].电子设计工程,2012(14):81-83.
[3]蔡睿妍.Arduino的原理及应用[J].电子设计工程,2012,20(16):155-157.
Design of an Intelligent Parking Guidance System
Tan Jingsong
Department of Network and Information Security of Chongqing Security Technology Career Academy,Chongqing 404020
A parking guidance system is designed which is based on Arduino and multiple ultrasonic sensor. It can realize real-time monitoring of empty car bits, and guide the vehicle through the display screen to find the empty parking space quickly, saved car owners parking time, improved efficiency of car park management.
Arduino; park guidance; multiple ultrasonic sensor
U491.71;U495
A
谭劲松(1976—),男,重庆万州人,重庆安全技术职业学院讲师,本科学历,研究方向为物联网技术应用。