基于Arduino的智能小车测距安全行驶系统及方法与流程

文档序号:15928971发布日期:2018-11-14 01:25阅读:869来源:国知局

本发明属于智能驾驶控制技术领域,更详细地说是一种基于arduino的智能小车测距安全行驶系统以及方法。

背景技术

随着现代社会的高速发展,越来越多的汽车进入我们的生活当中,由于我国的道路及交通设施建设远小于汽车增长速度,车辆数量急剧增加,密度越来越大,这使得对车辆的安全行驶构成了非常严重的威胁。面对威胁,近年来智能驾驶技术逐渐被提上日程。

智能驾驶安全辅助控制技术将传感技术和现代电子信息技术结合在一起,可以使司机的感知范围得到更大的扩展。首先通过一些传感器将获取的外界信息(比如车辆前后与障碍物之间的距离)传递给司机,然后通过路面情况和车辆情况的综合信息来判断此时是否存在安全隐患,甚至在危险情况下可以自动采取有效措施控制汽车,使汽车能够及时避开危险,从而达到保护乘员和车辆安全的目的。由此可鉴,稳定、可靠的测距系统对汽车的安全行驶是十分必要的。

我国在智能车辆技术方面的研究开始于20世纪80年代,起步比较晚。并且大部分研究都集中在单一技术的研究上。与发达国家相比,我国在智能车辆技术方面的研究是明显滞后的,并且在技术上的差距也比较大。



技术实现要素:

有鉴于此,本发明的目的在于克服现有技术的不足,提供一种基于arduino的智能小车测距安全行驶系统以及方法,该智能小车测距安全行驶系统通过超声波测距和红外线测距相结合的结构能够稳定可靠地测距,并且基于上述系统进行安全控制能够减少交通事故发生率,提升车辆的安全性能。

为实现以上目的,本发明采用如下技术方案:

一种基于arduino的智能小车测距安全行驶系统,包括智能终端、车体以及arduino控制器;所述智能终端与所述arduino控制器之间无线通信连接,所述arduino控制器位于所述车体上;还包括测距模块和报警模块,所述测距模块、报警模块均与所述arduino控制器电连接,且位于所述车体上;所述车体上设有车轮以及用于驱动所述车轮的车轮驱动装置,所述车轮驱动装置与所述arduino控制器电连接。

智能终端通过无线信号向arduino控制器发送控制指令,控制指令可以是自动控制模式或者为手动控制模式,车体上的测距模块用于实时测量车体头部、尾部或者车体的其它位置距离障碍物的距离,并将测量值实时传送给arduino控制器,通过对比arduino控制器内设定的安全距离值,如果小于该设定的安全距离值时,arduino控制器向报警模块发出报警指令,报警模块进行报警,同时,arduino控制器还要通过车轮驱动装置控制车轮完成远离障碍物,避免碰撞发生。

上述的基于arduino的智能小车测距安全行驶系统中,所述智能终端为手机app,所述手机app与所述arduino控制器之间采用蓝牙通信,所述arduino控制器连接有hc-05型号的蓝牙模块,安装有手机app的手机上设有手机蓝牙。

上述的基于arduino的智能小车测距安全行驶系统中,所述测距模块包括超声波测距传感器和红外线测距传感器;所述超声波测距传感器安装在所述车体的头部,用于前进时测量车体头部与障碍物之间的距离;所述红外线测距传感器安装在所述车体的尾部,用于倒车时测量车体尾部与障碍物之间的距离。

进一步地,所述车体上安装有舵机,所述超声波测距传感器安装在所述舵机上。

上述的基于arduino的智能小车测距安全行驶系统中,所述报警模块包括蜂鸣器和/或led灯,所述蜂鸣器和/或led灯与所述arduino控制器电连接,用于接收所述arduino控制器的指令进行报警。蜂鸣器发出声音报警信号,led灯发出光报警信号。

上述的基于arduino的智能小车测距安全行驶系统,其中,所述arduino控制器是基于avr指令集的arduinounor3控制板,所述arduinounor3控制板采用型号为atmelavratmega328芯片。

上述的基于arduino的智能小车测距安全行驶系统,其中,所述arduinounor3控制板给该atmelavratmega328芯片提供的电压值为5v。

上述的基于arduino的智能小车测距安全行驶系统中,所述arduino控制器还连接有用于显示距离数据的液晶屏,所述距离数据为所述测距传感器实时测量的数值。

由于arduinounor3控制板输出的电流值不足以满足驱动车轮运转的电流值,需要通过外加驱动电路板。故,上述的基于arduino的智能小车测距安全行驶系统中,所述车轮驱动装置包括与所述arduinounor3控制板连接的l298n直流电机驱动板以及直流电机;所述l298n直流电机驱动板与所述arduinounor3控制板之间通过杜邦线连接,所述l298n直流电机驱动板与所述直流电机电连接,所述直流电机用于驱动车轮的转速。

本发明还提供一种基于arduino的智能小车测距安全行驶系统的方法,该方法包括以下步骤:

s1,arduino控制器进行初始化设置后,读取手机app传送的工作模式指令;

s2,判断手机app传送的工作模式指令是否为自动控制模式,当arduino控制器读取的工作模式为自动控制模式,继续执行后续步骤;否则为手动控制模式,执行手动控制;

s3,执行arduino控制器内的行驶控制指令,并在行驶过程中同时执行s4;

s4,arduino控制器驱动测距模块进行实时测距并读取测距模块传送的数据,通过蓝牙通信传送给手机显示;arduino控制器实时比较实时传送的测距值与设定的报警值之间的大小,并判断测距值是否小于报警值,若小于报警值时,arduino控制器驱动报警模块报警,否则继续监测并比较实时测距值与报警值的大小;

s5,若测距值小于报警值,arduino控制器执行远离障碍物的动作,直到测距值大于报警值,读取下一条指令;

s6,当下一条指令为停车时,停车;否则继续执行s3。

上述的一种基于arduino的智能小车测距安全行驶系统的方法,手动控制模式时,该方法包括以下步骤:

s1,arduino控制器进行初始化设置后,读取手机app传送的工作模式指令;

s2,判断手机app传送的工作模式指令是否为手动控制模式,当arduino控制器读取的工作模式为手动控制模式,继续执行后续步骤;否则为自动控制模式,执行自动控制;

s3,执行手机app通过蓝牙发出的行驶控制指令,并在行驶过程中同时执行s4;

s4,arduino控制器驱动测距模块进行实时测距并读取测距模块传送的数据,通过蓝牙通信传送给手机显示;arduino控制器实时比较实时传送的测距值与设定的报警值之间的大小,并判断测距值是否小于报警值,若小于报警值时,arduino控制器驱动报警模块报警,否则继续监测并比较实时测距值与报警值的大小;

s5,若测距值小于报警值,通过手机app控制智能小车向远离障碍物的方向运动,直到测距值大于报警值,读取下一条指令;

s6,当下一条指令为停车时,停车;否则继续执行s3。

本发明中基于arduino的智能小车测距安全行驶系统,能够全方位测距,并根据测距信息实时保证职能小车免受碰撞,从技术角度上能够杜绝撞车事故的发生;同时采用红外线测距和超声波测距相结合的方式,并且在舵机上安装超声波测距传感器,能够保证不留死角,测距更全面。基于arduino的智能小车测距安全行驶系统的方法提供了两种控制模式,手动和自动均能够保证智能小车的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种实施方式的基于arduino的智能小车测距安全行驶系统的结构示意图;

图2为本发明的一种实施方式的基于arduino的智能小车测距安全行驶系统的方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

如图1所示,本发明提供一种基于arduino的智能小车测距安全行驶系统,包括智能终端、车体以及arduino控制器;所述智能终端与所述arduino控制器之间无线通信连接,所述arduino控制器位于所述车体上;还包括测距模块和报警模块,所述测距模块、报警模块均与所述arduino控制器电连接,且位于所述车体上;所述车体上设有车轮以及用于驱动所述车轮的车轮驱动装置,所述车轮驱动装置与所述arduino控制器电连接。

智能终端通过无线信号向arduino控制器发送控制指令,控制指令可以是自动控制模式或者为手动控制模式,车体上的测距模块用于实时测量车体头部、尾部或者车体的其它位置距离障碍物的距离,并将测量值实时传送给arduino控制器,通过对比arduino控制器内设定的安全距离值,如果小于该设定的安全距离值时,arduino控制器向报警模块发出报警指令,报警模块进行报警,同时,arduino控制器还要通过车轮驱动装置控制车轮完成远离障碍物,避免碰撞发生。

上述的基于arduino的智能小车测距安全行驶系统中,所述智能终端为手机app,所述手机app与所述arduino控制器之间采用蓝牙通信,所述arduino控制器连接有hc-05型号的蓝牙模块,安装有手机app的手机上设有手机蓝牙。

上述的基于arduino的智能小车测距安全行驶系统中,所述测距模块包括超声波测距传感器和红外线测距传感器;所述超声波测距传感器安装在所述车体的头部,用于前进时测量车体头部与障碍物之间的距离;所述红外线测距传感器安装在所述车体的尾部,用于倒车时测量车体尾部与障碍物之间的距离。

其中,所述车体上安装有舵机,所述超声波测距传感器安装在所述舵机上。舵机的主要作用为辅助超声波测距传感器对0~180度范围内的距离测量。

红外线测距传感器为夏普的型号为gp2y0a02yk0f的红外线传感器,超声波传感器为hc-sr04超声波传感器。

夏普gp2y0a02yk0f红外线传感器有s、vcc和gnd这3个引脚,其中gnd与arduino主控板上的gnd引脚相连实现接地的功能;s与arduino主控板上的模拟口0相连实现把信号输出到主控板的功能;vcc与arduino主控板上的vcc引脚相连实现对传感器供电的功能。

上述的基于arduino的智能小车测距安全行驶系统中,所述报警模块包括蜂鸣器和/或led灯,所述蜂鸣器和/或led灯与所述arduino控制器电连接,用于接收所述arduino控制器的指令进行报警。蜂鸣器发出声音报警信号,led灯发出光报警信号。

上述的报警模块由led指示灯与蜂鸣器构成,当前方距离小于预先设置的报警值时led指示灯会一直闪烁而且蜂鸣器会发出蜂鸣声,直到智能小车后退到安全距离时,led指示灯停止闪烁,蜂鸣器停止发声。当后方距离小于预先设置的报警值时led指示灯会一直闪烁而且蜂鸣器会发出蜂鸣声,直到智能小车前进到安全距离时,led指示灯停止闪烁,蜂鸣器停止发声。

上述的基于arduino的智能小车测距安全行驶系统,其中,所述arduino控制器基于avr指令集的控制器。本发明中可以选择使用arduinounor3控制板来完成智能小车硬件部分的开发。arduinounor3的核心就是一块型号为atmelavratmega328芯片,作为arduinounor3控制板的处理器,其本质是一种微型计算机,在本发明中是作为控制器使用的。

atmega328芯片具有内存大、功耗低等特点,并且对输入电压的要求较低,能够在1.8v至5.5v的电压范围内工作。但是不同工作电压下的最大时钟频率是不一样的,在4mhz~20mhz这个区间内,由电路给芯片所提供的电压值决定。arduinounor3控制板给该芯片提供的电压值为5v,它工作的时钟频率可以是20mhz以下的任意值,这大大提高了芯片的运行速度。

上述的基于arduino的智能小车测距安全行驶系统中,所述arduino控制器还连接有用于显示距离数据的液晶屏,所述距离数据为所述测距传感器实时测量的数值。

液晶屏可以选择lcd液晶屏,选用带i2c接口的lcd1602液晶屏,lcd1602液晶屏具有vcc、gnd、sda、scl这四个管脚,其中vcc通过直流电机驱动板与电源正极相连实现为显示屏供电的作用,gnd与主控板gnd引脚相连实现接地的功能,sda与scl分别与arduino主控板上对应管脚相连实现控制器的显示与内容的功能。

由于arduinounor3控制板输出的电流值不足以满足驱动车轮运转的电流值,需要通过外加驱动电路板。故,上述的基于arduino的智能小车测距安全行驶系统中,所述车轮驱动装置包括与所述arduinounor3控制板连接的l298n直流电机驱动板以及直流电机;所述l298n直流电机驱动板与所述arduinounor3控制板之间通过杜邦线连接,所述l298n直流电机驱动板与所述直流电机电连接,所述直流电机用于驱动车轮的转速。

需要具体说明的是,l298n直流电机驱动板与arduinounor3控制板以及直流电机之间的具体接线方案为,l298n直流电机驱动板上的vms驱动模块用于连接外部电源,使用的电压值为9v左右,l298n直流电机驱动板端子左右两排可以拿来控制两路的直流电机;其中ea、eb端口与arduinounor3控制板的pwm接口使用杜邦线相连,可以改变电机转动时的速度;in1到in4这四个接口分别与arduinounor3控制板上的数字输入输出口相连,用来控制两路直流电机可以实现智能小车前进、后退等动作。

智能小车行驶途中所执行的每个动作都是由左右两个车轮的转动方向以及l298n直流电机是否运转所实现的。具体动作实现的方式如表1-1所示。

表1-1智能小车动作实现的方法

系统的执行模块主要靠驱动直流电机来改变车轮的运动方式来帮助智能小车完成各种各样的动作。其中的一种实施方式是在arduinod7、8、10、12管脚输出不同的高低压电路并通过编程来实现对智能小车行驶方向的改变。

上述实施方式中,执行模块的最关键功能就是依据算法策略来控制智能小车做出各种动作,具体的,通过arduinoide将执行每个动作的代码以函数的形式进行封装,比如,智能小车要执行前进动作时直接调用函数go();智能小车要执行向右转弯动作时直接调用函数right();智能小车要执行向左转弯动作时直接调用函数left();智能小车要执行原地向右打转动作时直接调用函数turnright();智能小车要执行原地向左打转动作时直接调用函数turnleft();实现停止功能的函数为stopcar();实现后退功能的函数为back()。参数lapin、lbpin负责小车左轮,参数rapin、rbpin负责小车右轮,智能小车的7个基本动作主要依靠参数lapin、lbpin、rapin、rbpin被赋予的电平值(low/high)的不同来实现。

如图2所示,本发明还提供一种基于arduino的智能小车测距安全行驶系统的方法,该方法包括以下步骤:

s1,arduino控制器进行初始化设置后,读取手机app传送的工作模式指令;

s2,判断手机app传送的工作模式指令是否为自动控制模式,当arduino控制器读取的工作模式为自动控制模式,继续执行后续步骤;否则为手动控制模式,执行手动控制;

s3,执行arduino控制器内的行驶控制指令,并在行驶过程中同时执行s4;

s4,arduino控制器驱动测距模块进行实时测距并读取测距模块传送的数据,通过蓝牙通信传送给手机显示;arduino控制器实时比较实时传送的测距值与设定的报警值之间的大小,并判断测距值是否小于报警值,若小于报警值时,arduino控制器驱动报警模块报警,否则继续监测并比较实时测距值与报警值的大小;

s5,若测距值小于报警值,arduino控制器执行远离障碍物的动作,直到测距值大于报警值,读取下一条指令;

s6,当下一条指令为停车时,停车;否则继续执行s3。

上述的一种基于arduino的智能小车测距安全行驶系统的方法,手动控制模式时,该方法包括以下步骤:

s1,arduino控制器进行初始化设置后,读取手机app传送的工作模式指令;

s2,判断手机app传送的工作模式指令是否为手动控制模式,当arduino控制器读取的工作模式为手动控制模式,继续执行后续步骤;否则为自动控制模式,执行自动控制;

s3,执行手机app通过蓝牙发出的行驶控制指令,并在行驶过程中同时执行s4;

s4,arduino控制器驱动测距模块进行实时测距并读取测距模块传送的数据,通过蓝牙通信传送给手机显示;arduino控制器实时比较实时传送的测距值与设定的报警值之间的大小,并判断测距值是否小于报警值,若小于报警值时,arduino控制器驱动报警模块报警,否则继续监测并比较实时测距值与报警值的大小;

s5,若测距值小于报警值,通过手机app控制智能小车向远离障碍物的方向运动,直到测距值大于报警值,读取下一条指令;

s6,当下一条指令为停车时,停车;否则继续执行s3。

综上所述,本申请提供一种基于arduino的智能小车测距安全行驶系统及方法,能够全方位测距,并根据测距信息实时保证职能小车免受碰撞,从技术角度上能够杜绝撞车事故的发生;同时采用红外线测距和超声波测距相结合的方式,并且在舵机上安装超声波测距传感器,能够保证不留死角,测距更全面。基于arduino的智能小车测距安全行驶系统的方法提供了两种控制模式,手动和自动均能够保证智能小车的安全性。

可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1