查看: 1314|回复: 4

micro:bit造物粒子(基于Mind+)06— 电子蜡烛

[复制链接]
本帖最后由 Vico 于 2018-6-20 22:15 编辑

麦克的故事
经历了一番太空历险之后,麦克和他的小伙伴终于有惊无险地回到了地球。
有一天,麦克看见新闻上关于温室效应的报道:人类的很多活动都可能造成碳排放,比如普通百姓简单的烧火做饭都能造成碳排放,很多物体被火烧后的废气都会产生碳排放。麦克深受启发要从小事做起减少碳排放,保护环境。
转眼间到了麦克生日这天,麦克突发奇想:能不能来做一个电子蜡烛,既特别还能保护环境呢?想着,麦克就开始倒腾起来:做一个能用声音吹灭的电子蜡烛。

所需元件
1× micro:bit主控板
截图201806201003384543.png
1× micro:bit扩展板
截图201806201003592223.png
1× LED灯模块
截图201806201004307305.png

1×  声音传感器模块
截图201806201004413345.png

能够通过它来感知外界声音的强弱,编写代码能实现由声音强弱控制LED小灯的亮灭。
1×  MicroUSB 连接线
截图201806201004555452.png
实现功能
  当声音强度模拟值小于80的时候,板载小灯显示数字“1”,表示声音较小,强度为1级;否则,声音强度模拟值大于80的时候,板载小灯显示数字“2”,表示声音较大,强度为2级。

【小知识】
想一想,是不是有点像我们之前做过的按钮风扇呢?在这里我们将再次用到如果...则...(否则)...的条件判断语句。

硬件连接
把声音传感器模块接到扩展板P0号接口上;LED灯模块接到扩展板P1号接口上。
截图201806201011599744.png
编写程序
要想制作电子蜡烛,首先要认识声音传感器。我们可以将声音传感器与micro:bit板连接,通过microbit扩展的“显示”来观察声音强弱程度。

STEP1:单击指令区最下面的“micro:bit”,将“控制”代码模块中的条件语句“如果--否则”拖动至脚本区,将“运算符”中的“<”拖动至脚本区。条件语句代码模块的功能在于设定触发显示板载数字的条件,如果满足右边逻辑判断语句。则执行在“如果”右侧的代码语句,反之,如果不满足逻辑判断语句,则执行的是在“否则”右侧的代码。

截图201806201012367234.png    截图201806201012477833.png


STEP2:指令区的"读取模拟引脚P0" 能够读取P0引脚连接的声音传感器的模拟信号数值,模拟数值范围在0—1023之间。

截图201806202211346535.png

STEP3:设定“声音强度探测”的实现程序。
逻辑指令中的“<”可以判断声音强度的模拟值是否达到设定的标准。
如下图,表示模拟读取引脚P0的数值“<80”成立的时候,即声音强度为1级的时候,板载小灯显示数字“1”,否则,模拟读取引脚P0的数值“>=80”时,声音强度为2级,板载小灯显示数字“2”。在“否则”代码之后,可以增加“等待1秒”,防止数字闪烁。

截图201806201014496910.png

对着声音传感器说话或者吹气,看你的板载LED点阵会不会显示相应的数字。
如果你已经很用力说话或吹气了却还是不能显示相应的数字,该怎么调节临界值80这个强度呢?改为更大还是更小?

任务二:电子蜡烛
实现功能
当在Mind+软件上编写程序后,烧录至micro:bit小板子,通过声音传感器控制LED小灯的亮灭,就像过生日的时候吹蜡烛一样,对着声音传感器吹气,当声音达到一定强度的时候,比如之前设定的2级强度时,小灯就熄灭。

编写程序
STEP1:编程过程中,通过设置micro:bit的P0引脚值(连接声音传感器的引脚)来控制小灯的亮暗。
当声音达到设定的强度的时候,小灯熄灭;反之,当声音未达到设定强度时候,小灯保持亮起的状态。将如图所示的判断语句代码模块指令拖动入“循环执行”中。

截图201806201024039432.png

STEP2:没有吹气时,小灯呈现亮的状态;吹气时,小灯呈现灭的状态。当小灯呈现亮的状态时,应向当前引脚输出“高电平”;当小灯呈现灭的状态时,应向当前引脚输出“低电平”。使用“设置数字引脚P0输出”这个模块,由于当前小灯连接的是P1引脚,将P0修改为P1,拖至脚本区。

截图201806202210048093.png
STEP3:设定“电子蜡烛”的实现程序。
当声音传感器模拟值小于设定值80的时候,小灯保持亮起的状态,反之,轻轻一吹,声音强度大于80时,小灯将保持2秒的熄灭状态。

截图201806201026317655.png







第六空间2008  学徒

发表于 2018-7-13 14:29:33

我试了下,80数值太小了,我这边设成600效果不错。
回复 支持 反对

使用道具 举报

荼靡  见习技师

发表于 2018-10-25 11:30:43

这些模块可以去哪里买呀
回复 支持 反对

使用道具 举报

Vico  初级技师
 楼主|

发表于 2018-10-27 00:54:59

第六空间2008 发表于 2018-7-13 14:29
我试了下,80数值太小了,我这边设成600效果不错。

有些模块的灵敏度会不一样、而且跟环境有很大关系
回复 支持 反对

使用道具 举报

Vico  初级技师
 楼主|

发表于 5 天前

荼靡 发表于 2018-10-25 11:30
这些模块可以去哪里买呀

DF商城上购买,搜索Boson
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
exit; ?>
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail