基于单片机的停车场管理系统毕业设计(编辑修改稿)内容摘要:
是为了提高检测的准确性,避免当有人等路过是被当做车辆检测,因为人一般走过路过也就需要不到 1 秒钟,但是车辆因为比较长,所以检测的时间会稍微长一点。 设定 2秒可以巧妙的将车和人等区分开。 该部分的设计需要考虑冲突问题,假想,当前系统的 led 显示屏显示有 3个空车位,但是这时候来了四辆车,但是四辆车都看到显示有 3个空车位,于是都进入了停车场,结果是最后进入的一辆车将无车位可用。 为了解决这个问题,本课题采用了及时更新系统 LED 数目管显示的频率,平行处理进入的车辆,当有一辆车进来时,为它分配一个停车位,同时标记该停车位为预定状态,然后更新显示屏的显示数目(减一)。 接着处理其他车辆。 一个完成的入口系统的框架图如下所示: 基于单片机的停车场管理系统 9 图 321 入口检测系统流 程 车位引导系统设计 现在的汽车大多数都装载了 GPS 导航,目前市场上已经有一些成熟的车位诱导系统通过车载的 gps 将车引导至目的地。 诱导系统可以分为车内诱导系统和车外诱导系统。 将诱导装置安装在车内,通过车和数据中心的数据交互实现对车辆方向的引导称为车内诱导系统。 这种诱导系统诱导对象是单个车辆,也称车辆个体诱导系统,这类系统的诱导机理比较明确,容易达到诱导的目的。 目前发达国家采用的是这种系统,但是这种系统对车内设施和信息传输技术要求比较高,造价相对昂贵。 基于单片机的停车场管理系统 10 车外诱导系统有多重形式的存在,可以是在停车场内树立大块的 显示屏,显示当前车辆位置和目标停车位。 但是这种方法的劣势是司机需要不断的观察显示屏上自己所在的位置,边驾驶边观察路线,显而易见这对驾驶安全是极为不利的,很有可能增加车辆碰撞、追尾等事故。 本课题别出心裁设计出另外一种车位引导系统,通过地灯。 在停车场入口到各个车位上都有一条地灯线路,当入口检测器检测到有车辆进入时,系统会遍历所有的停车位,寻找可用的停车位,当寻找到一条可用的停车位时,一方面在系统中标记该车位为预定状态,同事将该条线路的地灯点亮,车辆寻这点亮的路灯将很容易到达目标车位。 该系统需要解决的问题是,如 何处理多车辆同时进入停车场的问题,因为这时候需要有多个地灯线路同时被点亮,当有一辆车进入车位时,相应 的路线上的地灯需要被熄灭,但是同时又不能影响其他正在行进的车辆的地灯引导。 为了解决这个问题,本研究采用分段控制地灯的方法,即将路线分成若干段,每一段单独控制。 当有一段地灯需要熄灭时,会遍历系统中当前正在被占用的车位,如果该车位的地灯正在被点亮,同时待熄灭的地灯和正在呗占用的车位的地灯重合,那么久不要熄灭该地灯,以保证该地灯能继续为其他车辆提供引导。 基于单片机的停车场管理系统 11 图 331 地灯系统控制流程 红外车辆检测 设计 红外检测模块主要有两个用途,一个如前面所述,作为停车场入口的检测是否有车辆进入停车场; 另一个功能是检测是否有车离开停车场。 红外模块的功能实现相对简单,红外检测模块的使用方法前面已经讲解。 本设计中只需要捕捉检测到的信号。 然后就可以判断当前位置是否有车辆,进而做出相应的处理。 限号及车位剩余显示系统设计 剩余车位显示是本系统的另外一个很重要的功能,试想,如果没有了该功能的提示,车主不知道当前该停车场剩余多少个停车位,那么势必会造成混乱的情况:基于单片机的停车场管理系统 12 所有的车都开进停车场,但是停车场内早已经占满了。 因此, 一个完成的停车场系统,这一部分也是至关重要的。 本系统中车位有三种状态:占用、预定、空闲,对应这当前有车辆停在车位上,该车为不可被其他车辆使用,预定表明当前没有车停在车位上,但是该车位已经被分配出去了,例如有一辆车已经进入停车场,但是还没有到达停车位,那么停车位是预定的状态。 空闲,顾名思义,就是表明当前该车位没有被占用、也没有被预定,是完全可被分配的车位。 因为显示系统需要实时显示空闲车位的数量,当有车位被预定,有车位被占用,或者有车驶出停车位的时候,都需要及时的更新停车位的个数显示。 为了实现以上功能,空闲车位显示模块的设计如下: 图 351 车位显示模块流程图 说明:车位只有三种状态:空闲、预定、占用。 显示模块在程序的每一个 loop都被执行,当检测到某一个车位被预定是,计数显示立刻减 1,表示当前有一个车位不可用基于单片机的停车场管理系统 13 了。 如果检测到车位被占用那么检查的它的传感器,如果传感器检测到车(传感器 =0), 那么表明该车位确实被占用了,如果该车位的传感器检测不到车,那么表明该车位原来停放了一辆车,但是现在车已经开走了,那么该车位又变成空闲了,因此显示数 +1,其他所有的情况,计数不变化。 限号显示相对简单,只需要获取当前星期,然后将对应的数字显示在数码管上即可。 基于单片机的停车场管理系统 14 第四章 智能停车场实现 根据以上设计,该系统的各个子系统之间相互交互,实现一个完整的停车场管理系统,总体的工作流程如下框图所示: 图 系统总体框图 流程整体说明:该系统以单片机 Arduino为核心,附着传感器系统、入口检测系统、传感器系统、显示系统、地灯引导系统; 各个子系统通过引进与中央单片机相连接,通过单片机的处理器,来实现各模块的控制 [1]。 各个模块的交互如图所示,系统启动的时候,单片机首先检测入口是不是有车辆进入,如果检测到有车辆进入则寻找可用车位,启动地灯引导、同时更新显示系统的显示个数。 如果没有检测到车辆,则继续保持检测状态。 传感器系统主要是用来检测车位上的车辆的状态,根据车辆状态来更新显示系统以便及时提醒停车场外的车辆当前是否有车辆可用。 显示系统的另一个功能是提醒车主当前的限号尾号。 [1] 参考 秦 龙 .MSP430单片机常用模块与综合系统实例精讲 基于单片机的停车场管理系统 15 下面将逐个介绍每个子系统的具体实现方法。 入口实现 入口系 统是整个停车场的智能开始。 传统的停车场在入口都会有一个管理员,当有车辆需要将进入车场时,管理员检车有多少个车位可用,是否允许车辆进入,然后放行。 本课题将实现与管理员职责相同的入口系统,当有车辆进来时,代替管理员,本课题使用一个传感器来检测是不是真的 有车进来,如前面介绍的,为了使检测的准确性尽可能的提高,本课题采用多次检测的方法,并设定了一个阈值,只有多次检测到有物体的次数大于一定的阈值待会判断为有车。 具体实现如下: void entrance_stat_check() { //delay(2020)。 int tmp = 0。 for(int i = 0。 i10。 i++) { tmp += digitalRead(enter_port)。 } if(tmp == 0) { avail = 1。 } } 上面代码的意思是,每隔 100ms 读取一次传感器的值,连续读取十次。 如果读取的都是有障碍物,那么任务检测到有车辆,可用的车位总数减少 1, 同时为该车辆寻找一个可用的停车位。 本课题使用的传感器如下图所示,如果检测到有障碍物那么从单片机响应管脚读取到的为 1. 如果连续读取十次都是 0,则 tmp=0,那么表明有车。 图 411 红外传感器 该传感器有三个管脚,依次为:电源、地线和输出。 在入口,将输出接在 Arduino 的enter_port( 48)管脚上,通过 digitalRead()可以读取管脚的值,也就可以读取传感器的信号。 void find_avil_path() { 基于单片机的停车场管理系统 16 for(int i = 0。 i 8。 i++) { if(park_stat[i] == 0) { park_stat[i] = 1。 break。 } } } 当入口检测到有车的时候,会调用 fin_avil_path[1]方法,寻找可使用的车位。 在程序里, park_stat[8], avail 都是全局变量,前者用来标记每一个车位(共 8 个车位)的状态, 1 表示不可用, 0 表示可用。 如果寻找到某一个车位为 0,则表示可用,让后将该位置的状态置为 并且在入口需要将全局可用的车位数减少 1. 显示系统实现 有车位被占用时,要及时更新显示屏的显示数量。 显示的实现代码比较简单,如下 int stat = digitalRead(park_port[i])。 if(stat == 1 amp。 amp。 park_stat[i] == 0) { avail += 1。 } myDisplay 方法首先会遍历 8个车位,读取响应车位的传感器,如果传感器读取到的值为 1(没有车辆),并且全局的该车位的停车状态为 0(可用),则可用的车位数加 1(每次村换开始的时候, avail初始化为 0)。 for(int x=low_ledStart。 x=low_ledEnd。 x++) { digitalWrite(x,low_led[low][z])。 z++。 if (z=9) z=0。 } 统计出当前有多少个车位以后,需要在数码管上显示出来,调用 show接口。 该接口接收一个输入数字,这个数字可以是任意一个两位数,函数取得高位和地位,分别展示,以为该系统只有 8个停车位,所有只展示低位就可以。 具体展示方法需要根据数字来控制 LED数码管的每个段来亮或暗。 具体控制方法如下: [1] 参考 王东峰等 .单片机 C 语言应用 100例 基于单片机的停车场管理系统 17 图 421 七段数码管引脚图 因此若要显示 0,则只需要 G和 DP暗淡,将相应的管脚设置为高电平即可。 8位数码管通过引线和 arduino的管脚连接,本课题设置的连接映射为: LED管脚 Arduino管脚 数组索引 2 7 6 10 6 6 9 5 5 7 4 3 5 3 2 4 2 1 1 8 7 6 9 8 8 13 根据管脚图显示 0需要 1和 6为高电平,对应管脚为 8 和 9 为高电平,对应数组索引为 7 8 为 0 0 0 0 0 0 1 1 同样的道理可得 1, 2, 3, 4, 5, 6, 7, 8, 9显示对应的数组。 基于单片机的停车场管理系统 18 将这个映射存入二维数组中为: int low_led[10][8]={{0,0,0,0,0,0,1,1}, {1,0,0,1,1,1,1,1}, {0,0,1,0,0,1,0,1}, {0,0,0,0,1,1,0,1}, {1,0,0,1,1,0,0,1}, {0,1,0,0,1,0,0,1}, {0,1,0,0,0,0,0,1}, {0,0,0,1,1,1,1,1}, {0,0,0,0,0,0,0,1}, {0,0,0,0,1,0,0,1}}。 因为 led 和 arduino 已经固定连接好了,所以如果想要显示某一个数字 比如 7,只需要从arduino的管脚 2 开始到管脚 9,依次设置为 0 0 0 1 1 1 1 1 ,则将数码管的 A/B/C段设置为低电平,让数目管 显示为 7. 车位引导系统实现 车位引导是本课题的一个主要功能。 为了能够支持多个车辆同时引导,本次设计将一条地灯分为多段,便于控制,其中有些。基于单片机的停车场管理系统毕业设计(编辑修改稿)
相关推荐
选择表 7 的内部结构 ADC0809 八位逐次逼近式 A/ D 转换器是一种单片 CMOS 器件,包括 8 位模拟转换器、 8 通道转换开关和与微处理器兼容的控制逻辑。 8 路转换开关能直接连通 8 个单端模拟信号中的任何一个。 IN3IN4IN5IN6IN7STEOCD3OECLKVccVREF+GNDD1
及 4045KHz。 这类传感器适用于测距、遥控、防盗等用途。 透射型可用于遥控器、防盗报警器、接近开关等。 超声发射器与接收器置于同侧的属于反射型, 分离式 反射型可用于接近开关、测距、测液位或物位、金属探伤以 及测厚等。 超声波测距原理 目前,利用超声波测距的方法有相位检测法、声波幅值检测法、渡越时间检测法三种。 相位检测的精度高,但检测范围有限;声波幅值检测易受反射波的影响
的,当在单片机的 RST 引脚引入高电平并保持 2 个机器周期时,单片机内部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。 实际应用中,复位操作有两种 基本的形式:一种是上电复位,另一种是按键复位。 由于本次设计采用的是按键复位,所以这里只介绍按键复位,如图 24 所示。 图 24 按键复位电路 按键复位要求按下按键后,单片机实现复位操作。 按下按键瞬间 RST
控制,本设计是按照学校作息时问设定的,模拟了电了钟显示时、分、秒。 还根据学校的作息时间按时打铃,本系统有 4 个按钮,分别用来调时、调分、秒和强制打铃及强制关铃,以保证始终与标准时间相吻合。 首先设计出本系统的硬件基本框图,根据框图设计电气原理图,简要概述基本原理,按照设计技术参数设计出各部分程序。 系统软硬件划分 由于需要最小系统设计,因此,极大地介于系统的硬件成本
方 波时显示: Square Wave; 输出锯齿波时显示: Sawtooth Wave; 输出梯形波时显示: Trapezoidal Wave; 第二行显示内容为: Frequency: *** Hz。 本次课题的制作由软件设计和硬件设计两部分组成。 ( 1) 系统的硬件设计:硬件电路的组成主要包括单片机控制电路,数模转换电路,独立按键控制电路,显示电路以及稳压电源电路。 ( 2)
83。 20 20 21 结 论 22 宜宾学院毕业设计 (论文 ) 4 参考文献 23 致 谢 24 附录 25 附录一: 系统整体原理图 25 附录二:系统仿真图 25 附录三:元件清单 26 附录四:系统源程序 27 宜宾学院毕业设计 (论文 ) 5 第 1 章 绪论 目的和意义 在生活中,学校、火车站、银行、商场、公交车等人员流 动比较大的地方,如果可以将人数实时地统计出来