APP下载

基于Arduino图形化编程的寻迹小车

2018-06-12李东钦唐伟杰

信息记录材料 2018年7期
关键词:黑线图形化积木

李东钦,唐伟杰,刘 耀

(北京理工大学珠海学院 广东 珠海 519088)

1 引言

随着时代发展,寻迹车在越来越多出现在人们的视野里。具体的模型是,将黑色环形线设置为跟踪汽车轨迹,通过传感器捕捉黑色路径信息,发送给微控制器,通过一定的控制算法实现汽车沿黑线行驶平稳快速。

程序的设计通常是通过文本的编程代码实现的,这不仅需要一定的编程基础,而且容易出错。Arduino的编程环境不仅有文本式的(如Arduino IDE,见图1),还有图形化、积木式的(如ArduBlock,见图2),ArduBlock是一个将图形化程序翻译为Arduino文本程序的一个翻译器。本文采用的编程环境是后者,设计者只需要理解小车运行的原理,简单的程序块组合操作,即可完成小车运行程序的设计。

图1 Arduino IDE编程环境

图2 ArduBlock编程环境

2 寻迹小车程序的建立

这个设计的控制器是arduino mega 2560,arduino mega 2560有数字I/O端口和模拟I/O端口,有一个特殊的PWM出口。可以将设计出的控制算法直接下载至控制器中。小车为两驱小车,电机使用普通直流电机,电机驱动选择L298N,负责驱动两个直流电机,传感器选择光电传感器。

寻迹小车的实物图如图3所示,小车车头左、中、右三个位置,分别装有1个TCRT5000光电传感器模块,传感器的输出可以是数字信号,也可以是模拟信号。当检测到黑线时,输出为1,否则为0;对于模拟信号,输出是0~5v的电压信号,通过转换后为0~1023范围的数值,根据光电传感器接收到的光线强弱的不同,输出不同的数值,光线越强,数值越大;光线越弱,数值越小。本设计中光电传感器的输出信号选择为数字信号。

图3 寻迹小车实物图

本设计中小车的运动状态有三个,分别为直行,左转,右转。当中间传感器感应到黑线的时候,小车加速直行;当左边传感器感应到黑线的时候(此时小车偏向右边),小车左转;当右边的传感器感应到黑线的时候(此时小车偏向左边),小车右转。逻辑关系图如图4所示。

图4 寻迹小车控制逻辑图

我们采用PWM技术调节占空比来控制直流电机的转速,也就是小车的速度。当输入为0时,输出占空比为0的PWM信号,电机停止运行;当输入为255时,输出占空比为1的PWM信号,电机全速运行。PWM信号的频率为490Hz。小车的转向采用差速控制。

在Arduino的编程环境ArduBlock中搭建如图2所示积木式程序。

3 寻迹小车的调试

将USB数据线将控制器与电脑连接起来,安装好USB驱动。在Arduino IDE界面的“工具”菜单栏里选择相应的“板”、“处理器”、“端口”。

根据图4寻迹小车控制逻辑图,拖动对应的逻辑功能块,搭建图2所示积木式程序。点击ArduBlock界面内的“上载到Arduino”,ArduBlock会将图形化程序翻译成文本程序并显示在Arduino IDE上(如图1),同时上传至Arduino控制器中。将小车放轨迹线上,调节光电传感器上的电位器来调节其对于黑线的感应灵敏度。可以通过更改程序中两电机的PWM输出值,让小车能够顺利完成寻迹跑动任务。

4 结语

本文以Arduino控制的寻迹小车为对象,使用Arduino的图形化、积木式编程环境(ArduBlock)进行程序的编写。旨在让非专业的同学都可以理解掌握寻迹小车的控制原理,轻松掌握Arduino图形化编程方法,提高对智能控制的兴趣。可以自己动手做出各种创意的智能项目。当然,在这个设计中构建的程序相对简单。如果汽车需要更灵活和智能化,硬件或程序应该进一步改进和优化。

[1] 唐伟杰,基于MATLAB 和Arduino 的寻迹小车[A].数学技术与应用, 2015 (7):71-72.

[2] 谢作如,张禄.Aruino创意机器人入门——基于ArduBlock(第2版)[M].北京:人民邮电出版社,2017.

[3] 刘玉田,许勇进.用Arduino进行创造[M].北京:清华大学出版社,2014.

猜你喜欢

黑线图形化积木
基于Arduino图形化编程的教学应用研究
这块积木能给我吗
黑线
星钻积木
LKJ自动化测试系统图形化技术研究
虾背黑线真的特别“脏”吗
有趣的积木
这也算海鲜
七巧数独
玩积木