APP下载

基于Arduino的智能循迹小车设计

2017-07-19李文龙孙伟峰

卷宗 2017年11期

李文龙+孙伟峰

摘 要:随着全球进入信息化,科技化。智能循迹小车,作为科技创新中比较入门级的一个作品,由于其原理较为简单,实现起来不是特别困难,常常作为高校中比赛或练习的一种形式,它可以利用前端的四个红外装置对地面的黑色胶带进行识别,将信息传回Arduino进行分析后,将不同大小的电流输送给电机驱动,实现直行或者差速转弯,从而实现智能循迹。本文通过对基于Arduino的智能循迹小车设计制作以及技术原理进行分析,并探讨其在实际生活中的应用。

关键词:智能循迹;Arduino;红外模块

1 循迹小车模块介绍

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件和软件。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。

L298N电机驱动模块,它是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。

四路红外循迹模块,此模块是为智能小车提供一种红外线探测系统的解决方案。该传感器模块对环境光线适应能力强,其具有几对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~60cm,工作电压为3.3V-5V。该传感器的探测距离可以通过电位器调节,广泛应用于机器人避障、避障小车、等众多场合。

2 硬件实现原理

四路红外智能循迹小车设计主要利用小车前端的四个红外发射和接收装置来进行对地面上的黑胶带进行分析,将黑胶带的位置信息送给Arduino,Arduino将不同大小的电流输送给电机驱动,实现直行或者差速转弯,从而实现智能循迹。图1为智能循迹小车的原理框图。

四路红外循迹模块主要由四对红外探测传感器构成,它们构成了循迹小车的“眼睛”。每对红外传感器由一个红外线发射管和红外线接收管组成。红外线发射管用来发射红外光,红外线接收管用来检测红外光,当检测到红外光时,相应的位就会呈现低电平,地面上的黑胶带不反射红外线发射管发射的红外线,使相应的红外线接收管呈现高电平。当小车在延着黑胶带构成的赛道行驶时,若遇到拐弯,会使不同的红外线接收管依次呈现高电平,根据不同红外接收管的高低电平变化,可以推断出轨道的变化情况,从而编写合适的程序来使小车循迹。Arduino中用来存放控制小车循迹的程序,它是循迹小车的“大脑”。它接收四路红外发射器的信号,根据程序对小车的运行状态做出判断,给出不同大小的电流控制小车两边电机的转速。

3 软件实现

小车的软件设计关系到循迹小车是否能够正常循迹,因此它是循迹小车设计十分重要的组成部分,好的程序能使小车的前进的速度更快,转弯角度更加合理,良好设计的程序可以提高软件的执行效率。Arduino的程序编写采用Processing语言的开发环境,所用到的语句简单易学,适合初学者进行入门掌握。

部分程序如下:

starttime=millis();

do {

TEST();

if (D1==1)

{

FORW(50);

goto start;

}

stoptime=millis();

looptime=stoptime-starttime;

}

while(looptime<45);

BACK(25);

STOP(50);

do {

TEST();

crcL(0,115);

}

while(MIX!=100);

crcR(45,115);

STOP(100);

break;

void TEST()

{ MIX=digitalRead(D4)*1000+digitalRead(D3)*100

+digitalRead(D2)*10+digitalRead(D1);

}

參考文献

[1]赵建伟,班钰,王义,等.基于Arduino的智能小车的控制系统设计[J].兵工自动化,2015年第34卷

[2]陈开军.基于Arduino技术的智能小车设计[J].科技创新,2014年第34期

[3]Massimo Banzi著.于新龙 郭浩赟.译[M].爱上Arduino,人民邮电出版社

[4]孙宁,向琴,张勇.智能循迹小车的设计[J].科技风,2014年第18期

[5]吴冬燕,基于红外传感器的智能循迹小车[P],国家知识产权局2015.05.21