粉丝161获赞1648


今天我们来学习一下如何使用多个地面灰度传感器检测黑线中的路口。当车辆中有四到五个地面灰度时,小车就可以很好的分辨路口了。 以五个灰度传感器为例,中间的三个灰度传感器执行正常的巡线操作,外侧的两个灰度传感器分别检测左右路口,检测路口的逻辑如下所示, 当最外侧的灰度没有检测到黑线时,小车一直巡线直到最外侧的灰度有一侧或者全部检测到黑线时,那么小车就不在巡线。 进入到通过路口模式,按照预设的程序做出前进或转向操作,直到做完以上操作,而且 且最外侧挥度全部感应不到黑线时,小车跳出通过路口模式准备下一个程序或者停车。 以上就是使用灰度传感器进行路口检测的办法了,鲸鱼机器人为了方便大家使用,对灰度进行了模块集成处理, 减少了大家编程的时间,提高了课堂效率,请同学们多加练习,我们在之后的课程中会继续学习有关传感器的使用方法。

今天我们来学习一下鲸鱼机器人编程中的自制积木功能。自制积木有很多作用,在编写一些长段程序时,通常可以使用它来简化程序,方便我们理清程序逻辑。 自制积木可以添加三种内容,第一个是在自制积木中添加数字参数,第二个是在自制积木中添加布尔参数,第三个就是为自制积木添加文字说明。我们以小车走正方形的程序为例, 如果我们想让小车走正方形,常见的方法是让小车向前直行,然后向左或向右转弯,如此重复四次,就可以得到一个正方形的程序了。但如果我们要更改正方形的边长的话,每次都要调整四个参数,过于复杂。所以 我们来制作一个小车走正方形的模块。首先给模块起好名字,里面的数字参数就是小车走过的边长,我们让小车向前走边长的距离,然后让车辆向左转弯,如此重复四次, 就可以得到一个小车走正方形的模块了。然后我们在自制积木模块库中找到这个模块,将他拖拽到主程序下方,就可以直接执行一个小车走正方形的程序了。 同时我们可以通过修改模块中的数字,快速的调整这个正方形的边长。同学们可以在课堂中尝试一下使用自制积木模块制作一个小车走三角形的程序。

现在我们来讲解一下悬线模块库的应用。悬线模块库第一个模块初始化,拉到主程序下面,我们点开看一下里面的参数设置, 在初始化里面会设置左右马达的通道,地面灰度,在这里我们使用的是单灰度,如果你用到了是五合一的集成灰度,选择上面 一定记得五合一的集成灰度接口必须是 le 接口。单灰度我们用的是五个单灰度通道,分别接成从左到右,一二三四五,怎么看电机和灰度的左和右, 把小车平放,车头向前,你的左手边就是他的左,右手边就是他的右,记得不要反过来看。确定好初始化之后,我 我们进行的另一步操作,黑白线检测,这个程序完成之后,下载到控制器里面,点击运行进行第一步黑白线检测,我们来看一下他的大致运行,在控制器里面找到黑白检测程序名称,点击 alt 键进入下一步,在控制器屏幕上会显示这幅图, 然后问你是否进行黑白检测,选择 yes, 按 alt 键选择 yes, 按 alt 键进入下一步, 屏幕中央会显示 black lin, 就是黑线,这时候需要你把五个灰度放在同一条黑线上,车身平放,不压不抬,然后按 alt 键检测黑线 完成后,屏幕上会显示 whitening, 就是白线,同样把五个灰度放在同一片白色区域或者是 浅蓝色浅绿色区域,按按的键进入下一步。检测完成之后再按一下按的键,屏幕会显示检测数值,一般情况下白线数值在五百左右,黑线数值两千五左右,我们来看一下他的操作视频。 黑白检测完成之后,把这个模块拉开,我们再来看巡线模块库中其他模块。巡线路口 在场地上,我们把两条黑线相交的地方叫做路口,路口分为左路口、右路口、梯子或十字路口。我们来看一下巡线路口的参数设置。首先选择路口类型,左侧、右侧梯子或十字路口。巡线速度和冲出路口时间。 我们先来设置一下,比如我找到左路口速度三十,不设置冲出路口时间,来看一下他的具体操作, 悬线路口选择左侧路口,悬线速度三十,机器人会以三十的速度沿着黑线前行,直到找到左侧路口停下。 如果我们找的不是左侧路口,而是梯子路口,机器人会以三十的速度沿着黑线前行,直到找到梯子路口停下来。我们来看一下操作, 寻线路口,找左侧路口是机器人沿着黑线找到左侧路口停下来,找梯子路口就是找到前面梯子或十字路口停下来, 那么右侧就是找到右侧路口停下来。在这里我们就不再细说右侧路口了。刚才我们看到两个巡线路口的视频都是没有设置冲出路口时间的, 那么现在如果我们设置冲出路口时间,比如三十的速度,冲出路口时间为一。冲出路口时间是什么意思?是机器人找到路口后并不停下来,而是继续以原来的速度往前走,这么长的时间, 我们来看一下他的操作结果。我们看到同样的设置,找梯子路口速度都是三十,加上冲出路口时间后,找到梯子路口并没有停下来,而是继续往前走,直到一秒钟时间到。 我们再来看下一个模块,巡线计时。巡线计时一般情况下会在什么时候使用呢?机器人需要沿着黑线前行,但前方并没有路口,我不能使用巡线路口模块,在这里我一般会使用巡线计时。 寻线计时我们可以设置他的寻线速度和时间,比如寻线速度三十,时间一秒,那么他会沿着这条黑线以三十的速度往前寻线,直到一秒钟结束,寻线停止。 我们来看一下寻仙计时的具体应用。 全线计时模块,机器人会沿着黑线前行,用时间来进行控制,所以前方有无路口对他来说并无影响。我们再来看转弯模块, 转弯我们看一下这边结束位置,左侧、中间、右侧,千万不要把左侧和右侧认为这就是左转和右转,这是他结束的位置。 转弯怎么理解?在这里一个转弯并不意味着说我机器人是转了九十度还是转了一百八十度,他是以灰度传感器扫过的第一条黑线结束位置是中间,就一 意味着最中间的传感器扫过的第一条黑线停止,左侧就是靠近中间左边的,这个传感器扫过第一条黑线停止,右侧就是靠近中间右侧的这一个传感器扫过第一条黑线停止。 那么怎么设置它?左转和右转是通过设置马达速度来进行实现的。一般情况下,转弯我们会设置正负速,比如左转左马达负三十,右马达三十, 右转则相反,左马达三十,右马达负三十,这样来进行转弯的。一般情况下,我们会在巡线路口连接转弯,使用巡线路口的设置对转弯有没有影响呢?是有影 影响的,那么影响在什么地方?在冲出路口时间我们可以看一下,我找左侧路口并没有加冲出路口时间的时候,我加上一个左转左马达负三十,右马达三十,我们来看一下它的转弯效果。 通过视频我们可以看到,找到左路口之后进行左转转弯效果非常不好,车身倾斜度非常大,那么同样的转弯速度,同样的巡线速度,我们加上零点三的冲出路口时间,我们再来看一下转弯的效果。 通过视频我们看到第二次转弯效果非常好。一般情况下,如果巡线路口后面需要加转弯,我们都会在巡线路口里面 设置相对应的冲出路口时间,具体冲出路口时间设置需要根据巡线速度来进行调整的。下面我们再来看一下启动马达,在说启动马达之前,我们先确定一点, 巡线路口模块和巡线计时模块都是不可以后退巡线的,因为后退巡线出错几率特别大,一般情况下,如果机器人需要后退,我们都用启动电机模块, 启动电机模块,左马达和右马达速度设置参数在负一百到一百之间,如果需要机器人前进,我们设置正速, 需要机器人后退,设置复速时间和距离控制。在这里不再细说,我们主要来看一下传感器触发,传感器触发是以机器人前方安装的五个单灰度来作为判断的,现在比如说现在机器人五灰度在白线区域, 我需要去前方找到黑线,那么我们可以设置,比如最中间三号回度大于两千, 那么机器人会向前走,直到三号灰度找到黑线停下来。我们简单来看一下机器人启动电机,然后通过触发传感器条件停下来的一个操作视频 初始化下面直接放上启动电机,设置传感器触发,我们来看一下它的运行。 通过视频我们可以看到机器人出发之前,五个灰度传感器都是在白色区域,机器人启动电机向前走,中间灰度找到黑线的时候停下来。我们再来看一下悬线模块库中的按钮 扭启动,按钮启动有什么作用呢?一般情况下按钮启动放在初始化下面,如果程序里面没有加按钮启动,我程序下载到控制器里面,点击艾特键运行程序加载完成后会直接开始执行。 如果说我加了按钮启动,程序加载完成之后不会直接启动,直到我按一下按键,按钮才会直接启动, 这是按钮启动的作用。我们再来看一下巡线模块库里面巡线的模块这个作用,巡线模块一般情况下他不单独使用,会和条件判断或者是条件循环配合使用的,比如说我们和条件循环来配合使用, 我们需要先在条件循环里面设置它对应的条件,比如说我检测一号灰度 选择传感器,一号灰度传感器数值小于两千, 那么这条程序的意义是什么?就是如果说机器人最左侧的灰度传感器检测数值小于两千, 那么机器人一直是沿着线往前走,直到左侧灰度检测数值大于两千,意思就是找到左侧路口的时候停下来,那么这边的停止需要加上一个电机停止才可以设置 ab 电机停止 这条程序的应用就相当于是一个巡线路口找左侧路口,所以一般情况下巡线这个模块我们很少使用。以上就是我们关于 am model 九流程图编程软件中巡线模块库的应用。

嗨,大家好,我是大武老师,继续给大家带来 scratch 编程免费教学,今天的内容是 scratch 字字积木的教学, 在讲课前请大家关注我,方便收看大五老师的系列课程,如果觉得对你有用,请点个赞,谢谢! 那什么叫自制积木呢?在 scratch 里面的自制积木,其实就像我们其他很多编程语言里面的自定义函数,他主要是把一些公用的指令,一些代码 用一个自制自定义函数,或者是要自制积木把它就说定义出来,然后在其他地方就可以调用这个自制积木,这样就可以使编 编程的效率大大提高,以及编程的这个程序可读性增强。那我们就用一个字字寂寞来画正 n 边形,那比如说我们要画正三边形,正四边形、正五边形, 那我们是如果是每次代码都要去改动,那就不方便,那我们直接次之。一个积木叫做画正 n 边形,然后在要需要画的地方调用,他只要改一个参数就可以了,那我们怎么来次之积木呢?那我们是关系里面这样, 然后点击制作积木,那这里就写名称。比如说我们画 正 n 边形,那 n 几边形,这是一个参数,这个参数是一个数字形的,然后点增加一个参数, 然后面还可以继续添加文本,我要再提再增加其他的参数,我们假设这个呃字字,我们这个字字积木里面就只有这一个参数输入参数,那我们这里画正 n 边形, 那好点完成,那我们就这里就定义了一个自制积木,那定义了这个自制积木之后,我们就来针对这个自制积木,把他的代码完成, 那我们这里绘制,那就需要用到画笔里面的落笔, 然后画 n 边形,就要重复画几条边,那就是一个重复多少次,那多少次呢?这就是这个参数, 重复执行这个输入的这个参数次几边次,然后移动, 我们移动六十步,那这 n 边形根据内角外角的关系,它叫左左转,左转多少度呢?这就是一个外角外角,它其实就是三百六,所有的外角的核是三百六十度,三百六十除以,嗯, 那这个左转的角度是三外角的角度,三百六十度除以这个参数。然后画完了之后就有台笔, 那这个正 n 边形的四十七目 就已经画,就已经编写好了,那编写好了之后我们要再调用他的地方,就说调用他,那比如说我们要画正三边形,正五边形啊,那我们在正的就是程序 立即被点击,那我们要画笔里面先初始画擦除设置笔的颜色,然后设置笔的粗细, 那我们就开始这出错话了之后,那我们就开始来调用这个自制积木。怎么调用这个自制积木?那就是在自制积木里面,他就当成一个积木了, 把它拖过来,那我们这里几边形,我们先画一个三边形,那我们这个这个猫先隐藏,然后 运行就画出一个正三边形了,那我们正四边形,就这里选单数就改成四,是不是就四边形?那五边形, 这个是不是使用自制积木?我们的这个效率,编程的效率以及这个程序的可读性就非常强了,那我们七边形 对不对?那我们这个就这次就是使用一个自制积木的方式来绘制一个正 n 边形。那我们还有很多需要, 比如说功需要重复使用重复调用一段代码的,我们就可以把那段重复代调用的那段代码制定一层一个积木,然后就不需要重复编写那段代码, 那只需要用到那段代码的时候就调用这个字字进步就可以了,这样的程序的编写效率以及可读性就会大到增强。好的,那我们今天的课程就讲到这里啊,有问题的欢迎留言与我互动,记得关注和点赞,咱们下节课再见!