首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

颜色传感器的妙用,让程小奔把色带变成音乐之路

在上周程小奔分享会中,邱老师使用程小奔“能歌善舞”的表演了一首《小苹果》

今天我们会继续让程小奔的表演更丰富!我们先要为大家介绍程小奔的颜色传感器。诶……?不是说让程小奔的表演更丰富吗,为什么要讲一个传感器呢?

颜色传感器,顾名思义,它能够识别出不同的颜色,并转换为RGB值。很多教育机器人需要实现在场地不同区域完成不同任务时,一般都是通过在环境里放置颜色标志,来让机器人“知道”对应应该运行哪部分程序。所以,颜色传感器也使得机器人可以与环境有一个互动。

我们今天要做的,就是用不同的颜色对应上不同的音符,当程小奔在行走时识别到一种颜色,就播放一个对应的音符,当依次识别到一系列的颜色时,就能够播放出一首曲子啦!

程小奔识谱

如果想让程小奔“边唱边跳”,该怎么实现呢?其实实现这个功能并不难,我们需要用到它本身带的一个颜色识别功能,来当做识谱的基础。

在视频当中我们以【颜色识别】作为输入,当程小奔遇到黄色色块唱出音符,遇到绿色色块通过【动作指令】旋转作为输出。

制作乐谱

首先我们需要制作程小奔专用的颜色块乐谱,使用彩笔和事先准备好的纸张,绘画出程小奔的乐谱。每个色块尽量保持5厘米(cm)左右,保证程小奔能够读取的到每个音符。

程小奔每经过一个色块时,颜色识别传感器就能识别出颜色,并演奏该颜色对应的音符。

识别音符

乐谱设计好啦,那么程小奔怎么能识别它们呢?我们先让程小奔走在乐谱上,打开慧编程,首先设置一个“左轮以动力10%,右轮以动力10%”的指令,让程小奔一直保持匀速前进。这样就可以让程小奔走成直线,并且慢速的走过我们绘画的色块乐谱,再一一辨识颜色来演奏音符。

程小奔想要辨识音符需要使用到逻辑判断指令,我们先从积木块控制标签中拖拽出“如果 那么”指令

在下图号的位置上,加入感知标签中的“检测到颜色是红色?”,将颜色判断结果加入到逻辑判断指令中。

将播放音符指令拖拽至号的逻辑判断指令中,当程小奔判断颜色符合之后,就会执行其中的播放音符指令啦

程小奔跳舞

上边的代码我们都设计好以后,就可以组合程序让程小奔动起来。

我们先简单的让程小奔识别判断5种颜色,把其余颜色的判断加入,再组合起来,並加上黑色方框中的重复执行,程序部分就编写完成了,快上传程序到程小奔看看它有没有边唱边走呢!

尝试过让程小奔走直线唱歌后,我们可以让它“跳舞”啦。如下图,我们可以加入其它的动作指令,把它加入到判断逻辑中;在跳舞部分,我选择了让程小奔遇到绿色色块时,右转360度,这个指令默认是旋转15度,所以我们要手动重新填写。

这里我们要提醒一下,程小奔在执行复杂的动作时有可能跑偏脱离乐谱,需要注意哦。

如果执行命令过程中,程小奔失控走到不该走的地方,我告诉大家一个小技巧。

除了可以用电源键关闭程小奔以外,还可以将小程拿起来,与小奔分离。因为小奔脱离小程的动力来源后,就会自动停止走动,这是个紧急停止程小奔乱跑的解决方法。

学习让程小奔边唱边跳,需要用到的指令:逻辑判断指令、重复执行指令、颜色检测判断、执行及转向运动指令、播放音符指令

快打开你的程小奔,让它唱起来吧!如果你也想让程小奔唱一首《小苹果》可以在科技学堂公众号回复【小苹果】关键词获取图纸模板哦!

程小奔问答环节

除了每周的案例学习,让我们来看看其余时间群内的老师都是怎么跟邱老师学习的吧。

Q1:

请问老师使用慧编程机器学习的模块除了用摄像头还可以添加照片吗?

模型训练里面,今天试用了一下,可以通过摄像头获取照片,想进一步了解可不可以导入图片。因为现实状态人物所在的背景并不固定

目前慧编程只能从摄像头中获取照片哦,可以用白墙作为背景提高辨识度。

Q2:

这个视频中程小奔的动作是怎么实现的?我尝试用颜色识别功能好像并不成功。

如果是红色则显示100,如果是蓝色则10,重复执行,这样对吗

是的,记得加入等待指令让显示的数字停留,要都在重复执行当中

用这个和显示图案有什么区别吗?显示10直到结束

不用自己绘出数字哦,但是需要自己加入等待指令

点击回顾编程演奏第一支曲子,Makeblock程小奔的小苹果

科技学堂

科技辅导员在线学习平台

微信号:sciclass

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606A1OW1O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券