机器人教程 - 复件(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

这个电池组具有过充电保护、低压保护以及短路保护,使用中也要尽量防止电池组短路。不要将电池从电池盒中拿出来,否则安装时容易将极性装反。当发现控制器指示灯闪烁或电池组无输出电压时要用附带的充电器及时充电。充电器和电池的连接方法如图:接下来:我们用两个低速电机搭建一个小车,参考搭建:大家也可以在优酷网输入--汇博士积木机器人观看相关搭建编程视频。1:两个低速电机分别连接大齿轮2:固定在主控器上,另外固定两个扁梁及两个10厘米主梁。3:用一个短轴辅助,分别在两侧齿轮上装上两个皮带轮。4:装上后轮,同样分别装上两个皮带轮,并用挡圈固定。5:选四根长度合适的皮带,先挂到轴上。:6:装上框架。7:控制器底部固定一根10厘米主梁和框架相连。注意要先固定一个扁梁以便调节高度,不然和框架连接不上。8:将框架用扁梁锁定,挂上传送带。9:放上电池,基本小车框架完成。这个小车可以作为一个通用的平台,我们可以通过给它装上不同的传感器,来改变它的功能。例如:装上红外传感器可以做出循迹小车,装上超声传感器可以做出壁障小车,装上光敏传感器可以做出追光小车等。装上测距传感器的小车:两个电机分别插入电机1和电机2接口。编一个程序,让这个小车先前进,2秒后原地转圈。间隔1秒后再前进,如此反复。提示:分别改变两个电机的转向,就可使小车前进,后退,左转,右转。参考程序:1:电机1正转2:电机2正转3:等待3000毫秒4:电机1正转5:电机1反转6:等待2000毫秒7:跳转到1步运行注:这个程序是按照两个电机都是正转时,小车前进来编写的。具体到实际应用中,可能会有不同。我们可一个注意事项:当使用高速电机时,如果要改变电机的转向,应先使电机停止大约0.5秒,然后再改变转向。低速电机可以直接改变转向。示例:1:电机1正转2:等待2000毫秒3:电机1停止4:等待600毫秒5:电机1反转6:等待3000毫秒7:跳转到7步运行装上红外传感器的小车:这个电池组具有过充电保护、低压保护以及短路保护,使用中也要尽量防止电池组短路。不要将电池从电池盒中拿出来,否则安装时容易将极性装反。当发现控制器指示灯闪烁或电池组无输出电压时要用附带的充电器及时充电。充电器和电池的连接方法如图:电池充满时,充电器的指示灯会由红色变为绿色。注:若电池不慎脱落,请严格按照下图安装极性标示将电池装入。安装错误会造成保护电路的损坏。端口_关闭这个是用于控制端口输出控制信号的指令。在具体应用中,我们可以用这条指令来控制一盏灯的亮灭,一台电机的启动停止,一个电磁阀的开闭等。输入的数字为1——6之间的任意数。端口__打开这个是用于控制端口输出控制信号的指令。在具体应用中,我们可以用这条指令来控制一盏灯的亮灭,一台电机的启动停止,一个电磁阀的开闭等。输入的数字为1——6之间的任意数。例如有一段程序:1:端口2打开2:等待1000毫秒3:端口2关闭4:等待1000毫秒5:跳转到1步执行:我们在1秒为间隔闪烁。端口__交替这个指令用于使端口输出的控制信号翻转。也就是说,未执行这条指令时如果某个端口输出关闭,那么执行完这条指令后就变为打开。输入的数字为1——6之间的任意数。例如有以下程序:1:端口2交替2:等待1000毫秒3:跳转到1步运行试试看:我们在端口2插入一个发光管,输入以上程序。按下自动运行键,看一下发光管是否是以1秒为间隔闪烁。上面两段程序实现的功能相同,第二个程序就简洁多了。循环开始循环?次向下运行这两个指令要配对使用,用于控制某一段程序的循环执行次数。指令“循环?次向下运行”输入的数字为1——999,代表循环次数。指令“循环开始”不需输入数字。如何使用举例说明。例如:1:循环开始循环开始2:端口3打开3:等待2000毫秒4:端口3关闭5:等待2000毫秒6:循环7次向下运行循环7次7:跳转到7步运行;循环执行7步这段程序的功能是让第二到第五条指令循环执行7次。想让某一段程序循环执行多少次,就把“循环开始”放在这段程序的前头,“循环?次向下运行”放在这段程序的后头,并输入循环次数即可。执行流程如图示插入一个发光管,输入以上程序。按下自动运行键,看一下发光管是否是以音调—节拍---这个指令的功能是:可以发出Do,Re,Mi,Fa,So,La,Si……不同音调,并可以控制发音时间的长短。所以利用这个指令可以让机器人自动演奏一首曲子。大家知道一首音乐由两部分组成,一是音调,二是节拍。音调就是Do,Re,Mi,Fa,So,La,Si……,对应的简谱为1,2,3,4,5,6,7,可以分为高音,中音,低音三个音阶。实际上就是声音的不同频率。节拍简单的说就是每个音调发声的时间长短。例如:发出低音Re。可输入指令:音调12节拍02其中“音调12”的1代表低音,若是中音用2表示,高音用3表示。十位2代表Re的简谱。“节拍02”的02代表发音时间,它基本上是一拍的时间,那么两拍时间为4。节拍表:01:1/2拍02:1拍半03:1拍04:2拍05:3拍06:4拍07:8拍08:12拍09:16拍10:32拍注意这个节拍时间也是相对的。比如,如果感觉02代表一拍旋律过快,那么可以用04代表1拍,其它数字对应的节拍数相应调整即可。注:这个指令输入时,必须四个数字全部输满。例如,若输入4,必须键入04.直接输入4,将会变成40。以生日快乐歌的简谱为例:C3/4代表C调,4小节,每小节3拍。两条竖直线之间为一小节,其中有底线的两个1,代表一拍,之后的2,1各一拍,总共三拍。在第二小节里,3之后的一条线代表3为两拍。接下来我们编一段程序来演奏生日快乐歌。音调21节拍02中音Do,半拍音调21节拍02中音Do,半拍音调22节拍04中音Re,一拍音调21节拍04中音Do,一拍第一小节完毕音调24节拍04中音Fa,一拍音调23节拍06中音Mi,两拍第二小节完毕音调21节拍02中音Do,半拍音调21节拍02中音Do,半拍音调22节拍04中音Re,一拍音调21节拍04中音Do,一拍第三小节完毕音调25节拍04中音So,一拍音调24节拍06中音Fa,两拍第四小节完毕音调21节拍02中音Do,半拍音调21节拍02中音Do,半拍音调31节拍04高音Do,一拍音调26节拍04中音La,一拍第五小节完毕音调24节拍04中音Fa,一拍音调23节拍04中音Mi,一拍音调22节拍04中音Re,一拍第六小节完毕音调27节拍02中音Si,半拍音调27节拍02中音Si,半拍音调26节拍04中音La,一拍音调24节拍04中音Fa,一拍第七小节完毕音调25节拍04中音So,一拍音调24节拍06中音Fa,两拍第八小节完毕跳转1循环演奏输入以上程序,按下自动运行键,欣赏一下你的作品吧。试一试:若把程序改成演奏两遍自动停止,如何改动。调用子程序?子程序是什么意思呢?我们拿上面的生日歌为例,比如在一个程序中,有多个地方需要用到这首歌的程序段,那么是不是在每个用到这首歌的地方都要重复输入这段程序呢,当然那样做也可以,不过太麻烦。简便的做法是:将这个生日歌的程序段做成一个子程序,程序中只要用到生日歌,直接用一条“调用子程序?”指令调用这个程序段即可。“子程序返回”指令用在子程序的结尾,执行这个指令之后,程序会返回主程序,继续执行“调用子程序”下面的指令。打个比方:我和两个朋友都想看一本书,我上午有时间看,另外两个朋友一个下午有时间看,一个晚上有时间看。当然,我们可以每人买一本。不过为了避免浪费,我们也可以只买一本书,保管在一个特定位置,谁看的时候就拿过来,看完再放回去。这样既避免浪费,又每人都可以读到这本书。子程序执行的流程如下图所示:让机器人思考我们的生活中有许多的智能设备,比如:楼梯的照明灯,晚上听到人的脚步声会自己亮起,延时一段时间关闭。在白天,一直处于关闭状态。再比如:空调,它能够自动调节房间内的温度。当房间的温度高于我们的设定温度时,压缩机加速旋转,进行降温。两者的温度越接近,压缩机旋转越慢,直至两者温度趋于相等。看上去这些设备能够自己决策,或者说能够自己思考。他们是怎么做到的呢?原来,这都是程序中的条件判断指令在起作用。这个机器人套装的控制器指令集中也有许多条件判断指令。能够完成包括距离判断,数值判断,端口信号判断,模拟值判断等。利用这些指令,就可使我们的机器人学会思考。条件判断指令不能单独使用,必须和“条件结束”,这个指令配合使用,才能组成一个完整的条件判断程序段。如示意图所示:可以看到,条件判断程序段,从判断指令开始,到“条件结束”完毕。判断指令和“条件结束”可以看作是两头的分界线。期间包括条件满足时执行的动作。要判断的条件可以是一个,也可以是多个,没有限制。如果是多个条件,必须全部条件都满足才算满足条件。它的执行流程描述如下:先判断条件是否满足(若是多个条件,必须全部条件都满足才可以),若满足,就会顺序向下执行。如果条件不满足(若是有多个条件,即使有一个条件不满足,也会视为不能满足条件),就会直接执行“条件结束”后面的指令。件判断程序应该看作一个整体。最主要的是弄清楚它的执行流程。由此看来,机器人的思考和我们人类的思考有着本质的区别。机器人具体如何思考,做是另一种类型的跳转。接下来就配合一些小程序,逐一介绍这些指令。1——6,代表1到6号端口。1——6,代表1到6号端口。是由我们编制的程序决定的,它只是机械的根据检测到的信号来执行不同的程序段,也可用这条指令和条件判断指令可以组成条件判断程序的基本框架,这条指令不需输入数字,口1至端口6的任意端口。传感器模块的插头和检测探头的对应关系如图所示:传感器模块带有两个检测探头,以及两个插头。它能同时检测两路信号。这两个插头可以插入端程序:指令解释:1:检测到端口1有信号要判断的条件2:电机1正转条件满足执行的动作3:条件结束条件判断结束4:端口到端口1无信号若没有信号5:电机1停止执行的动作6:条件结束判断结束7:跳转到1步执行循环判断我们将传感器模块的两个插头分别插入端口1和端口2,将一个低速电机插入电机1端口。我们编写这样一个程序,当两个探头都检测到信号时,电机转动,当两个探头都没有信号时,电机停转。开始编程。条件判断程序是机器人编程的重中之重,它直接关系到我们设计的机器人是不智能。实际上,只要明白了它的执行流程,还是比较容易掌握的。这只是个参考布置,探头的布置可以有许多方式,只要能保证离地1厘米左右,两个探头的距离可以根据制作黑色电气胶带在白色地板上或是大的白色纸板上制作。只要宽度大于2的黑色轨迹的宽度调整,只要稍大于轨迹的厘米即可。当小车和线路都做好后,我们可以将小车放到线路上,来观察两个探头能否在检测到黑色线路时,红外传感器的指示灯熄灭。检测到地板时,亮起。若不是,可以调整探头的位置。都正常后就可以编程了。编程思路:小车在线路上行走时,传感器检测到的信号共有以下几种组合;1:两个探头都检测到信号。这说明线路轨迹正好在小车的中心,这种情况下,小车只需前进即可。2:左边的探头检测到信号,而右边的检测不到。这说明小车向左脱离轨迹,这种情况下,小车应该右转。3:左边的探头检测不到信号,右边的能够检测到信号。这说明小车向右脱离轨迹,这种情况下,小车应该左转。程序流程图:小车前进左边的探头检测到信号,而右边的检测不到。小车右转左边的探头检测不到信号,右边的能够检测到信号。小车左转跳转到第一步循环检测具体程序怎么编,相信大家心里非常清楚了。试试吧。度即可。小车的行走轨迹可以用关于内部寄存器如果A?判断A中的数是否大于某个数如果A?判断A中的数是否小于某个数如果B?判断B中的数是否大于某个数如果B?判断B中的数是否小于某个数如果AB?判断A中的数是否大于B中的数如果AB?判断A中的数是否小于B中的数这些指令有什么用呢?其实,它可以在距离判断,计数判断,模拟量判断方面大显身手。具体怎么用,还是通过制作机器人来说明吧。我们还是采用四驱小车的车体,在车的一端装上测距传感器。我们的想法是:当小车探测到障碍物时,转弯,若没有障碍物,则前进。那么我们是不是还利用红外传感器来检测障碍物呢,也行,但是效果不理想。因为它的

1 / 99
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功