本帖最后由 dfrobot 于 2019-11-18 15:51 编辑
micro:bit造物粒子(基于Mind+)05— 变速风扇
星际飞船在宇宙中随着惯性飘荡着,看着舷窗外明暗交替的灯光。 船舱内的温度也慢慢升高了起来,麦克的额头上都渗出了汗珠。麦克擦了一把汗说:“我们来做个小风扇凉快凉快吧。”micro:bit立刻表示赞成。 但是两人却有点无从下手,突然麦克灵机一动,想到了小米老师上节课所教给同学们的内容,呼吸灯的明暗变化不就是一个风扇的变速原理吗。于是,麦克和micro:bit开始了小风扇的制作。
所需元件1× micro:bit主控板 1× micro:bit扩展板 1×风扇模块
与家用风扇的原理相似,内部有马达,扇叶可以旋转,转速可以调整。 1× 按钮模块
1× 旋钮模块
1× MicroUSB 连接线 任务一:按钮风扇
实现功能当按下按钮的时候,外接风扇转动,松开按钮以后,风扇停止转动。
硬件连接把按钮模块(旋钮模块)接到扩展板P0号接口上;
把风扇模块接到扩展板P1号接口上。 风扇模块的使用 硬件连接时,我们将micro:bit与电脑相连接,进行程序调试和下载;
实验中,由于风扇或舵机等传感器的耗电量较大,所以,需要外接电源(或电脑USB口)独立供电。外接电源接在扩展板的外接电源接口VIN。
通过检测P0号引脚的值判断按钮是否被按下。当按钮被按下时,设置风扇连接引脚为高电平,风扇转动,当松开按钮时,设置风扇连接引脚为低电平,风扇停止转动。
STEP1:按钮模块属于数字输入,单击“microbit”模块,选择“读取数字引脚P0”指令,并拖到脚本区。
STEP2:“运算符”模块中的“ = ”可以判断按钮是否被按下,如果按钮值为“1”成立,说明按钮被按下,否则,按钮没有被按下。将“数字读取引脚P0”嵌套在等式中
STEP3:条件判断——怎样判断按钮是否按下?在“控制”模块中找到“如果那么执行,否则执行”指令。拖入脚本区的循环模块中。
STEP4:将“ = ”左右成立的条件指令嵌套到判断指令“如果那么执行,否则执行”中。
STEP5:“microbit”模块中找到“设置数字引脚P0 输出 低电平”指令,将指令修改成“设置数字引脚P1 输出 高电平”和“设置数字引脚P1 输出 低电平”,分别放在“那么执行”和“否则执行”下面,当按钮按下之后,就会执行这个指令让风扇转起来。松开按钮的时候,风扇停止转动。
任务二:变速风扇
实现功能当旋钮旋至较大值时,micro:bit控制风扇转速增大;当旋钮旋至较小值时,micro:bit控制风扇转速变小。旋钮的旋转值不同,对应的风扇转速不同。 硬件连接
将任务一按钮风扇用到的按钮模块换成旋钮模块。 编写程序
通过读取旋钮的值,来决定风扇转动的速度。旋钮的值为模拟值,取值范围在0-1023之间,将其值映射为风扇的速度值。 STEP1:旋钮连接板子的P0号引脚,单击“microbit”模块,选择“读取模拟引脚P0”指令,并拖到脚本区。
STEP2:风扇的速度由P0对应的旋钮值决定,将P0的值赋值给P1,可以控制风扇速度的改变。Microbit板的读取模拟引脚(旋钮)的值范围是0-1023,比输出模拟(风扇)的范围0-255大,旋钮的参数范围远远超过了输出范围,除了可以使用“ / (除号)”模块缩小范围,也可以使用“映射”指令,将0-1023的范围映射缩小到0-255。
将“运算符”模块中的“映射 从__到__”拖入脚本区,将“读取模拟引脚P0”放在“映射”两字的右侧框里,将数值改为“从 [0,1023] 到 [0,255]”。 STEP3:将“microbit”模块中的“设置模拟引脚P0 输出 ”拖入脚本区的“循环执行”中,将P0改为P1。并两个指令嵌套在一起。 能力提升
旋钮和按钮只能控制小等和风扇吗,能不能控制其他的硬件呢?编个程序旋钮或者按钮,控制点阵屏试试看吧。
Mind+最早是由DFRobot公司于2013年推出的图形化编程软件,能够让不懂编程的艺术家们通过几分钟的学习即可控制Arduino开源硬件,从而拓宽一些新的思维方式。
|