WEEEMAKE官方论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3010|回复: 0

【编程秘籍】坦克机器人 之 “避障与巡线模式智能切换”

[复制链接]

6

主题

6

帖子

40

积分

超级版主

Rank: 8Rank: 8

积分
40
发表于 2018-11-12 16:18:10 | 显示全部楼层 |阅读模式
1.jpg
  “快用六合一探索者机器人套件,搭建一个属于你的坦克机器人吧!”
2.png
      坦克机器人是探索者家族里的大前锋,履带式装甲战车系列,外观帅气,能过山地踏草地。坦克机器人上有一个超声波传感器,一个巡线传感器,前后两个电机作为动力源驱动机器人的行动。顶部的主控板上还有声控、光控等电子模块。
      这里我们为坦克机器人设计了一个新的程序任务,让机器人能实现更多好玩的功能。
编程任务:让坦克机器人在避障模式与巡线模式之间智能切换,用环境光线的明暗程度作为切换开关。此外给予机器人一些附加功能,在一定的噪音环境下,发出警报。
电子模块: 板载光线传感器——感知环境光线的值,设置临界值,作为避障模式与巡线模式的切换开关; 超声波传感器——避障模式下感知前方的障碍物;双路巡线传感器——巡线模式下识别黑线; 电机——控制机器人的速度变化;蜂鸣器——在噪音环境下自动警报;板载LED灯——在噪音环境下,与蜂鸣器一起发出警报信号。
第一步: 根据任务提示,梳理流程图。
3.png
第二步:用WeeeCode图形化编程软件编程。
1.    设置环境光线的临界值,如500;
7.png
2.    当在光线较强情况下,为巡线模式。
双路巡线传感器上有两个红外探测头,因此需要根据不同的场景来判断行动方式。
巡线模式分为四种情况:
双巡线传感器探头  判断  动作
S1检测值>临界值  且S2检测值>临界值 都在黑线上 直行
S1检测值<临界值  且S2检测值>临界值左边在白线上
右边在黑线上
右转
S1检测值>临界值  且S2检测值<临界值
右边在白线上
左边在黑线上
左转
S1检测值<临界值  且S2检测值<临界值 都在白线上 停止

这里的临界值需要根据实际场地情况进行测试。测试方法可以应用WeeeCode软件里的在线功能来得出。将机器人连接到电脑,选择正确的连接端口之后,选择“恢复在线固件”选项,等待上传完成。

然后编写下面的程序:
4.png
完成后,点击下面的程序,将其变为执行状态(周围会出现橙色光晕):
5.png
此时小象会自动说出不同端口检测到的反色光线值,数值越大,说明反色光越强,颜色越浅;数值越小,颜色越深,深色会吸收红外光。
6.png
同样,这种方法也适用于测试环境光线值、声音值等等。
将机器人放置到要巡线的地图上,测出黑线与白线区域不同的反射光数值,根据两个数值取一个平均值,作为临界值。
继续上面的程序编写:
8.png
这里的参考程序中选择的是400作为临界值,小朋友在编程的时候需要自己检测之后得出最适合的临界值才能成功。
此外,注意机器人两侧电机的转动方向。这里参考程序中,电机1是在机器人的左侧,电机2在机器人的右侧,两者的转动方向需要注意。在转弯的时候,两侧电机的转速差值是它们绝对值的差来判断转弯时的转速。
3.    当光线值较暗时,改变为避障模式。避障模式下用超声波传感器作为避障工具,同样也需要设置一个检测障碍物距离的临界值。
当检测到障碍物(即障碍物在20cm范围内时),机器人的反应是先后退,在直行;没有障碍物时,直接前进,避障模式下,超声波传感器可以打开灯照明。
9.png
4.    附加功能:当环境中的噪音超过一点范围时,机器人发出警报。
10.png


第三步:烧录程序;
1.    将三轮机器人通过USB数据线连接到电脑端;
2.    选择连接端口;
     点击主程序模块,“上传到arduino”。等待上传完成。
11.png



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|WEEEMAKE官方论坛 ( 粤ICP备18115640号 )

GMT+8, 2024-3-29 01:15 , Processed in 0.021674 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表