Micro:bit造物粒子(基于Mind+)04— 手控信号灯-Arduino中文社区 - Powered by Discuz! Archiver

dfrobot 发表于 2019-11-18 14:51

Micro:bit造物粒子(基于Mind+)04— 手控信号灯

本帖最后由 dfrobot 于 2019-11-18 15:51 编辑

Micro:bit造物粒子(基于Mind+)04— 手控信号灯
麦克的故事周六早上到了约定好的出发时间,麦克跟着micro:bit登上了前往DF星球的星际飞船,通过空间跃迁预计需要几个小时才能到达。过了大约一个小时左右,突然飞船内响起了呜呜呜的警报声,原来是空间跃迁仪出现了故障,飞船偏离了航向,在茫茫星海中迷了路。麦克急得满头大汗,倒是micro:bit还算镇定,对麦克说,这种时候千万不要慌,我们先想办法让别的飞船注意到我们,这样就容易获救啦。听了micro:bit的话,麦克也慢慢镇定了下来,他想起有时候晚上会看到天上的飞机有一亮一暗的灯光,在夜空中十分醒目,于是对micro:bit说:“让我们来做一个信号灯吧。”所需元件1× micro:bit主控板http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142457sbp7bnn7qtriyk7r.png
1× micro:bit扩展板http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142519xtfj8htwrqth1t34.png
1× LED灯模块http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142539xiy8wygusigip6rw.png
1× 按钮模块http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142555t58nsd4q8eqqi8bp.png按钮就像我们家用按钮台灯的按钮一样,当按下的时候,可以传递一个命令,让我们的小灯被点亮,不过需要连接编写好程序的micro:bit小板子才可以哦。
1× 旋钮模块http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142614kjnk1nvabztncjyy.png旋钮作为输入模块,可以通过旋转不同的角度,传递不同的信号值。旋钮与按钮的区别:按钮处于按下状态时,电路接通,旋钮旋转到一定范围内,电路处于接通状态。
1× MicroUSB 连接线http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142645ljlxd0j07adqe77t.png
任务一:按钮控制LED灯实现功能当按下按钮的时候,外接LED小灯被点亮,松开按钮以后,外接LED小灯熄灭。硬件连接把按钮模块(旋钮模块)接到扩展板P0号接口上;
把 LED 灯模块接到扩展板P1号接口上。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142713q000kx2ba0z0sbes.png编写程序通过检测P0号引脚的值判断按钮是否被按下。当按钮被按下时,设置LED小灯引脚为高电平,LED灯被点亮,当松开按钮时,设置LED小灯引脚为低电平,LED灯熄灭。
STEP1:按钮模块属于数字输入,单击“microbit”模块,选择“读取数字引脚P0”指令,并拖到脚本区。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142754vtlv2fnllvfoplic.pngSTEP2:“运算符”模块中的“ =”可以判断按钮是否被按下,如果按钮值为“1”成立,说明按钮被按下,否则,按钮没有被按下。将“数字读取引脚P0”嵌套在等式中http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142833h98q7yu7pyllphwq.png
STEP3:条件判断——怎样判断按钮是否按下?在“控制”模块中找到“如果那么执行,否则执行”指令。拖入脚本区的循环模块中。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142858sapoclhhhh6mzsiv.png
STEP4:将等式左右的条件嵌套入“如果那么执行,否则执行”指令中。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/142928zqv1e2qvkdq26d12.png
STEP5:“microbit”模块中找到“设置数字引脚P0 输出 低电平”指令,将指令修改成“设置数字引脚P1 输出 高电平”,放在“那么执行”下面,当按钮按下之后,就会执行这个指令让小灯亮起来。    将“设置数字引脚P1 输出 低电平”放在“否则执行”下面,当松开按钮的时候,外接LED小灯熄灭。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/143114wu93oj692meujb79.png
任务二:旋钮控制LED灯
实现功能当旋钮旋至较大值时,micro:bit控制外接小灯越亮;当旋钮旋至较小值时,micro:bit控制外接小灯越暗。旋钮的旋转值不同,对应的小灯亮度不同,旋转时,灯的亮度连续变化。硬件连接
把任务一按钮台灯中使用的按钮模块换为旋钮模块。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/143155pn3oa3wyqjevfv99.png编写程序通过读取旋钮的值,来决定LED灯的亮度。旋钮的值为模拟值,取值范围在0-1023之间,将其值映射为LED灯对应的亮度值。
STEP1:旋钮连接板子的P0号引脚,单击“microbit”模块,选择“读取模拟引脚P0”指令,并拖到脚本区。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/143246s3uf8zlkbbb36znh.png
STEP2:LED灯的亮度由P0对应的旋钮值决定,将P0的值赋值给P1,可以控制LED灯的改变。Microbit板的读取模拟引脚(旋钮)的值范围是0-1023,但是设置输出模拟(LED灯)的范围是0-255,旋钮的参数范围远远超过了输出范围,那该怎么办?其实只要把读取的数值除以4,就可以保证LED灯的参数不会超过255啦。
将“运算符”模块中的“ /(除号)”拖入脚本区,“读取模拟引脚P0”放在“ /(除号)”左侧,右侧填入数字4。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/143327danmwz8eaazw8eq7.png
STEP3:将“microbit”模块中的“设置模拟引脚P0 输出 ”拖入脚本区的“循环执行”中,将P0改为P1。将“读取模拟引脚P0”和““设置模拟引脚P1输出/ 4 ” 两个指令嵌套在一起。http://mc.dfrobot.com.cn/data/attachment/forum/201806/12/143359qo75o5454hf9ow1o.png
能力提升利用家里的一些纸盒、纸杯、彩纸等,制作出精致的小灯外形,让它成为你自己的独一无二的作品。
更多课程,欢迎点击以下链接

[*]入门课程

[*]micro:bit造物粒子(基于Mind+)— 入门篇
[*]micro:bit造物粒子(基于Mind+)02— 自制表情包
[*]micro:bit造物粒子(基于Mind+)03— 闪烁的LED
[*]micro:bit造物粒子(基于Mind+)04— 手控信号灯
[*]micro:bit造物粒子(基于Mind+)05— 变速风扇
[*]micro:bit造物粒子(基于Mind+)06— 电子蜡烛
[*]micro:bit造物粒子(基于Mind+)07— 自动门
[*]micro:bit造物粒子(基于Mind+)08— 音乐盒
[*]micro:bit造物粒子(基于Mind+)09— 炫彩灯带
进阶课程
[*]micro:bit造物粒子(基于Mind+)10— 自平衡仪
[*]micro:bit造物粒子(基于Mind+)11— DJ演奏台
[*]micro:bit造物粒子(基于Mind+)12— 可移动门铃
[*]micro:bit造物粒子(基于Mind+)13— 拆弹游戏
▲mind+官网:http://www.mindplus.cc
Mind+最早是由DFRobot公司于2013年推出的图形化编程软件,能够让不懂编程的艺术家们通过几分钟的学习即可控制Arduino开源硬件,从而拓宽一些新的思维方式
页: [1]
查看完整版本: Micro:bit造物粒子(基于Mind+)04— 手控信号灯