本帖最后由 dfrobot 于 2019-11-18 15:52 编辑
micro:bit造物粒子(基于Mind+)06— 电子蜡烛
麦克的故事经历了一番太空历险之后,麦克和他的小伙伴终于有惊无险地回到了地球。 有一天,麦克看见新闻上关于温室效应的报道:人类的很多活动都可能造成碳排放,比如普通百姓简单的烧火做饭都能造成碳排放,很多物体被火烧后的废气都会产生碳排放。麦克深受启发要从小事做起减少碳排放,保护环境。 转眼间到了麦克生日这天,麦克突发奇想:能不能来做一个电子蜡烛,既特别还能保护环境呢?想着,麦克就开始倒腾起来:做一个能用声音吹灭的电子蜡烛。
所需元件1× micro:bit主控板 1× micro:bit扩展板 1× LED灯模块
1× 声音传感器模块
能够通过它来感知外界声音的强弱,编写代码能实现由声音强弱控制LED小灯的亮灭。 1× MicroUSB 连接线 实现功能 当声音强度模拟值小于80的时候,板载小灯显示数字“1”,表示声音较小,强度为1级;否则,声音强度模拟值大于80的时候,板载小灯显示数字“2”,表示声音较大,强度为2级。
【小知识】 想一想,是不是有点像我们之前做过的按钮风扇呢?在这里我们将再次用到如果...则...(否则)...的条件判断语句。
硬件连接把声音传感器模块接到扩展板P0号接口上;把LED灯模块接到扩展板P1号接口上。 编写程序要想制作电子蜡烛,首先要认识声音传感器。我们可以将声音传感器与micro:bit板连接,通过microbit扩展的“显示”来观察声音强弱程度。
STEP1:单击指令区最下面的“micro:bit”,将“控制”代码模块中的条件语句“如果--否则”拖动至脚本区,将“运算符”中的“<”拖动至脚本区。条件语句代码模块的功能在于设定触发显示板载数字的条件,如果满足右边逻辑判断语句。则执行在“如果”右侧的代码语句,反之,如果不满足逻辑判断语句,则执行的是在“否则”右侧的代码。
STEP2:指令区的"读取模拟引脚P0" 能够读取P0引脚连接的声音传感器的模拟信号数值,模拟数值范围在0—1023之间。
STEP3:设定“声音强度探测”的实现程序。 逻辑指令中的“<”可以判断声音强度的模拟值是否达到设定的标准。 如下图,表示模拟读取引脚P0的数值“<80”成立的时候,即声音强度为1级的时候,板载小灯显示数字“1”,否则,模拟读取引脚P0的数值“>=80”时,声音强度为2级,板载小灯显示数字“2”。在“否则”代码之后,可以增加“等待1秒”,防止数字闪烁。
对着声音传感器说话或者吹气,看你的板载LED点阵会不会显示相应的数字。 如果你已经很用力说话或吹气了却还是不能显示相应的数字,该怎么调节临界值80这个强度呢?改为更大还是更小?
任务二:电子蜡烛实现功能当在Mind+软件上编写程序后,烧录至micro:bit小板子,通过声音传感器控制LED小灯的亮灭,就像过生日的时候吹蜡烛一样,对着声音传感器吹气,当声音达到一定强度的时候,比如之前设定的2级强度时,小灯就熄灭。 编写程序STEP1:编程过程中,通过设置micro:bit的P0引脚值(连接声音传感器的引脚)来控制小灯的亮暗。 当声音达到设定的强度的时候,小灯熄灭;反之,当声音未达到设定强度时候,小灯保持亮起的状态。将如图所示的判断语句代码模块指令拖动入“循环执行”中。
STEP2:没有吹气时,小灯呈现亮的状态;吹气时,小灯呈现灭的状态。当小灯呈现亮的状态时,应向当前引脚输出“高电平”;当小灯呈现灭的状态时,应向当前引脚输出“低电平”。使用“设置数字引脚P0输出”这个模块,由于当前小灯连接的是P1引脚,将P0修改为P1,拖至脚本区。
STEP3:设定“电子蜡烛”的实现程序。 当声音传感器模拟值小于设定值80的时候,小灯保持亮起的状态,反之,轻轻一吹,声音强度大于80时,小灯将保持2秒的熄灭状态。
Mind+最早是由DFRobot公司于2013年推出的图形化编程软件,能够让不懂编程的艺术家们通过几分钟的学习即可控制Arduino开源硬件,从而拓宽一些新的思维方式。
|