micro:bit造物粒子(基于Mind+)05— 变速风扇

2018-06-125.6万
AI 快速预览详细 收起
micro:bit造物粒子05—变速风扇是一个基于Mind+平台的项目,通过micro:bit主控板、扩展板、风扇模块、按钮模块和旋钮模块,实现了风扇转速的控制。项目分为两个任务:按钮风扇和变速风扇。按钮风扇通过按钮模块控制风扇的启停,而变速风扇则通过旋钮模块调节风扇的转速。这个项目不仅锻炼了孩子的动手能力,还激发了他们对编程的兴趣。
micro:bit造物粒子(基于Mind+)05— 变速风扇

星际飞船在宇宙中随着惯性飘荡着,看着舷窗外明暗交替的灯光。
船舱内的温度也慢慢升高了起来,麦克的额头上都渗出了汗珠。麦克擦了一把汗说:“我们来做个小风扇凉快凉快吧。”micro:bit立刻表示赞成。
但是两人却有点无从下手,突然麦克灵机一动,想到了小米老师上节课所教给同学们的内容,呼吸灯的明暗变化不就是一个风扇的变速原理吗。于是,麦克和micro:bit开始了小风扇的制作。

所需元件
1× micro:bit主控板
micro:bit造物粒子(基于Mind+)05— 变速风扇图1
1× micro:bit扩展板
micro:bit造物粒子(基于Mind+)05— 变速风扇图2
1×风扇模块
micro:bit造物粒子(基于Mind+)05— 变速风扇图3

与家用风扇的原理相似,内部有马达,扇叶可以旋转,转速可以调整。
1× 按钮模块
micro:bit造物粒子(基于Mind+)05— 变速风扇图4

1× 旋钮模块
micro:bit造物粒子(基于Mind+)05— 变速风扇图5

1× MicroUSB 连接线
micro:bit造物粒子(基于Mind+)05— 变速风扇图6
任务一:按钮风扇
实现功能
当按下按钮的时候,外接风扇转动,松开按钮以后,风扇停止转动。


硬件连接
把按钮模块(旋钮模块)接到扩展板P0号接口上;

把风扇模块接到扩展板P1号接口上。
micro:bit造物粒子(基于Mind+)05— 变速风扇图7
风扇模块的使用
硬件连接时,我们将micro:bit与电脑相连接,进行程序调试和下载;

实验中,由于风扇或舵机等传感器的耗电量较大,所以,需要外接电源(或电脑USB口)独立供电。外接电源接在扩展板的外接电源接口VIN。
micro:bit造物粒子(基于Mind+)05— 变速风扇图8

通过检测P0号引脚的值判断按钮是否被按下。当按钮被按下时,设置风扇连接引脚为高电平,风扇转动,当松开按钮时,设置风扇连接引脚为低电平,风扇停止转动。

STEP1:按钮模块属于数字输入,单击“microbit”模块,选择“读取数字引脚P0”指令,并拖到脚本区。
micro:bit造物粒子(基于Mind+)05— 变速风扇图9

STEP2:“运算符”模块中的“ =  ”可以判断按钮是否被按下,如果按钮值为“1”成立,说明按钮被按下,否则,按钮没有被按下。将“数字读取引脚P0”嵌套在等式中
micro:bit造物粒子(基于Mind+)05— 变速风扇图10

STEP3:条件判断——怎样判断按钮是否按下?在“控制”模块中找到“如果那么执行,否则执行”指令。拖入脚本区的循环模块中。
micro:bit造物粒子(基于Mind+)05— 变速风扇图11

STEP4:将“ =  ”左右成立的条件指令嵌套到判断指令“如果那么执行,否则执行”中。
micro:bit造物粒子(基于Mind+)05— 变速风扇图12

STEP5:“microbit”模块中找到“设置数字引脚P0 输出 低电平”指令,将指令修改成“设置数字引脚P1 输出 高电平”和“设置数字引脚P1 输出 低电平”,分别放在“那么执行”和“否则执行”下面,当按钮按下之后,就会执行这个指令让风扇转起来。松开按钮的时候,风扇停止转动。
micro:bit造物粒子(基于Mind+)05— 变速风扇图13

任务二:变速风扇
实现功能
当旋钮旋至较大值时,micro:bit控制风扇转速增大;当旋钮旋至较小值时,micro:bit控制风扇转速变小。旋钮的旋转值不同,对应的风扇转速不同。
硬件连接
将任务一按钮风扇用到的按钮模块换成旋钮模块。
micro:bit造物粒子(基于Mind+)05— 变速风扇图14
编写程序
通过读取旋钮的值,来决定风扇转动的速度。旋钮的值为模拟值,取值范围在0-1023之间,将其值映射为风扇的速度值。
STEP1:旋钮连接板子的P0号引脚,单击“microbit”模块,选择“读取模拟引脚P0”指令,并拖到脚本区。
micro:bit造物粒子(基于Mind+)05— 变速风扇图15

STEP2:风扇的速度由P0对应的旋钮值决定,将P0的值赋值给P1,可以控制风扇速度的改变。Microbit板的读取模拟引脚(旋钮)的值范围是0-1023,比输出模拟(风扇)的范围0-255大,旋钮的参数范围远远超过了输出范围,除了可以使用“ /  (除号)”模块缩小范围,也可以使用“映射”指令,将0-1023的范围映射缩小到0-255。

将“运算符”模块中的“映射 从__到__”拖入脚本区,将“读取模拟引脚P0”放在“映射”两字的右侧框里,将数值改为“从 [0,1023] 到 [0,255]”。

注意:在高版本的Mind+(1.5.0及以上)中,模拟输出的范围调整为0-1023,因此不再需要使用映射到255。

micro:bit造物粒子(基于Mind+)05— 变速风扇图16
STEP3:将“microbit”模块中的“设置模拟引脚P0 输出 ”拖入脚本区的“循环执行”中,将P0改为P1。并两个指令嵌套在一起。
micro:bit造物粒子(基于Mind+)05— 变速风扇图17
能力提升
旋钮和按钮只能控制小等和风扇吗,能不能控制其他的硬件呢?编个程序旋钮或者按钮,控制点阵屏试试看吧。

更多课程,欢迎点击以下链接

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(10)
小火花73965
小火花73965
请问一下这个拓展板连接USB线但是在吗,mind+中没有相应的串口是怎么回事呀?
EVE
EVE
作者
回复小火花73965
可能是没装串口驱动,解决办法是在连接设备的那个地方点击“一键安装串口驱动”
哆啦a梦
哆啦a梦
请问用映射来做变速风扇,为什么不转呢?
EVE
EVE
作者
回复哆啦a梦
风扇需要的驱动力比较大,用手拨一下扇叶看看
1212122112
1212122112
adsasdadasdsadasda
啥子
啥子
学习了
373316737
373316737
6666666666666666666666666
373316737
373316737
6666666666666666666666666
373316737
373316737
6666666666666666666666666
绝地智者
绝地智者
厉害了,新手来顶一顶帖子,加油学习~
Nick-ccq
Nick-ccq
此版本为V1.5.5 因此不需要映射。
CHUXUEZHE
CHUXUEZHE回复CHUXUEZHE
已解决.
CHUXUEZHE
CHUXUEZHE回复Nick-ccq
我的版本是v1.7.1如果按照你的方式风扇会转动,但是没有办法通过旋钮实现变速,速度恒定不变的,请问是什么原因呢?
rzyzzxw
rzyzzxw
老师课程写得很棒。邀请你加入我们社群,一起玩bit吧。
EVE
EVE
作者
回复rzyzzxw
好的呀,感谢!已经加您啦
- 没有更多了 -